{
  "info": {
    "_postman_id": "ring2all-pbx-external-api",
    "name": "Ring2All PBX - 🌐 External API",
    "description": "# Ring2All PBX — Unified External API Collection\n\nOfficial REST API collection for **Ring2All PBX** (Class 5 Softswitch, Cloud PBX, AI Voice Agents, Contact Center, Call Recording, and Multi-Tenant Telephony).\n\n## 🏷️ Canonical Nomenclature\n- **Product**: Ring2All PBX\n- **Linux Package**: `softswitch` (`softswitch-api`, `softswitch-web`)\n\n## 🔐 Authentication\nUse the `X-API-Key` header on every HTTP request:\n```http\nX-API-Key: {{pbx_api_key}}\n```\n\nAlternatively, authenticate via JWT bearer token retrieved from `/auth/login`:\n```http\nAuthorization: Bearer {{jwt_token}}\n```",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-API-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{pbx_api_key}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "pbx_base_url",
      "value": "http://192.168.10.31/api"
    }
  ],
  "item": [
    {
      "name": "🔐 Authentication",
      "description": "# 🔐 Authentication Module\nManage access credentials and JWT sessions.\n\n### Security Mechanisms:\n1. **API Key (x-api-key)**: Recommended for external integrations. Bypasses JWT validation and maps requests directly to the tenant's database context.\n2. **JWT Bearer Tokens**: Used for user session-scoped actions. Retrieved by posting credentials to the login route.",
      "item": [
        {
          "name": "Login",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/auth/login",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "auth",
                "login"
              ]
            },
            "description": "Authenticate with email/password.\n\n**Headers:** `X-API-Key` or `tenant_id` query parameter",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"admin@example.com\",\n  \"password\": \"password\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200) {",
                  "    try {",
                  "        const res = pm.response.json();",
                  "        const token = res.token || res.data?.token || res.accessToken || res.data?.accessToken;",
                  "        if (token) {",
                  "            pm.environment.set(\"jwt_token\", token);",
                  "            console.log(\"Auto-captured PBX jwt_token\");",
                  "        }",
                  "    } catch(e) {}",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ]
        },
        {
          "name": "Refresh Token",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/auth/refresh",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "auth",
                "refresh"
              ]
            },
            "description": "Exchange refresh token for new access token.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"token\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Get Current User",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/auth/me",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "auth",
                "me"
              ]
            },
            "description": "Get authenticated user profile and permissions."
          }
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/auth/logout",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "auth",
                "logout"
              ]
            },
            "description": "Invalidate session."
          }
        }
      ]
    },
    {
      "name": "PBX > 📞 Extensions",
      "description": "# 📞 Extensions Module\nManage SIP User and Virtual Extensions. This represents the core dialing endpoint configurations.\n\n### Key Capabilities:\n- **Extensions CRUD**: Create, read, update, and delete SIP user extension directories.\n- **Multi-Device Support**: Map multiple physical softphones or IP desk phones to a single extension number.\n- **Voicemail Profiles**: Configure greetings, email attachment policies, transcription rules, and auto-cleanup.\n- **Caller ID Mapping**: Define outbound/inbound display names and numbers for internal or external routing.\n- **Licensing Constraint**: The system enforces your maximum license extension limits upon creation.",
      "item": [
        {
          "name": "Extensions CRUD",
          "item": [
            {
              "name": "List Extensions",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions"
                  ]
                },
                "description": "List all extensions with pagination and filtering.\n\n**Query Parameters:**\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `page` | number | 1 | Page number |\n| `limit` | number | 25 | Items per page (max: 200) |\n| `search` | string | - | Search by extension, name, email |\n| `enabled` | boolean | - | Filter by status |\n| `type` | string | - | Filter by type: user, virtual, parking |\n\n**Example Response:**\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1,\n      \"extension\": \"1001\",\n      \"enabled\": true,\n      \"type\": \"user\",\n      \"devices\": [...]\n    }\n  ],\n  \"meta\": { \"page\": 1, \"limit\": 25, \"total\": 150 }\n}\n```"
              }
            },
            {
              "name": "Get Extension",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "{{id}}"
                  ]
                },
                "description": "Get complete extension with devices, voicemail, and settings.\n\n**Response includes:**\n- Extension details\n- All registered devices\n- Voicemail configuration\n- All extension settings\n- Portal access status"
              }
            },
            {
              "name": "Get Next Available Number",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/next-number",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "next-number"
                  ]
                },
                "description": "Get the next available extension number.\n\n**Response:**\n```json\n{ \"success\": true, \"data\": { \"nextNumber\": \"1005\" } }\n```"
              }
            },
            {
              "name": "Create Extension",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions"
                  ]
                },
                "description": "Create a new SIP extension with optional devices and voicemail.\n\n**Required Fields:**\n- `extension` - The extension number (e.g., \"1001\")\n\n**Optional Fields:**\n- `enabled` - Enable/disable extension (default: true)\n- `type` - Extension type: user, virtual, parking\n- `maxCalls` - Maximum concurrent calls (default: 5)\n- `devices[]` - Array of SIP devices\n- `voicemail` - Voicemail configuration\n- `settings[]` - Array of extension settings\n- `portalEnabled` - Enable user portal access\n- `portalUser` - Portal username\n- `portalPassword` - Portal password\n\n**Device Object:**\n```json\n{\n  \"username\": \"1001\",\n  \"password\": \"SecurePass123!\",\n  \"type\": \"softphone\",\n  \"enabled\": true,\n  \"description\": \"Zoiper Softphone\"\n}\n```",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"extension\": \"1001\",\n  \"enabled\": true,\n  \"type\": \"user\",\n  \"maxCalls\": 5,\n  \"portalEnabled\": true,\n  \"portalUser\": \"user1001\",\n  \"portalPassword\": \"Pass123!\",\n  \"voicemailEnabled\": true,\n  \"devices\": [\n    {\n      \"username\": \"1001\",\n      \"password\": \"SipPass123!\",\n      \"type\": \"softphone\",\n      \"enabled\": true,\n      \"description\": \"Primary Softphone\"\n    }\n  ],\n  \"voicemail\": {\n    \"password\": \"1234\",\n    \"email\": \"user@example.com\",\n    \"notificationEnabled\": true,\n    \"attachFile\": true,\n    \"deleteAfterEmail\": false\n  },\n  \"settings\": [\n    {\n      \"name\": \"effective_caller_id_name\",\n      \"value\": \"John Doe\"\n    },\n    {\n      \"name\": \"effective_caller_id_number\",\n      \"value\": \"1001\"\n    },\n    {\n      \"name\": \"outbound_caller_id_name\",\n      \"value\": \"ACME Corp\"\n    },\n    {\n      \"name\": \"outbound_caller_id_number\",\n      \"value\": \"+15551234567\"\n    },\n    {\n      \"name\": \"record\",\n      \"value\": \"all\"\n    },\n    {\n      \"name\": \"call_timeout\",\n      \"value\": \"30\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Extension",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "{{id}}"
                  ]
                },
                "description": "Update an existing extension. Partial updates supported.\n\n**Note:** To update devices or settings, include the complete array.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"maxCalls\": 10,\n  \"settings\": [\n    {\n      \"name\": \"call_timeout\",\n      \"value\": \"45\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Extension",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ **Warning:** Permanently deletes the extension and all associated data:\n- All SIP devices\n- Voicemail messages\n- Call history references\n- Portal access\n\nThis action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Import/Export",
          "item": [
            {
              "name": "Export Extensions (CSV)",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/export",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "export"
                  ]
                },
                "description": "Download all extensions as CSV file.\n\n**Response:** CSV file with headers:\n`extension,name,email,type,enabled,caller_id_name,caller_id_number`"
              }
            },
            {
              "name": "Import Extensions (CSV)",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/import",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "import"
                  ]
                },
                "description": "Import extensions from CSV file.\n\n**Import Modes:**\n| Mode | Description |\n|------|-------------|\n| `skip` | Skip existing extensions |\n| `update` | Update existing, create new |\n| `replace` | Delete all and recreate |\n\n**CSV Format:**\n```\nextension,name,email,password,type,enabled\n1001,John Doe,john@example.com,Pass123!,user,true\n```",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"mode\": \"update\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Bulk Import (Large Files)",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/import-bulk",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "import-bulk"
                  ]
                },
                "description": "Optimized import for large CSV files (1000+ extensions).\n\nCreates a background job and returns immediately.\n\n**Response:**\n```json\n{ \"success\": true, \"data\": { \"jobId\": \"abc123\", \"status\": \"processing\" } }\n```",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"mode\": \"update\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "List Import Jobs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/import-jobs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "import-jobs"
                  ]
                },
                "description": "List all import jobs with their status."
              }
            },
            {
              "name": "Get Import Job Status",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/import-job/{{jobId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "import-job",
                    "{{jobId}}"
                  ]
                },
                "description": "Get status of a specific import job.\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"jobId\": \"abc123\",\n    \"status\": \"completed\",\n    \"total\": 500,\n    \"processed\": 500,\n    \"errors\": []\n  }\n}\n```"
              }
            }
          ]
        },
        {
          "name": "XML Configuration",
          "item": [
            {
              "name": "Get Extension XML",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extensions/{{id}}/xml",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extensions",
                    "{{id}}",
                    "xml"
                  ]
                },
                "description": "Get FreeSWITCH XML configuration for this extension.\n\nUsed for debugging and manual configuration verification."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 📱 Call Center",
      "description": "# 📱 Call Center & ACD Module\nConfigure Automatic Call Distribution (ACD) queues, agent status tracking, and call center flows.\n\n### Components:\n1. **Queues**: Inbound destinations with distribution strategies (ring-all, longest-idle-agent, round-robin, etc.).\n2. **Agents**: Members linked to extensions with ready states, status tracking (Break, Available), and queue assignment.\n3. **Callback Rules**: Missed call callback campaigns and VIP queue priorities.",
      "item": [
        {
          "name": "Queues",
          "item": [
            {
              "name": "List Queues",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queues",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queues"
                  ]
                },
                "description": "List all queues with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Queue",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queues/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queues",
                    "{{id}}"
                  ]
                },
                "description": "Get queue by ID with complete configuration."
              }
            },
            {
              "name": "Create Queue",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queues",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queues"
                  ]
                },
                "description": "Create new queue.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Support Queue\",\n  \"extension\": \"9001\",\n  \"strategy\": \"longest-idle-agent\",\n  \"maxWaitTime\": 300,\n  \"recordCalls\": true,\n  \"enabled\": true,\n  \"tiers\": [\n    {\n      \"agentId\": 1,\n      \"level\": 1,\n      \"position\": 1\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Queue",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queues/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queues",
                    "{{id}}"
                  ]
                },
                "description": "Update existing queue.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Queue",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queues/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queues",
                    "{{id}}"
                  ]
                },
                "description": "Delete queue.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Agents",
          "item": [
            {
              "name": "List Agents",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/agents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "agents"
                  ]
                },
                "description": "List all agents with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Agent",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "agents",
                    "{{id}}"
                  ]
                },
                "description": "Get agent by ID with complete configuration."
              }
            },
            {
              "name": "Create Agent",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/agents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "agents"
                  ]
                },
                "description": "Create new agent.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"extension\": \"1001\",\n  \"status\": \"Available\",\n  \"ready\": true,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Agent",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "agents",
                    "{{id}}"
                  ]
                },
                "description": "Update existing agent.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Agent",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "agents",
                    "{{id}}"
                  ]
                },
                "description": "Delete agent.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Queue Profiles",
          "item": [
            {
              "name": "List Queue Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-profiles"
                  ]
                },
                "description": "List all queue profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Queue Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get queue profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Queue Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-profiles"
                  ]
                },
                "description": "Create new queue profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Standard\",\n  \"maxNoAnswer\": 3,\n  \"maxNoAnswerDelayTime\": 5,\n  \"rejectDelayTime\": 60\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Queue Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing queue profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Queue Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete queue profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Callback Profiles",
          "item": [
            {
              "name": "List Callback Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-profiles"
                  ]
                },
                "description": "List all callback profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Callback Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get callback profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Callback Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-profiles"
                  ]
                },
                "description": "Create new callback profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Standard Callback\",\n  \"maxAttempts\": 3,\n  \"retryInterval\": 60,\n  \"expirationMinutes\": 120\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Callback Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing callback profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Callback Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete callback profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Callback Rules",
          "item": [
            {
              "name": "List Callback Rules",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-rules"
                  ]
                },
                "description": "List all callback rules with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Callback Rule",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-rules",
                    "{{id}}"
                  ]
                },
                "description": "Get callback rule by ID with complete configuration."
              }
            },
            {
              "name": "Create Callback Rule",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-rules"
                  ]
                },
                "description": "Create new callback rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Missed Call Callback\",\n  \"queueId\": 1,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Callback Rule",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-rules",
                    "{{id}}"
                  ]
                },
                "description": "Update existing callback rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Callback Rule",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callback-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callback-rules",
                    "{{id}}"
                  ]
                },
                "description": "Delete callback rule.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "VIP Lists",
          "item": [
            {
              "name": "List VIP Lists",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/vip-lists",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "vip-lists"
                  ]
                },
                "description": "List all vip lists with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get VIP List",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/vip-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "vip-lists",
                    "{{id}}"
                  ]
                },
                "description": "Get vip list by ID with complete configuration."
              }
            },
            {
              "name": "Create VIP List",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/vip-lists",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "vip-lists"
                  ]
                },
                "description": "Create new vip list.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"VIP Customers\",\n  \"numbers\": [\n    \"+15551234567\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update VIP List",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/vip-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "vip-lists",
                    "{{id}}"
                  ]
                },
                "description": "Update existing vip list.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete VIP List",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/vip-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "vip-lists",
                    "{{id}}"
                  ]
                },
                "description": "Delete vip list.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Priority Routing",
          "item": [
            {
              "name": "List Priority Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing"
                  ]
                },
                "description": "List all priority routing entries with pagination."
              }
            },
            {
              "name": "Priority Routes Select",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/select",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "select"
                  ]
                },
                "description": "Get priority routes for dropdown selection."
              }
            },
            {
              "name": "Get Priority Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create Priority Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"VIP Priority\",\n  \"pattern\": \"+1555*\",\n  \"priority\": 1,\n  \"queueId\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Priority Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Priority Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Toggle Priority Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}/toggle",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}",
                    "toggle"
                  ]
                },
                "description": "Toggle enabled/disabled status."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 🔔 Applications",
      "description": "# 🔔 PBX Applications\nManage internal dialable applications.\n\n### Sub-modules:\n- **Ring Groups**: Ring multiple endpoints at once or sequentially.\n- **IVR Auto-Attendant**: Audio or Text-to-Speech (TTS) interactive menus mapping caller DTMF key presses to destinations.\n- **Conferences**: Dedicated meeting bridges with Moderator/Participant PIN codes.\n- **Announcements**: Audio greetings or warnings before routing or hanging up calls.\n- **Music on Hold (MOH)**: Custom audio classes and files streamed to waiting callers.\n- **Custom Applications**: Register custom Lua dialplan scripts.",
      "item": [
        {
          "name": "Ring Groups",
          "item": [
            {
              "name": "List Ring Groups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ring-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ring-groups"
                  ]
                },
                "description": "List all ring groups with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Ring Group",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ring-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ring-groups",
                    "{{id}}"
                  ]
                },
                "description": "Get ring group by ID with complete configuration."
              }
            },
            {
              "name": "Create Ring Group",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ring-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ring-groups"
                  ]
                },
                "description": "Create new ring group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Sales Team\",\n  \"extension\": \"6001\",\n  \"strategy\": \"simultaneous\",\n  \"ringTime\": 30,\n  \"enabled\": true,\n  \"members\": [\n    {\n      \"extensionId\": 1,\n      \"delay\": 0\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Ring Group",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ring-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ring-groups",
                    "{{id}}"
                  ]
                },
                "description": "Update existing ring group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Ring Group",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ring-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ring-groups",
                    "{{id}}"
                  ]
                },
                "description": "Delete ring group.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "IVR Menus",
          "item": [
            {
              "name": "List IVRs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs"
                  ]
                },
                "description": "List all ivrs with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get IVR",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs",
                    "{{id}}"
                  ]
                },
                "description": "Get ivr by ID with complete configuration."
              }
            },
            {
              "name": "Create IVR",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs"
                  ]
                },
                "description": "Create new ivr.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Main Menu\",\n  \"extension\": \"5000\",\n  \"greetingType\": \"tts\",\n  \"greetingMessage\": \"Press 1 for sales.\",\n  \"timeout\": 5,\n  \"enabled\": true,\n  \"options\": [\n    {\n      \"digit\": \"1\",\n      \"destinationType\": \"ring_group\",\n      \"destination\": \"6001\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update IVR",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs",
                    "{{id}}"
                  ]
                },
                "description": "Update existing ivr.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete IVR",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs",
                    "{{id}}"
                  ]
                },
                "description": "Delete ivr.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get IVR Quicklist",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ivrs/quicklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ivrs",
                    "quicklist"
                  ]
                },
                "description": "Get simplified IVR list for dropdowns."
              }
            }
          ]
        },
        {
          "name": "Conferences",
          "item": [
            {
              "name": "List Conferences",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences"
                  ]
                },
                "description": "List all conferences with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Conference",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences",
                    "{{id}}"
                  ]
                },
                "description": "Get conference by ID with complete configuration."
              }
            },
            {
              "name": "Create Conference",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences"
                  ]
                },
                "description": "Create new conference.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Meeting Room\",\n  \"extension\": \"8500\",\n  \"moderatorPin\": \"1234\",\n  \"participantPin\": \"5678\",\n  \"maxMembers\": 25,\n  \"recordEnabled\": true,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Conference",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences",
                    "{{id}}"
                  ]
                },
                "description": "Update existing conference.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Conference",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences",
                    "{{id}}"
                  ]
                },
                "description": "Delete conference.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get Conference Quicklist",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences/quicklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences",
                    "quicklist"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Conference XML",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conferences/{{id}}/xml",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conferences",
                    "{{id}}",
                    "xml"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Conference Profiles",
          "item": [
            {
              "name": "List Conference Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conference-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conference-profiles"
                  ]
                },
                "description": "List all conference profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Conference Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conference-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conference-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get conference profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Conference Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conference-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conference-profiles"
                  ]
                },
                "description": "Create new conference profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Conference Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Conference Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conference-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conference-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing conference profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Conference Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/conference-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "conference-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete conference profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Parking Lots",
          "item": [
            {
              "name": "List Parking Lots",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/parking-lots",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "parking-lots"
                  ]
                },
                "description": "List all parking lots with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Parking Lot",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/parking-lots/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "parking-lots",
                    "{{id}}"
                  ]
                },
                "description": "Get parking lot by ID with complete configuration."
              }
            },
            {
              "name": "Create Parking Lot",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/parking-lots",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "parking-lots"
                  ]
                },
                "description": "Create new parking lot.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Main Parking\",\n  \"extension\": \"70\",\n  \"startSlot\": 701,\n  \"endSlot\": 710,\n  \"timeout\": 120\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Parking Lot",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/parking-lots/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "parking-lots",
                    "{{id}}"
                  ]
                },
                "description": "Update existing parking lot.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Parking Lot",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/parking-lots/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "parking-lots",
                    "{{id}}"
                  ]
                },
                "description": "Delete parking lot.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Paging Groups",
          "item": [
            {
              "name": "List Paging Groups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/paging-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "paging-groups"
                  ]
                },
                "description": "List all paging groups with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Paging Group",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/paging-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "paging-groups",
                    "{{id}}"
                  ]
                },
                "description": "Get paging group by ID with complete configuration."
              }
            },
            {
              "name": "Create Paging Group",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/paging-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "paging-groups"
                  ]
                },
                "description": "Create new paging group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"All Phones\",\n  \"extension\": \"7000\",\n  \"members\": [\n    1,\n    2,\n    3\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Paging Group",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/paging-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "paging-groups",
                    "{{id}}"
                  ]
                },
                "description": "Update existing paging group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Paging Group",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/paging-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "paging-groups",
                    "{{id}}"
                  ]
                },
                "description": "Delete paging group.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Pickup Groups",
          "item": [
            {
              "name": "List Pickup Groups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pickup-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pickup-groups"
                  ]
                },
                "description": "List all pickup groups with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Pickup Group",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pickup-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pickup-groups",
                    "{{id}}"
                  ]
                },
                "description": "Get pickup group by ID with complete configuration."
              }
            },
            {
              "name": "Create Pickup Group",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pickup-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pickup-groups"
                  ]
                },
                "description": "Create new pickup group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Sales Pickup\",\n  \"code\": \"*8\",\n  \"members\": [\n    1,\n    2\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Pickup Group",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pickup-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pickup-groups",
                    "{{id}}"
                  ]
                },
                "description": "Update existing pickup group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Pickup Group",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pickup-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pickup-groups",
                    "{{id}}"
                  ]
                },
                "description": "Delete pickup group.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Announcements",
          "item": [
            {
              "name": "List Announcements",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/announcements",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "announcements"
                  ]
                },
                "description": "List all announcements with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Announcement",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/announcements/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "announcements",
                    "{{id}}"
                  ]
                },
                "description": "Get announcement by ID with complete configuration."
              }
            },
            {
              "name": "Create Announcement",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/announcements",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "announcements"
                  ]
                },
                "description": "Create new announcement.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Welcome\",\n  \"type\": \"tts\",\n  \"message\": \"Welcome to our company.\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Announcement",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/announcements/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "announcements",
                    "{{id}}"
                  ]
                },
                "description": "Update existing announcement.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Announcement",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/announcements/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "announcements",
                    "{{id}}"
                  ]
                },
                "description": "Delete announcement.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Music on Hold",
          "item": [
            {
              "name": "List MOH Sources",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources"
                  ]
                },
                "description": "List all moh sources with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get MOH Source",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}"
                  ]
                },
                "description": "Get moh source by ID with complete configuration."
              }
            },
            {
              "name": "Create MOH Source",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources"
                  ]
                },
                "description": "Create new moh source.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Default Music\",\n  \"className\": \"default\",\n  \"sourceType\": \"file\",\n  \"shuffle\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update MOH Source",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}"
                  ]
                },
                "description": "Update existing moh source.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete MOH Source",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}"
                  ]
                },
                "description": "Delete moh source.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get MOH XML Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}/xml",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}",
                    "xml"
                  ]
                },
                "description": "Get MOH source FreeSWITCH XML configuration."
              }
            },
            {
              "name": "Stream MOH File",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}/file/{{filename}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}",
                    "file",
                    "{{filename}}"
                  ]
                },
                "description": "Stream audio file from MOH source."
              }
            },
            {
              "name": "Get MOH File Info",
              "request": {
                "method": "HEAD",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/moh-sources/{{id}}/file/{{filename}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "moh-sources",
                    "{{id}}",
                    "file",
                    "{{filename}}"
                  ]
                },
                "description": "Get file headers (size, content-type) without downloading."
              }
            }
          ]
        },
        {
          "name": "Voice Guides",
          "item": [
            {
              "name": "List Voice Guides",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides"
                  ]
                },
                "description": "List all voice guides with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Voice Guide",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "{{id}}"
                  ]
                },
                "description": "Get voice guide by ID with complete configuration."
              }
            },
            {
              "name": "Create Voice Guide",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides"
                  ]
                },
                "description": "Create new voice guide.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Voice Guide\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Voice Guide",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "{{id}}"
                  ]
                },
                "description": "Update existing voice guide.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Voice Guide",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "{{id}}"
                  ]
                },
                "description": "Delete voice guide.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Custom Applications",
          "item": [
            {
              "name": "List Custom Applications",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications"
                  ]
                },
                "description": "List all custom applications with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Custom Application",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications",
                    "{{id}}"
                  ]
                },
                "description": "Get custom application by ID with complete configuration."
              }
            },
            {
              "name": "Create Custom Application",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications"
                  ]
                },
                "description": "Create new custom application.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Custom App\",\n  \"extension\": \"9999\",\n  \"script\": \"custom.lua\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Custom Application",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications",
                    "{{id}}"
                  ]
                },
                "description": "Update existing custom application.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Custom Application",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications",
                    "{{id}}"
                  ]
                },
                "description": "Delete custom application.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get Destination Modules",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/custom-applications/destination-modules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "custom-applications",
                    "destination-modules"
                  ]
                },
                "description": "Get available destination modules for custom application routing."
              }
            }
          ]
        },
        {
          "name": "Call Flows",
          "item": [
            {
              "name": "List Call Flows",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-flows",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-flows"
                  ]
                },
                "description": "List all call flows with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Call Flow",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-flows/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-flows",
                    "{{id}}"
                  ]
                },
                "description": "Get call flow by ID with complete configuration."
              }
            },
            {
              "name": "Create Call Flow",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-flows",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-flows"
                  ]
                },
                "description": "Create new call flow.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Call Flow\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Call Flow",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-flows/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-flows",
                    "{{id}}"
                  ]
                },
                "description": "Update existing call flow.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Call Flow",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-flows/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-flows",
                    "{{id}}"
                  ]
                },
                "description": "Delete call flow.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 🛤️ Routing",
      "description": "# 🛤️ Calls Routing & Trunks\nManage carrier connections (Trunks) and rules for call routing.\n\n### Key Components:\n- **Gateways (SIP Trunks)**: Connect the Ring2All PBX to upstream carrier registrars.\n- **Inbound Routes**: Map incoming DIDs to local extensions, queues, IVRs, or ring groups.\n- **Outbound Routes**: Define dial patterns, strip digits, and map outbound calls to carrier gateways.\n- **Time Groups & Conditions**: Schedule-based routing rules (e.g. open vs closed hours).\n- **ARS**: Automatic Route Selection for carrier failover routing.",
      "item": [
        {
          "name": "Gateways (Trunks)",
          "item": [
            {
              "name": "List Gateways",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways"
                  ]
                },
                "description": "List all SIP gateways/trunks with their status."
              }
            },
            {
              "name": "Get Gateway",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}"
                  ]
                },
                "description": "Get gateway configuration and current status."
              }
            },
            {
              "name": "List SIP Profiles for Gateways",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "sip-profiles"
                  ]
                },
                "description": "Get available SIP profiles (external, internal) for gateway assignment."
              }
            },
            {
              "name": "Create Gateway",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways"
                  ]
                },
                "description": "Create a new SIP gateway/trunk.\n\n**Required Fields:**\n- `name` - Gateway display name\n- `proxy` - SIP server address\n\n**Optional Fields:**\n- `username` - SIP auth username\n- `password` - SIP auth password\n- `register` - Enable SIP registration\n- `codecString` - Codec priority list\n- `sipProfileId` - SIP profile to use",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"VoIP Provider\",\n  \"proxy\": \"sip.provider.com\",\n  \"username\": \"account\",\n  \"password\": \"secret\",\n  \"register\": true,\n  \"codecString\": \"PCMU,PCMA,G729\",\n  \"sipProfileId\": 1,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Gateway",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}"
                  ]
                },
                "description": "Update gateway configuration.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"codecString\": \"G729,PCMU\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Gateway",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Delete gateway. Outbound routes using this gateway will fail."
              }
            },
            {
              "name": "Get Gateway Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}",
                    "settings"
                  ]
                },
                "description": "Get advanced gateway settings (JSONB)."
              }
            },
            {
              "name": "Update Gateway Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}",
                    "settings"
                  ]
                },
                "description": "Update advanced gateway settings.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"caller-id-in-from\": true,\n  \"contact-params\": \"tport=tcp\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Test Gateway",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}/test",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}",
                    "test"
                  ]
                },
                "description": "Test gateway connectivity.\n\nAttempts a SIP OPTIONS ping to verify the gateway is reachable."
              }
            },
            {
              "name": "Reload Gateway",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}/reload",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}",
                    "reload"
                  ]
                },
                "description": "Reload gateway configuration in FreeSWITCH."
              }
            },
            {
              "name": "Stop Gateway",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateways/{{id}}/stop",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateways",
                    "{{id}}",
                    "stop"
                  ]
                },
                "description": "Stop/unload gateway from FreeSWITCH."
              }
            }
          ]
        },
        {
          "name": "Inbound Routes",
          "item": [
            {
              "name": "List Inbound Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/inbound-routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "inbound-routes"
                  ]
                },
                "description": "List all inbound routes with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Inbound Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/inbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "inbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Get inbound route by ID with complete configuration."
              }
            },
            {
              "name": "Create Inbound Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/inbound-routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "inbound-routes"
                  ]
                },
                "description": "Create new inbound route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Main Number\",\n  \"didNumber\": \"+15551234567\",\n  \"destinationType\": \"ivr\",\n  \"destination\": \"5000\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Inbound Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/inbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "inbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Update existing inbound route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Inbound Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/inbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "inbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Delete inbound route.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Outbound Routes",
          "item": [
            {
              "name": "List Outbound Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/outbound-routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "outbound-routes"
                  ]
                },
                "description": "List all outbound routes with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Outbound Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/outbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "outbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Get outbound route by ID with complete configuration."
              }
            },
            {
              "name": "Create Outbound Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/outbound-routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "outbound-routes"
                  ]
                },
                "description": "Create new outbound route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Local Calls\",\n  \"pattern\": \"^9([2-9]\\\\d{6})$\",\n  \"stripDigits\": 1,\n  \"gateways\": [\n    {\n      \"gatewayId\": 1,\n      \"priority\": 1\n    }\n  ],\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Outbound Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/outbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "outbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Update existing outbound route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Outbound Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/outbound-routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "outbound-routes",
                    "{{id}}"
                  ]
                },
                "description": "Delete outbound route.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Time Conditions",
          "item": [
            {
              "name": "List Time Conditions",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-conditions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-conditions"
                  ]
                },
                "description": "List all time conditions with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Time Condition",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-conditions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-conditions",
                    "{{id}}"
                  ]
                },
                "description": "Get time condition by ID with complete configuration."
              }
            },
            {
              "name": "Create Time Condition",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-conditions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-conditions"
                  ]
                },
                "description": "Create new time condition.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Time Condition\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Time Condition",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-conditions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-conditions",
                    "{{id}}"
                  ]
                },
                "description": "Update existing time condition.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Time Condition",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-conditions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-conditions",
                    "{{id}}"
                  ]
                },
                "description": "Delete time condition.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Time Groups",
          "item": [
            {
              "name": "List Time Groups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-groups"
                  ]
                },
                "description": "List all time groups with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Time Group",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-groups",
                    "{{id}}"
                  ]
                },
                "description": "Get time group by ID with complete configuration."
              }
            },
            {
              "name": "Create Time Group",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-groups"
                  ]
                },
                "description": "Create new time group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Business Hours\",\n  \"settings\": {\n    \"monday\": {\n      \"start\": \"09:00\",\n      \"end\": \"17:00\"\n    }\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Time Group",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-groups",
                    "{{id}}"
                  ]
                },
                "description": "Update existing time group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Time Group",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/time-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "time-groups",
                    "{{id}}"
                  ]
                },
                "description": "Delete time group.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "ARS (Route Selection)",
          "item": [
            {
              "name": "List ARS",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ars",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ars"
                  ]
                },
                "description": "List all ars with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get ARS",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ars/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ars",
                    "{{id}}"
                  ]
                },
                "description": "Get ar by ID with complete configuration."
              }
            },
            {
              "name": "Create ARS",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ars",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ars"
                  ]
                },
                "description": "Create new ar.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New ARS\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update ARS",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ars/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ars",
                    "{{id}}"
                  ]
                },
                "description": "Update existing ar.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete ARS",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ars/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ars",
                    "{{id}}"
                  ]
                },
                "description": "Delete ar.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Direct Dial",
          "item": [
            {
              "name": "List Direct Dial",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-dial",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-dial"
                  ]
                },
                "description": "List all direct dial with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Direct Dial",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-dial/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-dial",
                    "{{id}}"
                  ]
                },
                "description": "Get direct dial by ID with complete configuration."
              }
            },
            {
              "name": "Create Direct Dial",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-dial",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-dial"
                  ]
                },
                "description": "Create new direct dial.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Direct Dial\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Direct Dial",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-dial/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-dial",
                    "{{id}}"
                  ]
                },
                "description": "Update existing direct dial.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Direct Dial",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-dial/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-dial",
                    "{{id}}"
                  ]
                },
                "description": "Delete direct dial.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Direct Route",
          "item": [
            {
              "name": "List Direct Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-route",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-route"
                  ]
                },
                "description": "List all direct route with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Direct Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-route/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-route",
                    "{{id}}"
                  ]
                },
                "description": "Get direct route by ID with complete configuration."
              }
            },
            {
              "name": "Create Direct Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-route",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-route"
                  ]
                },
                "description": "Create new direct route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Direct Route\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Direct Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-route/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-route",
                    "{{id}}"
                  ]
                },
                "description": "Update existing direct route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Direct Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/direct-route/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "direct-route",
                    "{{id}}"
                  ]
                },
                "description": "Delete direct route.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Dynamic Routing",
          "item": [
            {
              "name": "Get Dynamic Routing Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/config",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "config"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Dynamic Routing Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/config",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "config"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"digitsMatch\": 4\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "List Pending Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/pending",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "pending"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Pending Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/pending/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "pending",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Dynamic Destinations",
          "item": [
            {
              "name": "List Dynamic Destinations",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-destinations",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-destinations"
                  ]
                },
                "description": "List all dynamic destinations with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Dynamic Destination",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-destinations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-destinations",
                    "{{id}}"
                  ]
                },
                "description": "Get dynamic destination by ID with complete configuration."
              }
            },
            {
              "name": "Create Dynamic Destination",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-destinations",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-destinations"
                  ]
                },
                "description": "Create new dynamic destination.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Dynamic Destination\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dynamic Destination",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-destinations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-destinations",
                    "{{id}}"
                  ]
                },
                "description": "Update existing dynamic destination.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Dynamic Destination",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-destinations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-destinations",
                    "{{id}}"
                  ]
                },
                "description": "Delete dynamic destination.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Priority Routing",
          "item": [
            {
              "name": "List Priority Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing"
                  ]
                },
                "description": "List all priority routes with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Priority Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": "Get priority route by ID with complete configuration."
              }
            },
            {
              "name": "Create Priority Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing"
                  ]
                },
                "description": "Create new priority route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"VIP Routing\",\n  \"pattern\": \"+1555*\",\n  \"priority\": 1,\n  \"gatewayId\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Priority Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": "Update existing priority route.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Priority Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/priority-routing/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "priority-routing",
                    "{{id}}"
                  ]
                },
                "description": "Delete priority route.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 📥 Incoming Tools",
      "description": "# 📥 Incoming Call Tools\nSecurity and filtering options for inbound calls.\n\n### Features:\n- **Blacklists**: Block specific spam or caller ID numbers at the firewall level.\n- **CID Modifiers**: Format incoming CLI strings (e.g. prepend country codes).\n- **Caller ID Lookup**: Integrate HTTP lookups to CRM APIs to retrieve customer names in real-time.\n- **PIN Lists**: Password protect specific dial routes.\n- **DISA**: Direct Inward System Access. Dial into the PBX externally to place outbound calls.",
      "item": [
        {
          "name": "Blacklist",
          "item": [
            {
              "name": "List Blacklist Entries",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/blacklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "blacklist"
                  ]
                },
                "description": "List all blacklist entries with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Blacklist Entrie",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/blacklist/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "blacklist",
                    "{{id}}"
                  ]
                },
                "description": "Get blacklist entrie by ID with complete configuration."
              }
            },
            {
              "name": "Create Blacklist Entrie",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/blacklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "blacklist"
                  ]
                },
                "description": "Create new blacklist entrie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"+15559999999\",\n  \"description\": \"Spam caller\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Blacklist Entrie",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/blacklist/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "blacklist",
                    "{{id}}"
                  ]
                },
                "description": "Update existing blacklist entrie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Blacklist Entrie",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/blacklist/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "blacklist",
                    "{{id}}"
                  ]
                },
                "description": "Delete blacklist entrie.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "CID Modifiers",
          "item": [
            {
              "name": "List CID Modifiers",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cid-modifiers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cid-modifiers"
                  ]
                },
                "description": "List all cid modifiers with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get CID Modifier",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cid-modifiers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cid-modifiers",
                    "{{id}}"
                  ]
                },
                "description": "Get cid modifier by ID with complete configuration."
              }
            },
            {
              "name": "Create CID Modifier",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cid-modifiers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cid-modifiers"
                  ]
                },
                "description": "Create new cid modifier.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Add Country Code\",\n  \"pattern\": \"^([0-9]+)$\",\n  \"replacement\": \"+1$1\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update CID Modifier",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cid-modifiers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cid-modifiers",
                    "{{id}}"
                  ]
                },
                "description": "Update existing cid modifier.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete CID Modifier",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cid-modifiers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cid-modifiers",
                    "{{id}}"
                  ]
                },
                "description": "Delete cid modifier.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "CallerID Lookup Sources",
          "item": [
            {
              "name": "List CallerID Lookup Sources",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callerid-lookup-sources",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callerid-lookup-sources"
                  ]
                },
                "description": "List all callerid lookup sources with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get CallerID Lookup Source",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callerid-lookup-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callerid-lookup-sources",
                    "{{id}}"
                  ]
                },
                "description": "Get callerid lookup source by ID with complete configuration."
              }
            },
            {
              "name": "Create CallerID Lookup Source",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callerid-lookup-sources",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callerid-lookup-sources"
                  ]
                },
                "description": "Create new callerid lookup source.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"CRM Lookup\",\n  \"type\": \"http\",\n  \"url\": \"https://api.example.com/lookup?number=${caller_id}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update CallerID Lookup Source",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callerid-lookup-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callerid-lookup-sources",
                    "{{id}}"
                  ]
                },
                "description": "Update existing callerid lookup source.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete CallerID Lookup Source",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/callerid-lookup-sources/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "callerid-lookup-sources",
                    "{{id}}"
                  ]
                },
                "description": "Delete callerid lookup source.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "PIN Lists",
          "item": [
            {
              "name": "List PIN Lists",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists"
                  ]
                },
                "description": "List all pin lists with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get PIN List",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists",
                    "{{id}}"
                  ]
                },
                "description": "Get pin list by ID with complete configuration."
              }
            },
            {
              "name": "Create PIN List",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists"
                  ]
                },
                "description": "Create new pin list.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Staff PINs\",\n  \"members\": [\n    {\n      \"pin\": \"1234\",\n      \"description\": \"John\"\n    },\n    {\n      \"pin\": \"5678\",\n      \"description\": \"Jane\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update PIN List",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists",
                    "{{id}}"
                  ]
                },
                "description": "Update existing pin list.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete PIN List",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists",
                    "{{id}}"
                  ]
                },
                "description": "Delete pin list.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Export PIN Lists",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists/export",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists",
                    "export"
                  ]
                },
                "description": "Export PIN lists as CSV."
              }
            },
            {
              "name": "Import PIN Lists",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pin-lists/import",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pin-lists",
                    "import"
                  ]
                },
                "description": "Import PIN lists from CSV.\n\n**Modes:**\n- `skip` - Skip existing\n- `update` - Update existing\n- `replace` - Delete all and recreate",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"csvContent\": \"name,pin,description\\nStaff,1234,John\",\n  \"mode\": \"update\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Authorization Codes",
          "item": [
            {
              "name": "List Authorization Codes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authorization-codes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authorization-codes"
                  ]
                },
                "description": "List all authorization codes with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Authorization Code",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authorization-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authorization-codes",
                    "{{id}}"
                  ]
                },
                "description": "Get authorization code by ID with complete configuration."
              }
            },
            {
              "name": "Create Authorization Code",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authorization-codes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authorization-codes"
                  ]
                },
                "description": "Create new authorization code.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"12345\",\n  \"description\": \"Sales Team\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Authorization Code",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authorization-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authorization-codes",
                    "{{id}}"
                  ]
                },
                "description": "Update existing authorization code.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Authorization Code",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authorization-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authorization-codes",
                    "{{id}}"
                  ]
                },
                "description": "Delete authorization code.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "DISA Entries",
          "item": [
            {
              "name": "List DISA Entries",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/disa-entries",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "disa-entries"
                  ]
                },
                "description": "List all disa entries with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get DISA Entrie",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/disa-entries/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "disa-entries",
                    "{{id}}"
                  ]
                },
                "description": "Get disa entrie by ID with complete configuration."
              }
            },
            {
              "name": "Create DISA Entrie",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/disa-entries",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "disa-entries"
                  ]
                },
                "description": "Create new disa entrie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Remote Access\",\n  \"extension\": \"9000\",\n  \"pin\": \"1234\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update DISA Entrie",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/disa-entries/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "disa-entries",
                    "{{id}}"
                  ]
                },
                "description": "Update existing disa entrie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete DISA Entrie",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/disa-entries/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "disa-entries",
                    "{{id}}"
                  ]
                },
                "description": "Delete disa entrie.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Authentication Rules",
          "item": [
            {
              "name": "List Authentication Rules",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authentication-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authentication-rules"
                  ]
                },
                "description": "List all authentication rules with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Authentication Rule",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authentication-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authentication-rules",
                    "{{id}}"
                  ]
                },
                "description": "Get authentication rule by ID with complete configuration."
              }
            },
            {
              "name": "Create Authentication Rule",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authentication-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authentication-rules"
                  ]
                },
                "description": "Create new authentication rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Office IP\",\n  \"ipAddress\": \"192.168.1.0/24\",\n  \"action\": \"allow\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Authentication Rule",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authentication-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authentication-rules",
                    "{{id}}"
                  ]
                },
                "description": "Update existing authentication rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Authentication Rule",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/authentication-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "authentication-rules",
                    "{{id}}"
                  ]
                },
                "description": "Delete authentication rule.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 🔒 Class of Service",
      "description": "# 🔒 Class of Service & Permissions\nConfigure dialing restrictions and permission rules for extensions.\n\n### Features:\n- **Class of Service (CoS)**: Define permission sets (e.g. restrict international calls, allow local calls).\n- **Feature Codes**: System shortcuts (e.g. dial *72 to configure call forwarding).\n- **Customer & Authorization Codes**: Log call billing to specific codes.",
      "item": [
        {
          "name": "Class of Services",
          "item": [
            {
              "name": "List Class of Services",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/class-of-services",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "class-of-services"
                  ]
                },
                "description": "List all class of services with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Class of Service",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/class-of-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "class-of-services",
                    "{{id}}"
                  ]
                },
                "description": "Get class of service by ID with complete configuration."
              }
            },
            {
              "name": "Create Class of Service",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/class-of-services",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "class-of-services"
                  ]
                },
                "description": "Create new class of service.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Standard User\",\n  \"allowInternational\": false,\n  \"allowLocal\": true,\n  \"allowInternal\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Class of Service",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/class-of-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "class-of-services",
                    "{{id}}"
                  ]
                },
                "description": "Update existing class of service.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Class of Service",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/class-of-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "class-of-services",
                    "{{id}}"
                  ]
                },
                "description": "Delete class of service.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Dial Profiles",
          "item": [
            {
              "name": "List Dial Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-profiles"
                  ]
                },
                "description": "List all dial profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Dial Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get dial profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Dial Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-profiles"
                  ]
                },
                "description": "Create new dial profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Dial Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dial Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing dial profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Dial Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete dial profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Dial Rule Restrictions",
          "item": [
            {
              "name": "List Dial Restrictions",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-rule-restrictions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-rule-restrictions"
                  ]
                },
                "description": "List all dial restrictions with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Dial Restriction",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-rule-restrictions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-rule-restrictions",
                    "{{id}}"
                  ]
                },
                "description": "Get dial restriction by ID with complete configuration."
              }
            },
            {
              "name": "Create Dial Restriction",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-rule-restrictions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-rule-restrictions"
                  ]
                },
                "description": "Create new dial restriction.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Block 900\",\n  \"pattern\": \"^9900\",\n  \"action\": \"deny\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dial Restriction",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-rule-restrictions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-rule-restrictions",
                    "{{id}}"
                  ]
                },
                "description": "Update existing dial restriction.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Dial Restriction",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dial-rule-restrictions/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dial-rule-restrictions",
                    "{{id}}"
                  ]
                },
                "description": "Delete dial restriction.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Feature Codes",
          "item": [
            {
              "name": "List Feature Codes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-codes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-codes"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Feature Code",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-codes",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Feature Code",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-codes",
                    "{{id}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"code\": \"*72\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Feature Categories",
          "item": [
            {
              "name": "List Feature Categories",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-categories",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-categories"
                  ]
                },
                "description": "List all feature categories with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Feature Categorie",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-categories/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-categories",
                    "{{id}}"
                  ]
                },
                "description": "Get feature categorie by ID with complete configuration."
              }
            },
            {
              "name": "Create Feature Categorie",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-categories",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-categories"
                  ]
                },
                "description": "Create new feature categorie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Feature Categorie\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Feature Categorie",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-categories/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-categories",
                    "{{id}}"
                  ]
                },
                "description": "Update existing feature categorie.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Feature Categorie",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/feature-categories/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "feature-categories",
                    "{{id}}"
                  ]
                },
                "description": "Delete feature categorie.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 🔧 Tools",
      "description": "# 🔧 PBX Utilities & Tools\nMaintenance tools, speed dials, mac address matching, and bulk updates.\n\n### Capabilities:\n- **Speed Dials**: Program shorthand dialing codes.\n- **Hot Desking**: Provision physical MAC addresses to extensions dynamically.\n- **Cron Profiles**: Schedule recurring tasks and system cleanups.\n- **Bulk Modification**: Perform batch edits on extensions.",
      "item": [
        {
          "name": "Speed Dials",
          "item": [
            {
              "name": "List Speed Dials",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials"
                  ]
                },
                "description": "List all speed dials with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Speed Dial",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials",
                    "{{id}}"
                  ]
                },
                "description": "Get speed dial by ID with complete configuration."
              }
            },
            {
              "name": "Create Speed Dial",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials"
                  ]
                },
                "description": "Create new speed dial.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"1\",\n  \"destination\": \"+15551234567\",\n  \"name\": \"Emergency\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Speed Dial",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials",
                    "{{id}}"
                  ]
                },
                "description": "Update existing speed dial.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Speed Dial",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials",
                    "{{id}}"
                  ]
                },
                "description": "Delete speed dial.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Export Speed Dials",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials/export",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials",
                    "export"
                  ]
                },
                "description": "Export all speed dials as CSV."
              }
            },
            {
              "name": "Import Speed Dials",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/speed-dials/import",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "speed-dials",
                    "import"
                  ]
                },
                "description": "Import speed dials from CSV.\n\n**CSV Format:**\n`code,destination,name`",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"csvContent\": \"1,+15551234567,Emergency\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Hot Desking",
          "item": [
            {
              "name": "List Hot Desk Devices",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking"
                  ]
                },
                "description": "List all hot desk devices with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Hot Desk Device",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking",
                    "{{id}}"
                  ]
                },
                "description": "Get hot desk device by ID with complete configuration."
              }
            },
            {
              "name": "Create Hot Desk Device",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking"
                  ]
                },
                "description": "Create new hot desk device.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Hot Desk Device\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Hot Desk Device",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking",
                    "{{id}}"
                  ]
                },
                "description": "Update existing hot desk device.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Hot Desk Device",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking",
                    "{{id}}"
                  ]
                },
                "description": "Delete hot desk device.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get Device XML Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/hot-desking/{{id}}/xml",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "hot-desking",
                    "{{id}}",
                    "xml"
                  ]
                },
                "description": "Get XML configuration for hot desk device provisioning."
              }
            }
          ]
        },
        {
          "name": "Cron Profiles",
          "item": [
            {
              "name": "List Cron Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cron-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cron-profiles"
                  ]
                },
                "description": "List all cron profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Cron Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cron-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cron-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get cron profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Cron Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cron-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cron-profiles"
                  ]
                },
                "description": "Create new cron profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Nightly Backup\",\n  \"schedule\": \"0 2 * * *\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Cron Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cron-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cron-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing cron profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Cron Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cron-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cron-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete cron profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Customer Codes",
          "item": [
            {
              "name": "List Customer Codes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/customer-codes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "customer-codes"
                  ]
                },
                "description": "List all customer codes with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Customer Code",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/customer-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "customer-codes",
                    "{{id}}"
                  ]
                },
                "description": "Get customer code by ID with complete configuration."
              }
            },
            {
              "name": "Create Customer Code",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/customer-codes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "customer-codes"
                  ]
                },
                "description": "Create new customer code.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"12345\",\n  \"customerName\": \"ACME Corp\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Customer Code",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/customer-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "customer-codes",
                    "{{id}}"
                  ]
                },
                "description": "Update existing customer code.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Customer Code",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/customer-codes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "customer-codes",
                    "{{id}}"
                  ]
                },
                "description": "Delete customer code.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Bulk Modification",
          "item": [
            {
              "name": "Bulk Update Extensions",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/bulk-modification/extensions",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "bulk-modification",
                    "extensions"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"extensionIds\": [\n    1,\n    2,\n    3\n  ],\n  \"changes\": {\n    \"enabled\": true\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Languages",
          "item": [
            {
              "name": "List Languages",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/languages",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "languages"
                  ]
                },
                "description": "List all languages with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Language",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/languages/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "languages",
                    "{{id}}"
                  ]
                },
                "description": "Get language by ID with complete configuration."
              }
            },
            {
              "name": "Create Language",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/languages",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "languages"
                  ]
                },
                "description": "Create new language.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Language\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Language",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/languages/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "languages",
                    "{{id}}"
                  ]
                },
                "description": "Update existing language.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Language",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/languages/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "languages",
                    "{{id}}"
                  ]
                },
                "description": "Delete language.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Language Options",
          "item": [
            {
              "name": "List Language Options",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/language-options",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "language-options"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Weak Passwords",
          "item": [
            {
              "name": "List Weak Passwords",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/weak-passwords",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "weak-passwords"
                  ]
                },
                "description": "Detect extensions with weak or default passwords."
              }
            }
          ]
        },
        {
          "name": "PBX CLI Button Configs",
          "item": [
            {
              "name": "List Button Configs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs"
                  ]
                },
                "description": "List PBX CLI button configurations with pagination."
              }
            },
            {
              "name": "Get All Button Configs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs/all",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs",
                    "all"
                  ]
                },
                "description": "Get all button configs for the button grid (no pagination)."
              }
            },
            {
              "name": "Get Button Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create Button Config",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs"
                  ]
                },
                "description": "Create a new CLI button (max 24 per tenant).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"label\": \"Reload XML\",\n  \"tooltip\": \"Reload XML configuration\",\n  \"command\": \"reloadxml\",\n  \"orderIndex\": 1,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Button Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Button Config",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/pbx-cli/button-configs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "pbx-cli",
                    "button-configs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 📬 Voicemail",
      "description": "# 📬 Voicemail Configuration\nSystem voicemail profiles and Text-to-Speech voice prompts.\n\n### Features:\n- **Voicemail Profiles**: Set recording quotas and email delivery templates.\n- **Voice Guides**: Text-to-Speech engine utilizing Azure, OpenAI, or Google to generate audio assets dynamically.",
      "item": [
        {
          "name": "Voicemail Profiles",
          "item": [
            {
              "name": "List Voicemail Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-profiles"
                  ]
                },
                "description": "List all voicemail profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Voicemail Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get voicemail profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Voicemail Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-profiles"
                  ]
                },
                "description": "Create new voicemail profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Standard\",\n  \"maxMessages\": 100,\n  \"maxMessageLength\": 180,\n  \"skipGreeting\": false\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Voicemail Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing voicemail profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Voicemail Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete voicemail profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Voicemail Settings",
          "item": [
            {
              "name": "Get Voicemail Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Voicemail Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemail-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemail-settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"defaultProfile\": 1,\n  \"emailFrom\": \"voicemail@example.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Voicemail Broadcast Groups",
          "item": [
            {
              "name": "List Voicemail Broadcast Groups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemails-broadcast-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemails-broadcast-groups"
                  ]
                },
                "description": "List all voicemail broadcast groups with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Voicemail Broadcast Group",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemails-broadcast-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemails-broadcast-groups",
                    "{{id}}"
                  ]
                },
                "description": "Get voicemail broadcast group by ID with complete configuration."
              }
            },
            {
              "name": "Create Voicemail Broadcast Group",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemails-broadcast-groups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemails-broadcast-groups"
                  ]
                },
                "description": "Create new voicemail broadcast group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"All Staff\",\n  \"members\": [\n    1,\n    2,\n    3\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Voicemail Broadcast Group",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemails-broadcast-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemails-broadcast-groups",
                    "{{id}}"
                  ]
                },
                "description": "Update existing voicemail broadcast group.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Voicemail Broadcast Group",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voicemails-broadcast-groups/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voicemails-broadcast-groups",
                    "{{id}}"
                  ]
                },
                "description": "Delete voicemail broadcast group.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Voice Guides",
          "item": [
            {
              "name": "List Voice Guides",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides"
                  ]
                },
                "description": "List all voice guides organized by language."
              }
            },
            {
              "name": "Get Voice Guide",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Language Options",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/language-options",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "language-options"
                  ]
                },
                "description": "Get available language options for voice guide selector."
              }
            },
            {
              "name": "Get Fallback Voice Guide",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/fallback",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "fallback"
                  ]
                },
                "description": "Get the configured fallback voice guide."
              }
            },
            {
              "name": "Get Voice Guides by Language",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/language/{{languageCode}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "language",
                    "{{languageCode}}"
                  ]
                },
                "description": "Get all voice guides for a specific language code."
              }
            },
            {
              "name": "Generate Voice Guide",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/generate",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "generate"
                  ]
                },
                "description": "Generate voice guides using TTS.\n\nSupports OpenAI, Azure Speech, and Google TTS.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"languageCode\": \"en\",\n  \"recordType\": \"ivr\",\n  \"profileId\": 1,\n  \"voice\": \"alloy\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Voice Guide",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/voice-guides/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "voice-guides",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Only custom (user-generated) guides can be deleted."
              }
            }
          ]
        },
        {
          "name": "Dynamic Routing",
          "item": [
            {
              "name": "Get Dynamic Routing Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/config",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "config"
                  ]
                },
                "description": "Get dynamic (callback) routing configuration.\n\nUsed for missed call callback routing."
              }
            },
            {
              "name": "Update Dynamic Routing Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/config",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "config"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"digitsMatch\": 8,\n  \"deleteAfterAnswer\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "List Dynamic Routing Entries",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/entries",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "entries"
                  ]
                },
                "description": "List pending callback entries."
              }
            },
            {
              "name": "Delete Dynamic Routing Entry",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dynamic-routing/entries/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dynamic-routing",
                    "entries",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 💬 SMS",
      "description": "# 💬 SMS Messaging\nConfigure messaging carriers and route SMS traffic.\n\n### Features:\n- **SMS Providers**: CRUD Twilio, Telnyx, or Custom HTTP carrier links.\n- **SMS Numbers**: Mappings of DIDs to extension routing.\n- **Send SMS**: Send out-of-band text messages to destination numbers.\n- **Opt-outs**: Manage keyword blacklists (e.g. STOP) to prevent delivery.",
      "item": [
        {
          "name": "SMS Providers",
          "item": [
            {
              "name": "List SMS Providers",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get SMS Provider",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create SMS Provider",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Twilio\",\n  \"type\": \"twilio\",\n  \"accountSid\": \"ACxxxxx\",\n  \"authToken\": \"xxxx\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update SMS Provider",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete SMS Provider",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Test SMS Provider",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/providers/{{id}}/test",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "providers",
                    "{{id}}",
                    "test"
                  ]
                },
                "description": "Send a test message to verify provider configuration.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"testNumber\": \"+15551234567\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "SMS Numbers",
          "item": [
            {
              "name": "List SMS Numbers",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/numbers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "numbers"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get SMS Number",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "numbers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create SMS Number",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/numbers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "numbers"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumber\": \"+15559876543\",\n  \"providerId\": 1,\n  \"extensionId\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update SMS Number",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "numbers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete SMS Number",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "numbers",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "SMS Routes",
          "item": [
            {
              "name": "List SMS Routes",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "routes"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get SMS Route",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "routes",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create SMS Route",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/routes",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "routes"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Default Route\",\n  \"pattern\": \"*\",\n  \"providerId\": 1,\n  \"priority\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update SMS Route",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "routes",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete SMS Route",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/routes/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "routes",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "SMS Messages",
          "item": [
            {
              "name": "List SMS Messages",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/messages",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "messages"
                  ]
                },
                "description": "List SMS message history with filters."
              }
            },
            {
              "name": "Get SMS Message",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/messages/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "messages",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Send SMS",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/messages/send",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "messages",
                    "send"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"to\": \"+15551234567\",\n  \"message\": \"Hello from Ring2All!\",\n  \"from\": \"+15559876543\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "SMS Settings",
          "item": [
            {
              "name": "Get SMS Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update SMS Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"defaultProviderId\": 1,\n  \"retryAttempts\": 3\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "SMS Opt-outs",
          "item": [
            {
              "name": "List Opt-outs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/optouts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "optouts"
                  ]
                },
                "description": "List numbers that opted out of receiving SMS."
              }
            },
            {
              "name": "Add Opt-out",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/optouts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "optouts"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumber\": \"+15551234567\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Remove Opt-out",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sms/optouts/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sms",
                    "optouts",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 📠 Fax",
      "description": "# 📠 Virtual Faxes\nConfigure virtual faxing endpoints.\n\n### Components:\n- **Fax Devices**: Emulated T.38 fax endpoints.\n- **Fax Sending**: API transmission of PDF/TIFF fax files.\n- **Fax Viewer**: Historic fax logs.",
      "item": [
        {
          "name": "Fax Devices",
          "item": [
            {
              "name": "List Fax Devices",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-devices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-devices"
                  ]
                },
                "description": "List all fax devices with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Fax Device",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-devices/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-devices",
                    "{{id}}"
                  ]
                },
                "description": "Get fax device by ID with complete configuration."
              }
            },
            {
              "name": "Create Fax Device",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-devices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-devices"
                  ]
                },
                "description": "Create new fax device.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Main Fax\",\n  \"extension\": \"2000\",\n  \"email\": \"fax@example.com\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Fax Device",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-devices/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-devices",
                    "{{id}}"
                  ]
                },
                "description": "Update existing fax device.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Fax Device",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-devices/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-devices",
                    "{{id}}"
                  ]
                },
                "description": "Delete fax device.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Fax Sending",
          "item": [
            {
              "name": "List Outbound Fax Devices",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-sending/devices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-sending",
                    "devices"
                  ]
                },
                "description": "Get list of fax devices available for outbound faxing."
              }
            },
            {
              "name": "Send Fax",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-sending/send",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-sending",
                    "send"
                  ]
                },
                "description": "Send a fax.\n\n**Content-Type:** `multipart/form-data`\n\n**Form Fields:**\n- `faxDeviceId`: Fax device to send from\n- `destinationNumber`: Destination fax number\n- `file`: PDF file to send"
              }
            },
            {
              "name": "Get Fax Job Status",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-sending/status/{{jobId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-sending",
                    "status",
                    "{{jobId}}"
                  ]
                },
                "description": "Get status of a fax sending job."
              }
            }
          ]
        },
        {
          "name": "Fax Viewer",
          "item": [
            {
              "name": "List Fax Logs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-viewer",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-viewer"
                  ]
                },
                "description": "List fax logs with pagination and filters."
              }
            },
            {
              "name": "Get Fax Log",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-viewer/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-viewer",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Fax Log",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-viewer/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-viewer",
                    "{{id}}"
                  ]
                },
                "description": "Delete fax log. Use `?deleteFiles=true` to also delete files."
              }
            },
            {
              "name": "Download Fax",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/fax-viewer/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "fax-viewer",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": "Download fax as PDF or TIFF. Use `?format=pdf` or `?format=tiff`."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "PBX > 🚨 Emergency",
      "description": "# 🚨 Emergency (E911)\nE911 location tracking and routing.\n\n### Components:\n- **Dispatch Locations**: Address databases for E911 compliance.\n- **Emergency Numbers**: Override rules for dialing 911.",
      "item": [
        {
          "name": "Emergency Numbers",
          "item": [
            {
              "name": "List Emergency Numbers",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers"
                  ]
                },
                "description": "List all emergency numbers with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Emergency Number",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers",
                    "{{id}}"
                  ]
                },
                "description": "Get emergency number by ID with complete configuration."
              }
            },
            {
              "name": "Create Emergency Number",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers"
                  ]
                },
                "description": "Create new emergency number.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"911\",\n  \"name\": \"Emergency Services\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Emergency Number",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers",
                    "{{id}}"
                  ]
                },
                "description": "Update existing emergency number.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Emergency Number",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers",
                    "{{id}}"
                  ]
                },
                "description": "Delete emergency number.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get Route Types",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/emergency-numbers/meta/route-types",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "emergency-numbers",
                    "meta",
                    "route-types"
                  ]
                },
                "description": "Get available route types for emergency numbers."
              }
            }
          ]
        },
        {
          "name": "Dispatch Locations",
          "item": [
            {
              "name": "List Dispatch Locations",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations"
                  ]
                },
                "description": "List all dispatch locations with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Dispatch Location",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations",
                    "{{id}}"
                  ]
                },
                "description": "Get dispatch location by ID with complete configuration."
              }
            },
            {
              "name": "Create Dispatch Location",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations"
                  ]
                },
                "description": "Create new dispatch location.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Main Office\",\n  \"address\": \"123 Main St, City, State 12345\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dispatch Location",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations",
                    "{{id}}"
                  ]
                },
                "description": "Update existing dispatch location.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Dispatch Location",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations",
                    "{{id}}"
                  ]
                },
                "description": "Delete dispatch location.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            },
            {
              "name": "Get Assignment Types",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/dispatch-locations/meta/assignment-types",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "dispatch-locations",
                    "meta",
                    "assignment-types"
                  ]
                },
                "description": "Get available assignment types for dispatch locations."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "📊 Reports",
      "description": "# 📊 Reports & Analytics\nExtract call history and active PBX performance data.\n\n### Endpoints:\n- **CDR Reports**: Search call history, durations, paths, and hangup causes.\n- **Call Recording Downloads**: Access raw .wav call recordings.\n- **Active Calls**: Monitor live calls and call stats (ideal for real-time CRM popup notifications).",
      "item": [
        {
          "name": "CDR (Call Detail Records)",
          "item": [
            {
              "name": "List CDR Records",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-detail-records",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-detail-records"
                  ]
                },
                "description": "Query call history with filters.\n\n**Required:** `startDate`, `endDate` (YYYY-MM-DD)"
              }
            },
            {
              "name": "Get CDR Record",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-detail-records/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-detail-records",
                    "{{id}}"
                  ]
                },
                "description": "Get detailed call record."
              }
            },
            {
              "name": "Play Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-detail-records/{{id}}/play",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-detail-records",
                    "{{id}}",
                    "play"
                  ]
                },
                "description": "Stream call recording audio.\n\n**Response:** Audio stream (audio/wav or audio/mp3)\n**Headers:** Accept: audio/wav"
              }
            },
            {
              "name": "Download Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/call-detail-records/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "call-detail-records",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": "Download call recording as file."
              }
            }
          ]
        },
        {
          "name": "Recordings",
          "item": [
            {
              "name": "List Recordings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/recordings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "recordings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/recordings/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "recordings",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Download Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/recordings/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "recordings",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Recording",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/recordings/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "recordings",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "CDR Filters",
          "item": [
            {
              "name": "List CDR Filters",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-filters",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-filters"
                  ]
                },
                "description": "List all cdr filters with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get CDR Filter",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-filters/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-filters",
                    "{{id}}"
                  ]
                },
                "description": "Get cdr filter by ID with complete configuration."
              }
            },
            {
              "name": "Create CDR Filter",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-filters",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-filters"
                  ]
                },
                "description": "Create new cdr filter.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New CDR Filter\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update CDR Filter",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-filters/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-filters",
                    "{{id}}"
                  ]
                },
                "description": "Update existing cdr filter.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete CDR Filter",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-filters/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-filters",
                    "{{id}}"
                  ]
                },
                "description": "Delete cdr filter.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "CDR Settings",
          "item": [
            {
              "name": "Get CDR Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update CDR Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/cdr-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "cdr-settings"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Active Calls",
          "item": [
            {
              "name": "List Active Calls",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/active-calls",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "active-calls"
                  ]
                },
                "description": "Real-time list of active calls from FreeSWITCH."
              }
            },
            {
              "name": "Get Active Calls Stats",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/active-calls/stats",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "active-calls",
                    "stats"
                  ]
                },
                "description": "Get call statistics summary.\n\n**Response:**\n```json\n{\n  \"total\": 15,\n  \"inbound\": 8,\n  \"outbound\": 5,\n  \"internal\": 2\n}\n```"
              }
            },
            {
              "name": "Refresh Active Calls",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/active-calls/refresh",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "active-calls",
                    "refresh"
                  ]
                },
                "description": "Force refresh of active calls cache."
              }
            }
          ]
        },
        {
          "name": "Extension Status",
          "item": [
            {
              "name": "List Extension Status",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/extension-status",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "extension-status"
                  ]
                },
                "description": "Registration status of all extensions (online/offline/busy)."
              }
            }
          ]
        },
        {
          "name": "Log Viewer",
          "item": [
            {
              "name": "Get System Logs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/log-viewer",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "log-viewer"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Recording Management",
          "item": [
            {
              "name": "List Recordings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management"
                  ]
                },
                "description": "List all IVR/system recordings with filters."
              }
            },
            {
              "name": "Get Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Play Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/{{id}}/play",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "{{id}}",
                    "play"
                  ]
                },
                "description": "Stream recording audio for playback."
              }
            },
            {
              "name": "Download Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": "Download recording file."
              }
            },
            {
              "name": "Create Recording",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management"
                  ]
                },
                "description": "Create new IVR recording (upload or TTS).\n\n**Content-Type:** `multipart/form-data` for file upload",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Welcome Message\",\n  \"type\": \"ivr\",\n  \"category\": \"greetings\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Generate TTS Preview",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/generate-tts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "generate-tts"
                  ]
                },
                "description": "Generate TTS audio preview (does not save).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"text\": \"Welcome to our company\",\n  \"voice\": \"alloy\",\n  \"profileId\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Recording",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Recording",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/recording-management/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "recording-management",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Queue Callbacks",
          "item": [
            {
              "name": "List Queue Callbacks",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-callbacks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-callbacks"
                  ]
                },
                "description": "List pending callback requests."
              }
            },
            {
              "name": "Get Queue Callback",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-callbacks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-callbacks",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create Queue Callback",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-callbacks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-callbacks"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"queueId\": 1,\n  \"callerNumber\": \"+15551234567\",\n  \"callerName\": \"John Doe\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Queue Callback",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-callbacks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-callbacks",
                    "{{id}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"status\": \"completed\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Queue Callback",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/queue-callbacks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "queue-callbacks",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 🤖 AI",
      "description": "# 🤖 AI Agent Platform\nDeploy conversational AI voice personas and text chatbots.\n\n### Capabilities:\n- **AI Profiles**: Configure provider settings (OpenAI Realtime API, Azure TTS engines).\n- **AI Agents**: Setup prompt templates, temperature, speak pacing, filler words, and document resources.\n- **Call History**: Audits of AI conversation transcripts.",
      "item": [
        {
          "name": "AI Agents CRUD",
          "item": [
            {
              "name": "List AI Agents",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents"
                  ]
                },
                "description": "List all AI agents with pagination.\n\n**Query Parameters:**\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `page` | number | Page number |\n| `limit` | number | Items per page |\n| `search` | string | Search by name |\n| `enabled` | boolean | Filter by status |"
              }
            },
            {
              "name": "Get AI Agent",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}"
                  ]
                },
                "description": "Get complete AI agent configuration including knowledge base and tools."
              }
            },
            {
              "name": "Get AI Agent by UUID",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/uuid/{{uuid}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "uuid",
                    "{{uuid}}"
                  ]
                },
                "description": "Get AI agent by its UUID (used in dialplan routing)."
              }
            },
            {
              "name": "Create AI Agent",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents"
                  ]
                },
                "description": "Create a new AI agent.\n\n**Required Fields:**\n- `name` - Agent display name\n- `extension` - Extension number to reach the agent\n- `aiProfileId` - AI Profile with API credentials\n\n**Configuration Options:**\n- `voice` - TTS voice (alloy, echo, fable, onyx, nova, shimmer)\n- `greeting` - Initial greeting message\n- `systemPrompt` - Agent personality and instructions\n- `maxTokens` - Response length limit\n- `temperature` - Creativity (0.0-2.0)",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Customer Support AI\",\n  \"extension\": \"8000\",\n  \"aiProfileId\": 1,\n  \"voice\": \"nova\",\n  \"greeting\": \"Hello! Thank you for calling. How can I assist you today?\",\n  \"systemPrompt\": \"You are a helpful customer support agent for ACME Corp. Be friendly, professional, and concise.\",\n  \"maxTokens\": 500,\n  \"temperature\": 0.7,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update AI Agent",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}"
                  ]
                },
                "description": "Update AI agent configuration.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"greeting\": \"Welcome! How may I help you?\",\n  \"temperature\": 0.8\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete AI Agent",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Permanently deletes the AI agent and all associated call history."
              }
            }
          ]
        },
        {
          "name": "Call History",
          "item": [
            {
              "name": "List All AI Calls",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/calls",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "calls"
                  ]
                },
                "description": "List all AI agent call sessions.\n\n**Query Parameters:**\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `agentId` | number | Filter by agent |\n| `startDate` | string | Start date (YYYY-MM-DD) |\n| `endDate` | string | End date (YYYY-MM-DD) |\n| `page` | number | Page number |"
              }
            },
            {
              "name": "Get Call Details",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/calls/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "calls",
                    "{{id}}"
                  ]
                },
                "description": "Get complete call session with metadata and token usage."
              }
            },
            {
              "name": "Get Call Transcripts",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/calls/{{id}}/transcripts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "calls",
                    "{{id}}",
                    "transcripts"
                  ]
                },
                "description": "Get full conversation transcripts.\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": [\n    { \"role\": \"assistant\", \"content\": \"Hello!\", \"timestamp\": \"...\" },\n    { \"role\": \"user\", \"content\": \"Hi, I need help.\", \"timestamp\": \"...\" }\n  ]\n}\n```"
              }
            },
            {
              "name": "Get Call Events",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/calls/{{id}}/events",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "calls",
                    "{{id}}",
                    "events"
                  ]
                },
                "description": "Get raw call events (barge-ins, function calls, etc.)."
              }
            }
          ]
        },
        {
          "name": "AI Wizard",
          "item": [
            {
              "name": "Wizard Chat",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/wizard/chat",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "wizard",
                    "chat"
                  ]
                },
                "description": "Interactive wizard to help create AI agents.\n\nSend messages to the wizard and receive AI-powered suggestions for agent configuration.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"message\": \"I want to create a support agent for a dental clinic\",\n  \"context\": {\n    \"currentStep\": \"persona\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Generate Prompt",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/generate-prompt",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "generate-prompt"
                  ]
                },
                "description": "Generate a professional system prompt using AI.\n\nProvide basic information and receive a complete, polished prompt.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"businessType\": \"dental clinic\",\n  \"agentRole\": \"appointment scheduling\",\n  \"tone\": \"friendly and professional\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Dynamic Context (Knowledge Base)",
          "item": [
            {
              "name": "List Dynamic Contexts",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/dynamic-contexts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "dynamic-contexts"
                  ]
                },
                "description": "List all dynamic context entries for an agent.\n\nDynamic contexts are real-time knowledge that the AI can reference during calls."
              }
            },
            {
              "name": "Create Dynamic Context",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/dynamic-contexts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "dynamic-contexts"
                  ]
                },
                "description": "Add a new knowledge entry.\n\n**Types:**\n- `faq` - Frequently asked questions\n- `product` - Product information\n- `policy` - Company policies\n- `custom` - Custom knowledge",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"type\": \"faq\",\n  \"title\": \"Business Hours\",\n  \"content\": \"Our office is open Monday to Friday, 9 AM to 5 PM EST.\",\n  \"priority\": 1,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dynamic Context",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/dynamic-contexts/{{contextId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "dynamic-contexts",
                    "{{contextId}}"
                  ]
                },
                "description": "Update an existing knowledge entry.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"content\": \"Our office is open Monday to Friday, 8 AM to 6 PM EST.\",\n  \"priority\": 2\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Dynamic Context",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/dynamic-contexts/{{contextId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "dynamic-contexts",
                    "{{contextId}}"
                  ]
                },
                "description": "Remove a knowledge entry from the agent."
              }
            }
          ]
        },
        {
          "name": "Documents (Knowledge Extraction)",
          "item": [
            {
              "name": "List Documents",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/documents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "documents"
                  ]
                },
                "description": "List all uploaded documents for an agent."
              }
            },
            {
              "name": "Upload Document",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/documents",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "documents"
                  ]
                },
                "description": "Upload a document to extract knowledge.\n\n**Supported Formats:** PDF, DOCX, TXT, MD\n\nThe document will be stored and can be processed with AI to extract knowledge."
              }
            },
            {
              "name": "Process Document",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/documents/{{docId}}/process",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "documents",
                    "{{docId}}",
                    "process"
                  ]
                },
                "description": "Process document with AI to extract knowledge.\n\nUses AI to read the document and create structured knowledge entries."
              }
            },
            {
              "name": "Update Document",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/documents/{{docId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "documents",
                    "{{docId}}"
                  ]
                },
                "description": "Update document metadata or extraction prompt.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"extractionPrompt\": \"Extract FAQs and product information from this document.\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Document",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/{{id}}/documents/{{docId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "{{id}}",
                    "documents",
                    "{{docId}}"
                  ]
                },
                "description": "Delete an uploaded document."
              }
            },
            {
              "name": "Get Extraction Prompt",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/ai-agents/extraction-prompt",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "ai-agents",
                    "extraction-prompt"
                  ]
                },
                "description": "Get the default AI extraction prompt template."
              }
            }
          ]
        },
        {
          "name": "AI Profiles",
          "item": [
            {
              "name": "List AI Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles"
                  ]
                },
                "description": "List all AI profiles with their provider configurations."
              }
            },
            {
              "name": "Get AI Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get AI profile with full configuration."
              }
            },
            {
              "name": "Create AI Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles"
                  ]
                },
                "description": "Create a new AI profile with API credentials.\n\n**Providers:**\n- `openai` - OpenAI (GPT-4, Realtime API)\n- `azure` - Azure OpenAI Service\n- `google` - Google TTS",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"OpenAI Production\",\n  \"provider\": \"openai\",\n  \"apiKey\": \"sk-...\",\n  \"model\": \"gpt-4\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update AI Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update AI profile configuration.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"model\": \"gpt-4-turbo\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete AI Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Delete AI profile. Agents using this profile will stop working."
              }
            },
            {
              "name": "Test Connection",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/{{id}}/test",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "{{id}}",
                    "test"
                  ]
                },
                "description": "Test API connection and validate credentials."
              }
            },
            {
              "name": "Get Provider Models",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/providers/{{providerId}}/models",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "providers",
                    "{{providerId}}",
                    "models"
                  ]
                },
                "description": "Get available models for a specific provider."
              }
            },
            {
              "name": "Get Models by Type",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/providers/{{providerId}}/models-by-type",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "providers",
                    "{{providerId}}",
                    "models-by-type"
                  ]
                },
                "description": "Get models organized by type (chat, embedding, tts)."
              }
            },
            {
              "name": "Get Provider Voices",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/providers/{{providerId}}/voices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "providers",
                    "{{providerId}}",
                    "voices"
                  ]
                },
                "description": "Get available TTS voices for a provider."
              }
            },
            {
              "name": "Test TTS",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/ai-profiles/test-tts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "ai-profiles",
                    "test-tts"
                  ]
                },
                "description": "Test Text-to-Speech with a provider.\n\nReturns audio file (MP3 or WAV).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"provider_id\": 1,\n  \"text\": \"Hello, this is a test of the text to speech system.\",\n  \"voice\": \"nova\",\n  \"model\": \"tts-1\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 👥 Users",
      "description": "# 👤 User Administration\nManage accounts accessing the admin portal.\n\n### Capabilities:\n- **Users**: Admin profile management.\n- **Role Profiles**: Role-Based Access Control (RBAC) permissions.\n- **API Keys**: Generate API Key credentials for integrations.",
      "item": [
        {
          "name": "Users",
          "item": [
            {
              "name": "List Users",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users"
                  ]
                },
                "description": "List all users with pagination.\n\n**Query Parameters:**\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `page` | number | Page number |\n| `limit` | number | Items per page |\n| `search` | string | Search by name/email |\n| `roleProfileId` | number | Filter by role |"
              }
            },
            {
              "name": "Get User",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "{{id}}"
                  ]
                },
                "description": "Get user details with role and tenant assignments."
              }
            },
            {
              "name": "Users Quicklist",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/quicklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "quicklist"
                  ]
                },
                "description": "Minimal user list for dropdowns (id, name, email only)."
              }
            },
            {
              "name": "Create User",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users"
                  ]
                },
                "description": "Create a new admin user.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"user@example.com\",\n  \"name\": \"John Doe\",\n  \"password\": \"SecurePass123!\",\n  \"roleProfileId\": 2,\n  \"tenantIds\": [\n    1,\n    2\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update User",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "{{id}}"
                  ]
                },
                "description": "Update user details.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"John Doe Updated\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete User",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Permanently delete user."
              }
            },
            {
              "name": "Upload Avatar",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/upload/avatar",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "upload",
                    "avatar"
                  ]
                },
                "description": "Upload user avatar image.\n\n**Content-Type:** `multipart/form-data`\n\n**Form Fields:**\n- `userId`: User ID\n- `avatar`: Image file (JPG, PNG)"
              }
            }
          ]
        },
        {
          "name": "User Options",
          "item": [
            {
              "name": "Get Log Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/options/log-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "options",
                    "log-profiles"
                  ]
                },
                "description": "Get available log profiles for user assignment."
              }
            },
            {
              "name": "Get Tenants",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/users/options/tenants",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "users",
                    "options",
                    "tenants"
                  ]
                },
                "description": "Get available tenants for user assignment."
              }
            }
          ]
        },
        {
          "name": "Role Profiles",
          "item": [
            {
              "name": "List Role Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/role-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "role-profiles"
                  ]
                },
                "description": "List all role profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Role Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/role-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "role-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get role profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Role Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/role-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "role-profiles"
                  ]
                },
                "description": "Create new role profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Role Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Role Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/role-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "role-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing role profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Role Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/role-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "role-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete role profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "ESL Users",
          "item": [
            {
              "name": "List ESL Users",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/esl-users",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "esl-users"
                  ]
                },
                "description": "List all esl users with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get ESL User",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/esl-users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "esl-users",
                    "{{id}}"
                  ]
                },
                "description": "Get esl user by ID with complete configuration."
              }
            },
            {
              "name": "Create ESL User",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/esl-users",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "esl-users"
                  ]
                },
                "description": "Create new esl user.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"username\": \"monitor\",\n  \"password\": \"secret\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update ESL User",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/esl-users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "esl-users",
                    "{{id}}"
                  ]
                },
                "description": "Update existing esl user.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete ESL User",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/esl-users/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "esl-users",
                    "{{id}}"
                  ]
                },
                "description": "Delete esl user.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 🏢 Multi-Tenant",
      "description": "# 🏢 Multi-Tenant Management\nConfigure tenants, domains, server distributions, and aliases.",
      "item": [
        {
          "name": "Tenants",
          "item": [
            {
              "name": "List Tenants",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants"
                  ]
                },
                "description": "List all tenants with pagination."
              }
            },
            {
              "name": "Get Tenant",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants",
                    "{{id}}"
                  ]
                },
                "description": "Get tenant details by ID or UUID."
              }
            },
            {
              "name": "Tenants Quicklist",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants/quicklist",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants",
                    "quicklist"
                  ]
                },
                "description": "Minimal list for dropdowns (id, name, slug only)."
              }
            },
            {
              "name": "Tenants with Telephony IDs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants/with-telephony-ids",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants",
                    "with-telephony-ids"
                  ]
                },
                "description": "Get tenants with their associated domain IDs."
              }
            },
            {
              "name": "Create Tenant",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants"
                  ]
                },
                "description": "Create a new tenant.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"ACME Corporation\",\n  \"slug\": \"acme-corp\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Tenant",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants",
                    "{{id}}"
                  ]
                },
                "description": "Update tenant details.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"ACME Corp Updated\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Tenant",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/tenants/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "tenants",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Delete tenant and all associated data."
              }
            }
          ]
        },
        {
          "name": "Telephony Domains",
          "item": [
            {
              "name": "List Domains",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains"
                  ]
                },
                "description": "List all telephony domains."
              }
            },
            {
              "name": "Get Domain",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{id}}"
                  ]
                },
                "description": "Get domain with aliases."
              }
            },
            {
              "name": "Create Domain",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains"
                  ]
                },
                "description": "Create a new telephony domain.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"newdomain.local\",\n  \"tenantId\": 1,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Domain",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{id}}"
                  ]
                },
                "description": "Update domain settings.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Domain",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Delete domain and all extensions, routes, etc."
              }
            }
          ]
        },
        {
          "name": "Domain Aliases",
          "item": [
            {
              "name": "List Domain Aliases",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{domainId}}/aliases",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{domainId}}",
                    "aliases"
                  ]
                },
                "description": "Get all aliases for a domain."
              }
            },
            {
              "name": "Create Domain Alias",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{domainId}}/aliases",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{domainId}}",
                    "aliases"
                  ]
                },
                "description": "Add an alias to a domain.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"alias\": \"alias.domain.local\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Domain Alias",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{domainId}}/aliases/{{aliasId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{domainId}}",
                    "aliases",
                    "{{aliasId}}"
                  ]
                },
                "description": "Update domain alias.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": false\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Domain Alias",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-domains/{{domainId}}/aliases/{{aliasId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-domains",
                    "{{domainId}}",
                    "aliases",
                    "{{aliasId}}"
                  ]
                },
                "description": "Remove an alias from a domain."
              }
            }
          ]
        },
        {
          "name": "Telephony Servers",
          "item": [
            {
              "name": "List Telephony Servers",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-servers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-servers"
                  ]
                },
                "description": "List all telephony servers with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Telephony Server",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-servers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-servers",
                    "{{id}}"
                  ]
                },
                "description": "Get telephony server by ID with complete configuration."
              }
            },
            {
              "name": "Create Telephony Server",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-servers",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-servers"
                  ]
                },
                "description": "Create new telephony server.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Primary Server\",\n  \"host\": \"192.168.1.100\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Telephony Server",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-servers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-servers",
                    "{{id}}"
                  ]
                },
                "description": "Update existing telephony server.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Telephony Server",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony-servers/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony-servers",
                    "{{id}}"
                  ]
                },
                "description": "Delete telephony server.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "API Keys",
          "item": [
            {
              "name": "List API Keys",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/api-keys",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "api-keys"
                  ]
                },
                "description": "List all API keys for the tenant."
              }
            },
            {
              "name": "Get API Key",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/api-keys/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "api-keys",
                    "{{id}}"
                  ]
                },
                "description": "Get API key details (key value not shown)."
              }
            },
            {
              "name": "Create API Key",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/api-keys",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "api-keys"
                  ]
                },
                "description": "Create a new API key.\n\n⚠️ **Key value is shown only once in the response.**\n\n**Permission Scopes:**\n- `extensions:read`, `extensions:write`\n- `routes:read`, `routes:write`\n- `cdr:read`\n- `*` (all permissions)",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"CRM Integration\",\n  \"permissions\": [\n    \"extensions:read\",\n    \"cdr:read\"\n  ],\n  \"expiresAt\": null\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Revoke API Key",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/api-keys/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "api-keys",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Permanently revoke an API key."
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > ⚙️ System",
      "description": "# ⚙️ System Administration\nPerform system commands, backups, and firewall configurations.\n\n### Endpoints:\n- **Backups**: Run database and audio asset backups/restores.\n- **Firewall Rules**: Manage firewall services, access controls, geo IP filters, and VPN links.",
      "item": [
        {
          "name": "Backup & Restore",
          "item": [
            {
              "name": "System Backup",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backups/system",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backups",
                    "system"
                  ]
                },
                "description": "Trigger full system backup. Returns ZIP file stream."
              }
            },
            {
              "name": "Tenant Backup",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backups/tenant/{{uuid}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backups",
                    "tenant",
                    "{{uuid}}"
                  ]
                },
                "description": "Trigger tenant-specific backup."
              }
            },
            {
              "name": "Restore from Backup",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/restore",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "restore"
                  ]
                },
                "description": "Restore system from backup file.\n\n**Content-Type:** `multipart/form-data`"
              }
            },
            {
              "name": "Test Storage Config",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/storage/config/test",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "storage",
                    "config",
                    "test"
                  ]
                },
                "description": "Test remote storage configuration."
              }
            }
          ]
        },
        {
          "name": "Backup Jobs",
          "item": [
            {
              "name": "List Backup Jobs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create Backup Job",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Daily Backup\",\n  \"schedule\": \"0 2 * * *\",\n  \"type\": \"full\",\n  \"retention\": 30,\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Backup Job",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Backup Job",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Run Backup Job",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}/run",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}",
                    "run"
                  ]
                },
                "description": "Manually trigger backup job execution."
              }
            },
            {
              "name": "List Job Backups",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}/backups",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}",
                    "backups"
                  ]
                },
                "description": "List backups created by this job."
              }
            },
            {
              "name": "Download Backup File",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}/backups/{{filename}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}",
                    "backups",
                    "{{filename}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Backup File",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/backup-jobs/{{id}}/backups/{{filename}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "backup-jobs",
                    "{{id}}",
                    "backups",
                    "{{filename}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Certificates",
          "item": [
            {
              "name": "List Certificates",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/certificates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "certificates"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Upload Certificate",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/certificates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "certificates"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"SSL Cert\",\n  \"certificate\": \"(PEM)\",\n  \"privateKey\": \"(PEM)\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Certificate",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/certificates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "certificates",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "System Services",
          "item": [
            {
              "name": "Get System Status",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/system",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "system"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Restart Service",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/system/restart",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "system",
                    "restart"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"service\": \"freeswitch\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Reload Config",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/system/reload",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "system",
                    "reload"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Custom Tasks",
          "item": [
            {
              "name": "List Custom Tasks",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/custom-tasks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "custom-tasks"
                  ]
                },
                "description": "List all custom tasks with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Custom Task",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/custom-tasks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "custom-tasks",
                    "{{id}}"
                  ]
                },
                "description": "Get custom task by ID with complete configuration."
              }
            },
            {
              "name": "Create Custom Task",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/custom-tasks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "custom-tasks"
                  ]
                },
                "description": "Create new custom task.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Custom Task\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Custom Task",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/custom-tasks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "custom-tasks",
                    "{{id}}"
                  ]
                },
                "description": "Update existing custom task.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Custom Task",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/maintenance/custom-tasks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "maintenance",
                    "custom-tasks",
                    "{{id}}"
                  ]
                },
                "description": "Delete custom task.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Firewall Settings",
          "item": [
            {
              "name": "Get Firewall Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Firewall Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"defaultPolicy\": \"drop\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Firewall Rules",
          "item": [
            {
              "name": "List Firewall Rules",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-rules"
                  ]
                },
                "description": "List all firewall rules with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Firewall Rule",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-rules",
                    "{{id}}"
                  ]
                },
                "description": "Get firewall rule by ID with complete configuration."
              }
            },
            {
              "name": "Create Firewall Rule",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-rules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-rules"
                  ]
                },
                "description": "Create new firewall rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Allow SSH\",\n  \"port\": 22,\n  \"protocol\": \"tcp\",\n  \"action\": \"accept\",\n  \"source\": \"0.0.0.0/0\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Firewall Rule",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-rules",
                    "{{id}}"
                  ]
                },
                "description": "Update existing firewall rule.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Firewall Rule",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-rules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-rules",
                    "{{id}}"
                  ]
                },
                "description": "Delete firewall rule.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Firewall Services",
          "item": [
            {
              "name": "List Firewall Services",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-services",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-services"
                  ]
                },
                "description": "List all firewall services with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Firewall Service",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-services",
                    "{{id}}"
                  ]
                },
                "description": "Get firewall service by ID with complete configuration."
              }
            },
            {
              "name": "Create Firewall Service",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-services",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-services"
                  ]
                },
                "description": "Create new firewall service.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Firewall Service\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Firewall Service",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-services",
                    "{{id}}"
                  ]
                },
                "description": "Update existing firewall service.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Firewall Service",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/firewall-services/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "firewall-services",
                    "{{id}}"
                  ]
                },
                "description": "Delete firewall service.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Geo Firewall",
          "item": [
            {
              "name": "Get Geo Firewall Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/geo-firewall",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "geo-firewall"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Geo Firewall",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/geo-firewall",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "geo-firewall"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true,\n  \"mode\": \"whitelist\",\n  \"countries\": [\n    \"US\",\n    \"CA\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Licensing",
          "item": [
            {
              "name": "Get License Status",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/licensing",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "licensing"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Activate License",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/licensing/activate",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "licensing",
                    "activate"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"licenseKey\": \"XXXX-XXXX-XXXX-XXXX\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Refresh License",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/licensing/refresh",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "licensing",
                    "refresh"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Network Settings",
          "item": [
            {
              "name": "Get Network Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/network-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "network-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Network Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/network-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "network-settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"hostname\": \"pbx.example.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "OpenVPN",
          "item": [
            {
              "name": "Get OpenVPN Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/openvpn",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "openvpn"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update OpenVPN Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/openvpn",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "openvpn"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "List OpenVPN Clients",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/openvpn-client",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "openvpn-client"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create OpenVPN Client",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/openvpn-client",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "openvpn-client"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Remote Office\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 🎨 Branding",
      "description": "# 🎨 White Label & Email Branding\nCustomize portal theme appearance, system SMTP configurations, and localized email templates.",
      "item": [
        {
          "name": "Appearance",
          "item": [
            {
              "name": "Get Appearance Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/appearance",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "appearance"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Appearance",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/appearance",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "appearance"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"primaryColor\": \"#3B82F6\",\n  \"darkMode\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Branding",
          "item": [
            {
              "name": "Get Branding Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/branding",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "branding"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Branding",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/branding",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "branding"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"companyName\": \"My Company\",\n  \"logoUrl\": \"/uploads/logo.png\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Email Settings",
          "item": [
            {
              "name": "Get Email Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Email Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"smtpHost\": \"smtp.example.com\",\n  \"smtpPort\": 587\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Test Email",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-settings/test",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-settings",
                    "test"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"to\": \"test@example.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Email Templates",
          "item": [
            {
              "name": "List Email Templates",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-templates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-templates"
                  ]
                },
                "description": "List all email templates with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Email Template",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-templates",
                    "{{id}}"
                  ]
                },
                "description": "Get email template by ID with complete configuration."
              }
            },
            {
              "name": "Create Email Template",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-templates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-templates"
                  ]
                },
                "description": "Create new email template.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Email Template\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Email Template",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-templates",
                    "{{id}}"
                  ]
                },
                "description": "Update existing email template.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Email Template",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/email-templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "email-templates",
                    "{{id}}"
                  ]
                },
                "description": "Delete email template.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Menu Configuration",
          "item": [
            {
              "name": "Get Menu Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/menu",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "menu"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Menu Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/menu",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "menu"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Modules",
          "item": [
            {
              "name": "List Modules",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/modules",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "modules"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Toggle Module",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/modules/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "modules",
                    "{{id}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "i18n (Translations)",
          "item": [
            {
              "name": "List Translations",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/i18n",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "i18n"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Translation",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/i18n/{{locale}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "i18n",
                    "{{locale}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Translation",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/i18n/{{locale}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "i18n",
                    "{{locale}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 📝 Logs & Audit",
      "description": "# 📋 System Audit Logs\nInspect transaction history, audit trails, and log profiles.",
      "item": [
        {
          "name": "Audit Logs",
          "item": [
            {
              "name": "List Audit Logs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/audit-logs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "audit-logs"
                  ]
                },
                "description": "Query audit trail.\n\n**Query:** `startDate`, `endDate`, `userId`, `action`"
              }
            },
            {
              "name": "Get Audit Log",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/audit-logs/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "audit-logs",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Export Audit Logs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/audit-logs/export",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "audit-logs",
                    "export"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Log Profiles",
          "item": [
            {
              "name": "List Log Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-profiles"
                  ]
                },
                "description": "List all log profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Log Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get log profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Log Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-profiles"
                  ]
                },
                "description": "Create new log profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Log Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Log Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing log profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Log Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete log profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Log Settings",
          "item": [
            {
              "name": "Get Log Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Log Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/log-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "log-settings"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"retentionDays\": 90,\n  \"logLevel\": \"info\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Logging Settings",
          "item": [
            {
              "name": "Get Logging Config",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/logging-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "logging-settings"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Logging Config",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/logging-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "logging-settings"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Admin > 📊 Dashboard",
      "description": "# 🖥️ Dashboard & Contacts\nConfigure dashboard widgets, global phonebooks, and client contacts list.",
      "item": [
        {
          "name": "Dashboard Data",
          "item": [
            {
              "name": "Get Dashboard Data",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard"
                  ]
                },
                "description": "Get aggregated dashboard data.\n\n**Response includes:**\n- System stats (CPU, memory, disk)\n- Service status (FreeSWITCH, PostgreSQL, etc.)\n- Telephony stats (active calls, channels)"
              }
            },
            {
              "name": "Get Widget Data",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard/widgets/{{widgetId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard",
                    "widgets",
                    "{{widgetId}}"
                  ]
                },
                "description": "Get data for a specific widget."
              }
            }
          ]
        },
        {
          "name": "Dashboard Layouts",
          "item": [
            {
              "name": "List Dashboard Layouts",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard-layouts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard-layouts"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Dashboard Layout",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard-layouts/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard-layouts",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Create Dashboard Layout",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard-layouts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard-layouts"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Custom Layout\",\n  \"widgets\": []\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Dashboard Layout",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard-layouts/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard-layouts",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Delete Dashboard Layout",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/dashboard-layouts/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "dashboard-layouts",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        },
        {
          "name": "Phonebooks",
          "item": [
            {
              "name": "List Phonebooks",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks"
                  ]
                },
                "description": "List all phonebooks (internal and external)."
              }
            },
            {
              "name": "Get Phonebook",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}"
                  ]
                },
                "description": "Get phonebook details."
              }
            },
            {
              "name": "Create Phonebook",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks"
                  ]
                },
                "description": "Create a new phonebook.\n\n**Types:**\n- `internal` - Auto-populated from extensions\n- `external` - Manual contacts",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Customer Contacts\",\n  \"type\": \"external\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Phonebook",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Phonebook",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}"
                  ]
                },
                "description": "⚠️ Deletes phonebook and all contacts."
              }
            }
          ]
        },
        {
          "name": "Phonebook Entries",
          "item": [
            {
              "name": "Get Phonebook Entries",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}/entries",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}",
                    "entries"
                  ]
                },
                "description": "Get all entries for a phonebook (internal or external)."
              }
            }
          ]
        },
        {
          "name": "Phonebook Contacts (External)",
          "item": [
            {
              "name": "Get Contact",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{phonebookId}}/contacts/{{contactId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{phonebookId}}",
                    "contacts",
                    "{{contactId}}"
                  ]
                },
                "description": "Get a specific contact."
              }
            },
            {
              "name": "Create Contact",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}/contacts",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}",
                    "contacts"
                  ]
                },
                "description": "Add a contact to an external phonebook.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"company\": \"ACME Corp\",\n  \"phone1\": \"+15551234567\",\n  \"email\": \"john@example.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Contact",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{phonebookId}}/contacts/{{contactId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{phonebookId}}",
                    "contacts",
                    "{{contactId}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phone1\": \"+15559876543\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Contact",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{phonebookId}}/contacts/{{contactId}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{phonebookId}}",
                    "contacts",
                    "{{contactId}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Import Contacts",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/phonebooks/{{id}}/contacts/import",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "phonebooks",
                    "{{id}}",
                    "contacts",
                    "import"
                  ]
                },
                "description": "Bulk import contacts from CSV.\n\n**CSV Format:**\n`firstName,lastName,company,phone1,email`",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"contacts\": [\n    {\n      \"firstName\": \"John\",\n      \"lastName\": \"Doe\",\n      \"phone1\": \"+15551234567\"\n    },\n    {\n      \"firstName\": \"Jane\",\n      \"lastName\": \"Smith\",\n      \"phone1\": \"+15559876543\"\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Search",
          "item": [
            {
              "name": "Global Search",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/search",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "search"
                  ]
                },
                "description": "Search across all modules (extensions, routes, etc.)."
              }
            }
          ]
        },
        {
          "name": "Preferences",
          "item": [
            {
              "name": "Get User Preferences",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/preferences",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "preferences"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update User Preferences",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/preferences",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "preferences"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"theme\": \"dark\",\n  \"language\": \"en\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Access Control",
          "item": [
            {
              "name": "Get Access Control",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/access-control",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "access-control"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Access Control",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/access-control",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "access-control"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Settings > 🔌 Technology",
      "description": "# ⚙️ Telephony Technology Settings\nManage core FreeSWITCH SIP Profiles, dial patterns, and system variables.",
      "item": [
        {
          "name": "SIP Profiles",
          "item": [
            {
              "name": "List SIP Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-profiles"
                  ]
                },
                "description": "List all sip profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get SIP Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get sip profile by ID with complete configuration."
              }
            },
            {
              "name": "Create SIP Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-profiles"
                  ]
                },
                "description": "Create new sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New SIP Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update SIP Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete SIP Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete sip profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Device SIP Profiles",
          "item": [
            {
              "name": "List Device SIP Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/device-sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "device-sip-profiles"
                  ]
                },
                "description": "List all device sip profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Device SIP Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/device-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "device-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get device sip profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Device SIP Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/device-sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "device-sip-profiles"
                  ]
                },
                "description": "Create new device sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Device SIP Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Device SIP Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/device-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "device-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing device sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Device SIP Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/device-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "device-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete device sip profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Gateway SIP Profiles",
          "item": [
            {
              "name": "List Gateway SIP Profiles",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateway-sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateway-sip-profiles"
                  ]
                },
                "description": "List all gateway sip profiles with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Gateway SIP Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateway-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateway-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Get gateway sip profile by ID with complete configuration."
              }
            },
            {
              "name": "Create Gateway SIP Profile",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateway-sip-profiles",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateway-sip-profiles"
                  ]
                },
                "description": "Create new gateway sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Gateway SIP Profile\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Gateway SIP Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateway-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateway-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Update existing gateway sip profile.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Gateway SIP Profile",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/gateway-sip-profiles/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "gateway-sip-profiles",
                    "{{id}}"
                  ]
                },
                "description": "Delete gateway sip profile.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "SIP Endpoints",
          "item": [
            {
              "name": "List SIP Endpoints",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-endpoints",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-endpoints"
                  ]
                },
                "description": "List all sip endpoints with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get SIP Endpoint",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-endpoints/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-endpoints",
                    "{{id}}"
                  ]
                },
                "description": "Get sip endpoint by ID with complete configuration."
              }
            },
            {
              "name": "Create SIP Endpoint",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-endpoints",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-endpoints"
                  ]
                },
                "description": "Create new sip endpoint.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New SIP Endpoint\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update SIP Endpoint",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-endpoints/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-endpoints",
                    "{{id}}"
                  ]
                },
                "description": "Update existing sip endpoint.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete SIP Endpoint",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/sip-endpoints/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "sip-endpoints",
                    "{{id}}"
                  ]
                },
                "description": "Delete sip endpoint.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "System General",
          "item": [
            {
              "name": "Get System General Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/system-general",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "system-general"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update System General Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/system-general",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "system-general"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"timezone\": \"America/New_York\",\n  \"defaultLanguage\": \"en-US\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "System Variables",
          "item": [
            {
              "name": "List System Variables",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/system-vars",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "system-vars"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get System Variable",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/system-vars/{{name}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "system-vars",
                    "{{name}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update System Variable",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/telephony/system-vars/{{name}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "telephony",
                    "system-vars",
                    "{{name}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"value\": \"new_value\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Settings > 🔗 Integrations",
      "description": "# 🔌 External Platform Connections\nConfigure external OAuth 2.0 or API linkages for CRM contact syncing (HubSpot, Salesforce, Zoho, Dynamics, etc.) or appointment scheduling (Calendly).",
      "item": [
        {
          "name": "CRM Connections",
          "item": [
            {
              "name": "Get Integration Types",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/types",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "types"
                  ]
                },
                "description": "Get list of available integration types (Calendly, HubSpot, etc.)."
              }
            },
            {
              "name": "List Connections",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Connection",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get OAuth URL",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/auth-url",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "auth-url"
                  ]
                },
                "description": "Get authorization URL for OAuth flow."
              }
            },
            {
              "name": "OAuth Connect",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connect",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connect"
                  ]
                },
                "description": "Complete OAuth connection with auth code.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"code\": \"oauth_auth_code\",\n  \"provider\": \"HUBSPOT\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Connect with Token",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connect-token",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connect-token"
                  ]
                },
                "description": "Connect using Personal Access Token (PAT).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"provider\": \"HUBSPOT\",\n  \"token\": \"pat-xxx-yyy\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Connection",
              "request": {
                "method": "PATCH",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections",
                    "{{id}}"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Connection Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Connection",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections",
                    "{{id}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Update Connection Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections/{{id}}/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections",
                    "{{id}}",
                    "settings"
                  ]
                },
                "description": "Update AI tool settings for a connection.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"enabledTools\": [\n    \"get_event_types\",\n    \"create_booking\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Get Tool Logs",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/connections/{{id}}/tool-logs",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "connections",
                    "{{id}}",
                    "tool-logs"
                  ]
                },
                "description": "Get AI tool execution logs for a connection."
              }
            }
          ]
        },
        {
          "name": "Tool Gateway",
          "item": [
            {
              "name": "Get Available Tools",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/tools/{{connectionId}}/available",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "tools",
                    "{{connectionId}}",
                    "available"
                  ]
                },
                "description": "Get available AI tools for a connection."
              }
            },
            {
              "name": "Execute Tool Action",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/integrations/crm/tools/{{connectionId}}/execute",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "integrations",
                    "crm",
                    "tools",
                    "{{connectionId}}",
                    "execute"
                  ]
                },
                "description": "Execute an AI tool action.\n\n**Tools:**\n- `calendly.get_event_types`\n- `calendly.get_available_times`\n- `calendly.create_booking`\n- `crm.search_contact`\n- `crm.get_contact`\n- `crm.add_note`",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"tool\": \"crm.search_contact\",\n  \"parameters\": {\n    \"query\": \"john@example.com\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Settings > 📱 Provisioning",
      "description": "# 🔌 Phone Provisioning Settings\nConfigure device templates, vendors, and models for auto-provisioning desk IP phones.",
      "item": [
        {
          "name": "Provisioning Templates",
          "item": [
            {
              "name": "List Provisioning Templates",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/templates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "templates"
                  ]
                },
                "description": "List all provisioning templates with pagination.\n\n**Query Parameters:**\n- `page`: Page number (default: 1)\n- `limit`: Items per page (default: 25, max: 200)\n- `search`: Filter by name/identifier"
              }
            },
            {
              "name": "Get Provisioning Template",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "templates",
                    "{{id}}"
                  ]
                },
                "description": "Get provisioning template by ID with complete configuration."
              }
            },
            {
              "name": "Create Provisioning Template",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/templates",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "templates"
                  ]
                },
                "description": "Create new provisioning template.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"New Provisioning Template\",\n  \"enabled\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update Provisioning Template",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "templates",
                    "{{id}}"
                  ]
                },
                "description": "Update existing provisioning template.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"Updated Name\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Delete Provisioning Template",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/templates/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "templates",
                    "{{id}}"
                  ]
                },
                "description": "Delete provisioning template.\n\n⚠️ **Warning:** This action cannot be undone."
              }
            }
          ]
        },
        {
          "name": "Provisioning Devices",
          "item": [
            {
              "name": "List Provisioned Devices",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/devices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "devices"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Get Device by MAC",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/devices/{{mac}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "devices",
                    "{{mac}}"
                  ]
                },
                "description": ""
              }
            },
            {
              "name": "Provision Device",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/devices",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "devices"
                  ]
                },
                "description": "",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"mac\": \"00:11:22:33:44:55\",\n  \"extensionId\": 1,\n  \"templateId\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Remove Provisioned Device",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/provisioning/devices/{{mac}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "provisioning",
                    "devices",
                    "{{mac}}"
                  ]
                },
                "description": ""
              }
            }
          ]
        }
      ]
    },
    {
      "name": "👤 User Portal",
      "description": "# 👤 Portal Self-Service API\nEndpoints backing the End User Portal, enabling users to manage their own voicemail, download personal CDRs, send SMS, configure call forwarding, or retrieve softphone SIP credentials.",
      "item": [
        {
          "name": "Portal Auth",
          "item": [
            {
              "name": "Portal Login",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/auth/login",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "auth",
                    "login"
                  ]
                },
                "description": "Authenticate with portal credentials.\n\n**Required Fields:**\n- `username` - Portal username\n- `password` - Portal password\n- `domain` - Telephony domain\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"token\": \"eyJhbGciOi...\",\n    \"user\": {\n      \"id\": 1,\n      \"extension\": \"1001\",\n      \"name\": \"John Doe\"\n    }\n  }\n}\n```",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"username\": \"user1001\",\n  \"password\": \"MyPassword123!\",\n  \"domain\": \"domain.local\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "exec": [
                      "if (pm.response.code === 200) {",
                      "    try {",
                      "        const res = pm.response.json();",
                      "        const token = res.token || res.data?.token || res.accessToken || res.data?.accessToken;",
                      "        if (token) {",
                      "            pm.environment.set(\"jwt_token\", token);",
                      "            console.log(\"Auto-captured PBX jwt_token\");",
                      "        }",
                      "    } catch(e) {}",
                      "}"
                    ],
                    "type": "text/javascript"
                  }
                }
              ]
            },
            {
              "name": "Get Current User",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/auth/me",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "auth",
                    "me"
                  ]
                },
                "description": "Get current authenticated user information."
              }
            }
          ]
        },
        {
          "name": "My Extension",
          "item": [
            {
              "name": "Get My Profile",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/extension",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "extension"
                  ]
                },
                "description": "Get your extension profile including:\n- Basic information\n- Caller ID settings\n- Voicemail configuration\n- Associated devices"
              }
            },
            {
              "name": "Update My Profile",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/extension",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "extension"
                  ]
                },
                "description": "Update profile settings.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"callerIdName\": \"John Doe\",\n  \"callerIdNumber\": \"1001\",\n  \"dnd\": false\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            },
            {
              "name": "Update My Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "settings"
                  ]
                },
                "description": "Update portal preferences.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"timezone\": \"America/New_York\",\n  \"language\": \"en\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Call Forwarding",
          "item": [
            {
              "name": "Get Forwarding Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/forwarding",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "forwarding"
                  ]
                },
                "description": "Get current call forwarding configuration."
              }
            },
            {
              "name": "Update Forwarding",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/forwarding",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "forwarding"
                  ]
                },
                "description": "Configure call forwarding.\n\n**Forwarding Types:**\n| Type | Description |\n|------|-------------|\n| `always` | Forward all calls |\n| `busy` | Forward when busy |\n| `no_answer` | Forward on no answer |\n| `not_registered` | Forward when offline |",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"always\": {\n    \"enabled\": true,\n    \"destination\": \"+15551234567\"\n  },\n  \"busy\": {\n    \"enabled\": true,\n    \"destination\": \"8001\"\n  },\n  \"noAnswer\": {\n    \"enabled\": true,\n    \"destination\": \"*98\",\n    \"ringTime\": 25\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "My Voicemail",
          "item": [
            {
              "name": "List My Voicemails",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemails",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemails"
                  ]
                },
                "description": "Get voicemail messages.\n\n**Query Parameters:**\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `page` | number | Page number |\n| `limit` | number | Items per page |\n| `unread` | boolean | Filter unread only |"
              }
            },
            {
              "name": "Download Voicemail",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemails/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemails",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": "Download voicemail audio file (WAV/MP3)."
              }
            },
            {
              "name": "Mark Voicemail Read",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemails/{{id}}/read",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemails",
                    "{{id}}",
                    "read"
                  ]
                },
                "description": "Mark voicemail as read."
              }
            },
            {
              "name": "Delete Voicemail",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemails/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemails",
                    "{{id}}"
                  ]
                },
                "description": "Delete a voicemail message."
              }
            },
            {
              "name": "Get Voicemail Settings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemail-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemail-settings"
                  ]
                },
                "description": "Get voicemail notification settings."
              }
            },
            {
              "name": "Update Voicemail Settings",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/voicemail-settings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "voicemail-settings"
                  ]
                },
                "description": "Update voicemail settings.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"user@example.com\",\n  \"attachFile\": true,\n  \"deleteAfterEmail\": false,\n  \"greeting\": \"custom\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "My Call History",
          "item": [
            {
              "name": "List My Calls",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/cdr",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "cdr"
                  ]
                },
                "description": "Get call history.\n\n**Query Parameters:**\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| `startDate` | string | Start date (YYYY-MM-DD) |\n| `endDate` | string | End date (YYYY-MM-DD) |\n| `direction` | string | inbound, outbound, all |\n| `page` | number | Page number |"
              }
            },
            {
              "name": "Get Call Details",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/cdr/{{id}}",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "cdr",
                    "{{id}}"
                  ]
                },
                "description": "Get details of a specific call."
              }
            }
          ]
        },
        {
          "name": "My Recordings",
          "item": [
            {
              "name": "List My Recordings",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/recordings",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "recordings"
                  ]
                },
                "description": "List call recordings for your extension."
              }
            },
            {
              "name": "Play Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/recordings/{{id}}/audio",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "recordings",
                    "{{id}}",
                    "audio"
                  ]
                },
                "description": "Stream recording audio."
              }
            },
            {
              "name": "Download Recording",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/recordings/{{id}}/download",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "recordings",
                    "{{id}}",
                    "download"
                  ]
                },
                "description": "Download recording file."
              }
            }
          ]
        },
        {
          "name": "SMS (if available)",
          "item": [
            {
              "name": "List My SMS Conversations",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/sms",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "sms"
                  ]
                },
                "description": "List SMS conversations (requires SMS number assigned)."
              }
            },
            {
              "name": "Send SMS",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/sms",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "sms"
                  ]
                },
                "description": "Send an SMS message.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"to\": \"+15551234567\",\n  \"message\": \"Hello from Ring2All!\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "name": "Directory",
          "item": [
            {
              "name": "Search Directory",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/directory",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "directory"
                  ]
                },
                "description": "Search company directory.\n\n**Query Parameters:**\n- `search` - Search by name or extension"
              }
            }
          ]
        },
        {
          "name": "SIP Credentials",
          "item": [
            {
              "name": "Get My SIP Credentials",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{pbx_base_url}}/portal/sip-credentials",
                  "host": [
                    "{{pbx_base_url}}"
                  ],
                  "path": [
                    "portal",
                    "sip-credentials"
                  ]
                },
                "description": "Get SIP credentials for softphone configuration.\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"username\": \"1001\",\n    \"domain\": \"sip.example.com\",\n    \"proxy\": \"sip.example.com:5060\",\n    \"transport\": \"udp\",\n    \"stunServer\": \"stun.example.com\"\n  }\n}\n```"
              }
            }
          ]
        }
      ]
    },
    {
      "name": "🤖 AI Voice Agents & RAG Hub",
      "description": "Realtime AI Voice Agents, LLM Provider Profiles, RAG Knowledge Hub, and Live Speech Translation.",
      "item": [
        {
          "name": "List AI Voice Agents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents"
              ]
            },
            "description": "List configured OpenAI Realtime / FreeSWITCH AI Voice Agents."
          }
        },
        {
          "name": "Get AI Agent Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Create AI Voice Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents"
              ]
            },
            "description": "Provision an AI voice assistant bound to an extension or inbound DID.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Customer Service AI Assistant\",\n  \"extension\": \"9000\",\n  \"ai_provider\": \"openai\",\n  \"model\": \"gpt-4o-realtime-preview\",\n  \"voice\": \"alloy\",\n  \"system_prompt\": \"You are a professional customer support representative for Ring2All.\",\n  \"temperature\": 0.7,\n  \"vad_mode\": \"server_vad\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Update AI Voice Agent",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Support Voice Agent - Updated\",\n  \"temperature\": 0.6\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete AI Voice Agent",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "List AI Providers & Models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-providers"
              ]
            },
            "description": "List configured AI Providers (OpenAI, Anthropic, DeepSeek, Groq, Ollama)."
          }
        },
        {
          "name": "Create AI Provider",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-providers"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Corporate OpenAI\",\n  \"provider_type\": \"openai\",\n  \"api_key\": \"sk-...\",\n  \"base_url\": \"https://api.openai.com/v1\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List RAG Knowledge Documents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "List contextual knowledge documents embedded in pgvector."
          }
        },
        {
          "name": "Ingest RAG Knowledge Document",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Product Catalog 2026\",\n  \"content\": \"Ring2All offers Carrier-Grade Class 4/5 Softswitch and Convergent Billing.\",\n  \"tags\": [\n    \"pricing\",\n    \"overview\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Live Translator Status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/live-translator/status",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "live-translator",
                "status"
              ]
            },
            "description": "Check status of active bilingual call translation sessions."
          }
        }
      ]
    },
    {
      "name": "🌐 SBC Connectors & Topology",
      "description": "Edge Session Border Controller connections, dispatcher heartbeat monitoring, and automated SIP trunk provisioning.",
      "item": [
        {
          "name": "List SBC Perimeter Connectors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "List linked Ring2All SBC nodes and carrier bridges."
          }
        },
        {
          "name": "Register SBC Connector",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Primary Edge SBC\",\n  \"sbc_ip\": \"192.168.10.32\",\n  \"api_url\": \"http://192.168.10.32/api\",\n  \"api_key\": \"sbc_live_...\",\n  \"sync_interval\": 60\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Sync SBC Trunks & Dispatchers",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/sync",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "sync"
              ]
            },
            "description": "Trigger bidirectional sync with Ring2All SBC."
          }
        },
        {
          "name": "Perimeter Network Topology",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/topology",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "topology"
              ]
            },
            "description": "Get graphical topology nodes and latency statistics."
          }
        }
      ]
    },
    {
      "name": "📱 Push Notifications & Mobile Devices",
      "description": "Apple APNs and Google FCM push tokens for iOS/Android softphones (Linphone, Acrobits, Ring2All Mobile).",
      "item": [
        {
          "name": "List Registered Push Devices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Register Mobile Device Push Token",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"platform\": \"ios\",\n  \"device_token\": \"abc123token...\",\n  \"voip_payload\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Send Push Wakeup Test",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/test",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "test"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"call_id\": \"test-call-12345\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Unregister Device Token",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices/{{device_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices",
                "{{device_id}}"
              ]
            },
            "description": ""
          }
        }
      ]
    },
    {
      "name": "⚡ Realtime Call Control & Channels",
      "description": "Originate outbound calls (Click2Call), monitor channels, spy/whisper, and hangup calls.",
      "item": [
        {
          "name": "Active Channels & Calls",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/active-calls",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "active-calls"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Originate Call (Click2Call)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/originate",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "originate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"caller_extension\": \"1001\",\n  \"destination_number\": \"13055551234\",\n  \"caller_id_name\": \"Support\",\n  \"timeout\": 30\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eavesdrop / Whisper to Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/spy",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "spy"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supervisor_extension\": \"1000\",\n  \"target_extension\": \"1001\",\n  \"mode\": \"whisper\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Terminate Active Call",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/hangup",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "hangup"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"call_uuid\": \"{{call_uuid}}\",\n  \"reason\": \"NORMAL_CLEARING\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "🤖 AI Voice Agents & RAG Hub",
      "description": "Realtime AI Voice Agents, LLM Provider Profiles, RAG Knowledge Hub, and Live Speech Translation.",
      "item": [
        {
          "name": "List AI Voice Agents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents"
              ]
            },
            "description": "List configured OpenAI Realtime / FreeSWITCH AI Voice Agents."
          }
        },
        {
          "name": "Get AI Agent Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Create AI Voice Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents"
              ]
            },
            "description": "Provision an AI voice assistant bound to an extension or inbound DID.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Customer Service AI Assistant\",\n  \"extension\": \"9000\",\n  \"ai_provider\": \"openai\",\n  \"model\": \"gpt-4o-realtime-preview\",\n  \"voice\": \"alloy\",\n  \"system_prompt\": \"You are a professional customer support representative for Ring2All.\",\n  \"temperature\": 0.7,\n  \"vad_mode\": \"server_vad\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Update AI Voice Agent",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Support Voice Agent - Updated\",\n  \"temperature\": 0.6\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete AI Voice Agent",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "List AI Providers & Models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-providers"
              ]
            },
            "description": "List configured AI Providers (OpenAI, Anthropic, DeepSeek, Groq, Ollama)."
          }
        },
        {
          "name": "Create AI Provider",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-providers"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Corporate OpenAI\",\n  \"provider_type\": \"openai\",\n  \"api_key\": \"sk-...\",\n  \"base_url\": \"https://api.openai.com/v1\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List RAG Knowledge Documents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "List contextual knowledge documents embedded in pgvector."
          }
        },
        {
          "name": "Ingest RAG Knowledge Document",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Product Catalog 2026\",\n  \"content\": \"Ring2All offers Carrier-Grade Class 4/5 Softswitch and Convergent Billing.\",\n  \"tags\": [\n    \"pricing\",\n    \"overview\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Live Translator Status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/live-translator/status",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "live-translator",
                "status"
              ]
            },
            "description": "Check status of active bilingual call translation sessions."
          }
        }
      ]
    },
    {
      "name": "🌐 SBC Connectors & Topology",
      "description": "Edge Session Border Controller connections, dispatcher heartbeat monitoring, and automated SIP trunk provisioning.",
      "item": [
        {
          "name": "List SBC Perimeter Connectors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "List linked Ring2All SBC nodes and carrier bridges."
          }
        },
        {
          "name": "Register SBC Connector",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Primary Edge SBC\",\n  \"sbc_ip\": \"192.168.10.32\",\n  \"api_url\": \"http://192.168.10.32/api\",\n  \"api_key\": \"sbc_live_...\",\n  \"sync_interval\": 60\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Sync SBC Trunks & Dispatchers",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/sync",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "sync"
              ]
            },
            "description": "Trigger bidirectional sync with Ring2All SBC."
          }
        },
        {
          "name": "Perimeter Network Topology",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/topology",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "topology"
              ]
            },
            "description": "Get graphical topology nodes and latency statistics."
          }
        }
      ]
    },
    {
      "name": "📱 Push Notifications & Mobile Devices",
      "description": "Apple APNs and Google FCM push tokens for iOS/Android softphones (Linphone, Acrobits, Ring2All Mobile).",
      "item": [
        {
          "name": "List Registered Push Devices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Register Mobile Device Push Token",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"platform\": \"ios\",\n  \"device_token\": \"abc123token...\",\n  \"voip_payload\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Send Push Wakeup Test",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/test",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "test"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"call_id\": \"test-call-12345\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Unregister Device Token",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/push-notifications/devices/{{device_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "push-notifications",
                "devices",
                "{{device_id}}"
              ]
            },
            "description": ""
          }
        }
      ]
    },
    {
      "name": "⚡ Realtime Call Control & Channels",
      "description": "Originate outbound calls (Click2Call), monitor channels, spy/whisper, and hangup calls.",
      "item": [
        {
          "name": "Active Channels & Calls",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/active-calls",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "active-calls"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Originate Call (Click2Call)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/originate",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "originate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"caller_extension\": \"1001\",\n  \"destination_number\": \"13055551234\",\n  \"caller_id_name\": \"Support\",\n  \"timeout\": 30\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eavesdrop / Whisper to Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/spy",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "spy"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supervisor_extension\": \"1000\",\n  \"target_extension\": \"1001\",\n  \"mode\": \"whisper\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Terminate Active Call",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/hangup",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "hangup"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"call_uuid\": \"{{call_uuid}}\",\n  \"reason\": \"NORMAL_CLEARING\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "🤖 AI Voice Agents & RAG Hub",
      "description": "Realtime AI Voice Agents, LLM Provider Profiles, RAG Knowledge Hub, and Live Speech Translation.",
      "item": [
        {
          "name": "List AI Voice Agents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "ai-agents"
              ]
            },
            "description": "List configured OpenAI Realtime / FreeSWITCH AI Voice Agents."
          }
        },
        {
          "name": "Get AI Agent Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Create AI Voice Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/ai-agents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "ai-agents"
              ]
            },
            "description": "Provision an AI voice assistant bound to an extension or inbound DID.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Customer Service AI Assistant\",\n  \"extension\": \"9000\",\n  \"ai_provider\": \"openai\",\n  \"model\": \"gpt-4o-realtime-preview\",\n  \"voice\": \"alloy\",\n  \"system_prompt\": \"You are a professional customer support representative for Ring2All.\",\n  \"temperature\": 0.7,\n  \"vad_mode\": \"server_vad\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "if (pm.response.code === 200 || pm.response.code === 201) {",
                  "    try {",
                  "        const res = pm.response.json();",
                  "        const newId = res.data?.id || res.id;",
                  "        if (newId) pm.environment.set(\"agent_id\", newId);",
                  "    } catch(e) {}",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ]
        },
        {
          "name": "Update AI Voice Agent",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Support Voice Agent - Updated\",\n  \"temperature\": 0.6\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete AI Voice Agent",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/ai-agents/{{agent_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "ai-agents",
                "{{agent_id}}"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "List AI Providers & Models",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai/providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai",
                "providers"
              ]
            },
            "description": "List configured AI Providers (OpenAI, Anthropic, DeepSeek, Groq, Ollama)."
          }
        },
        {
          "name": "Create AI Provider",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai/providers",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai",
                "providers"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Corporate OpenAI\",\n  \"provider_type\": \"openai\",\n  \"api_key\": \"sk-...\",\n  \"base_url\": \"https://api.openai.com/v1\",\n  \"is_active\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List RAG Knowledge Documents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "List contextual knowledge documents embedded in pgvector."
          }
        },
        {
          "name": "Ingest RAG Knowledge Document",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/ai-service-hub/documents",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "ai-service-hub",
                "documents"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"Product Catalog 2026\",\n  \"content\": \"Ring2All offers Carrier-Grade Class 4/5 Softswitch and Convergent Billing.\",\n  \"tags\": [\n    \"pricing\",\n    \"overview\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Live Translator Status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/live-translator/status",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "live-translator",
                "status"
              ]
            },
            "description": "Check status of active bilingual call translation sessions."
          }
        }
      ]
    },
    {
      "name": "🌐 SBC Connectors & Topology",
      "description": "Edge Session Border Controller connections, dispatcher heartbeat monitoring, and automated SIP trunk provisioning.",
      "item": [
        {
          "name": "List SBC Perimeter Connectors",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "List linked Ring2All SBC nodes and carrier bridges."
          }
        },
        {
          "name": "Register SBC Connector",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Primary Edge SBC\",\n  \"sbc_ip\": \"192.168.10.32\",\n  \"api_url\": \"http://192.168.10.32/api\",\n  \"api_key\": \"sbc_live_...\",\n  \"sync_interval\": 60\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Sync SBC Trunks & Dispatchers",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/sync",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "sync"
              ]
            },
            "description": "Trigger bidirectional sync with Ring2All SBC."
          }
        },
        {
          "name": "Perimeter Network Topology",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/sbc-connectors/topology",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "sbc-connectors",
                "topology"
              ]
            },
            "description": "Get graphical topology nodes and latency statistics."
          }
        }
      ]
    },
    {
      "name": "📱 Push Notifications & Mobile Devices",
      "description": "Apple APNs and Google FCM push tokens for iOS/Android softphones (Linphone, Acrobits, Ring2All Mobile).",
      "item": [
        {
          "name": "List Registered Push Devices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "push-notifications",
                "devices"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Register Mobile Device Push Token",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/push-notifications/devices",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "push-notifications",
                "devices"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"platform\": \"ios\",\n  \"device_token\": \"abc123token...\",\n  \"voip_payload\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Send Push Wakeup Test",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/push-notifications/test",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "push-notifications",
                "test"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"extension\": \"1001\",\n  \"call_id\": \"test-call-12345\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Unregister Device Token",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/push-notifications/devices/{{device_id}}",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "push-notifications",
                "devices",
                "{{device_id}}"
              ]
            },
            "description": ""
          }
        }
      ]
    },
    {
      "name": "⚡ Realtime Call Control & Channels",
      "description": "Originate outbound calls (Click2Call), monitor channels, spy/whisper, and hangup calls.",
      "item": [
        {
          "name": "Active Channels & Calls",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/active-calls",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "active-calls"
              ]
            },
            "description": ""
          }
        },
        {
          "name": "Originate Call (Click2Call)",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/originate",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "originate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"caller_extension\": \"1001\",\n  \"destination_number\": \"13055551234\",\n  \"caller_id_name\": \"Support\",\n  \"timeout\": 30\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eavesdrop / Whisper to Agent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/spy",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "spy"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supervisor_extension\": \"1000\",\n  \"target_extension\": \"1001\",\n  \"mode\": \"whisper\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Terminate Active Call",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{pbx_base_url}}/telephony/hangup",
              "host": [
                "{{pbx_base_url}}"
              ],
              "path": [
                "telephony",
                "hangup"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"call_uuid\": \"{{call_uuid}}\",\n  \"reason\": \"NORMAL_CLEARING\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    }
  ]
}