{ "opencollection": "1.0.0", "info": { "name": "Webex Admin Address Book Features: Virtual Extensions API", "version": "1.0.0" }, "items": [ { "info": { "name": "Features: Virtual Extensions", "type": "folder" }, "items": [ { "info": { "name": "Read the List of Virtual Extensions", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/virtualExtensions", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." }, { "name": "max", "value": "10", "type": "query", "description": "Limit the number of virtual extensions returned to this maximum count. Default is 10." }, { "name": "start", "value": "0", "type": "query", "description": "Start at the zero-based offset in the list of matching virtual extensions. Default is 0." }, { "name": "order", "value": "ASC", "type": "query", "description": "Order the list of virtual extensions in ascending or descending order. Default is ascending." }, { "name": "extension", "value": "5001", "type": "query", "description": "Filter the list of virtual extensions by extension number." }, { "name": "phoneNumber", "value": "+17011558169", "type": "query", "description": "Filter the list of virtual extensions by phone number." }, { "name": "name", "value": "John", "type": "query", "description": "Filter the list of virtual extensions by name. This can be either first name or last name." }, { "name": "locationName", "value": "Test1", "type": "query", "description": "Filter the list of virtual extensions by location name.(Only one of the locationName, locationId, and OrgLevelOnly query parameters is allowed at the same time.)" }, { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA", "type": "query", "description": "Filter the list of virtual extensions by location ID." }, { "name": "orgLevelOnly", "value": "true", "type": "query", "description": "Filter the list of virtual extensions by organization level. If orgLevelOnly is true, return only the organization level virtual extensions." } ] }, "docs": "Retrieve virtual extensions associated with a specific customer.\n\nThe GET Virtual Extensions API allows administrators to retrieve a list of virtual extensions configured within their organization. Virtual extensions enable users to dial extension numbers that route to external phone numbers, such as those of remote workers or frequently contacted clients.\nThis API returns key information including the extension, associated phone number (in E.164 format), display name, and the location to whic" }, { "info": { "name": "Create a Virtual Extension", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/virtualExtensions", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create new Virtual Extension for the given organization or location.\n\nYou can set up virtual extensions at the organization or location level. The organization level enables everyone across your organization to dial the same extension number to reach someone.\nYou can use the location level virtual extension like any other extension assigned to the specific location.\nUsers at the specific location can dial the extension. However, users at other locations can reach the virtual extension by dialing" }, { "info": { "name": "Get a Virtual Extension", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/virtualExtensions/:extensionId", "params": [ { "name": "extensionId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA", "type": "path", "description": "ID of the virtual extension." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ] }, "docs": "Retrieve Virtual Extension details for the given extension ID.\n\nVirtual extensions integrate remote workers on separate telephony systems into Webex Calling, enabling users to reach them via extension dialing.\nThis endpoint allows administrators to retrieve configuration details for a specific virtual extension, ensuring visibility into the mapping between extensions and external phone numbers.\n\nRetrieving a Virtual Extension requires a full or read-only administrator auth token with a scope of " }, { "info": { "name": "Update a Virtual Extension", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/telephony/config/virtualExtensions/:extensionId", "params": [ { "name": "extensionId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA", "type": "path", "description": "ID of the virtual extension." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update Virtual Extension details for the given extension ID.\n\nThis API updates the configuration of an existing virtual extension identified by its unique extension ID. Administrators can modify fields such as the extension, associated phone number (in E.164 format), display name, and location etc.\n\nUpdating a Virtual Extension requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write` and `identity:contacts_rw`." }, { "info": { "name": "Delete a Virtual Extension", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/telephony/config/virtualExtensions/:extensionId", "params": [ { "name": "extensionId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA", "type": "path", "description": "ID of the virtual extension." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ] }, "docs": "Delete Virtual Extension using the extension ID.\n\nThis API permanently deletes a virtual extension from the organization. Once deleted, the extension will no longer route calls to the external phone number, and users won’t be able to reach it via the assigned extension.\n\nDeleting a Virtual Extension requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write` and `identity:contacts_rw`." }, { "info": { "name": "Get Virtual extension settings", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/virtualExtensions/settings", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ] }, "docs": "Retrieve Virtual Extension settings for the given Org.\n\nThis API retrieves the virtual extension mode settings configured for a given organization. Virtual extensions can operate in two modes: STANDARD and ENHANCED. The selected mode determines how the system handles routing and signaling for virtual extensions.\nBy default, the virtual extensions that you create use the Standard mode. Another mode, enhanced signaling mode, is available to all customers, however, virtual extensions won't function" }, { "info": { "name": "Modify Virtual Extension Settings", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/telephony/config/virtualExtensions/settings", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update Virtual Extension details for the given extension ID.\n\nThis endpoint updates the virtual extension settings for an organization. It is primarily used to configure the operating mode for virtual extensions.\nModes determine how virtual extensions are assigned or managed within the system.\n\nUpdating a Virtual Extension requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`." }, { "info": { "name": "Validate an external phone number", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/virtualExtensions/actions/validateNumbers/invoke", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Validate external phone number for the given organization.\n\nThis API is designed to validate external phone numbers before they are assigned as virtual extensions for a customer.\nIt ensures that the provided numbers are properly formatted, eligible for use, and not already in use within the system.\nThis validation is typically part of a pre-check process during provisioning or number assignment workflows, helping administrators or systems prevent conflicts or errors related to number reuse or fo" }, { "info": { "name": "Get a list of a Virtual Extension Range", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." }, { "name": "max", "value": "10", "type": "query", "description": "Maximum number of results to return." }, { "name": "start", "value": "0", "type": "query", "description": "The starting index of the results to return." }, { "name": "order", "value": "name", "type": "query", "description": "Sort the list of virtual extension ranges by name or prefix, either ASC or DSC. Default sort order is ASC." }, { "name": "name", "value": "SalesVirtualExtensionRange", "type": "query", "description": "Filter the list of virtual extension ranges by name." }, { "name": "prefix", "value": "+1234", "type": "query", "description": "Filter the list of virtual extension ranges by prefix." }, { "name": "locationId", "value": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA", "type": "query", "description": "Filter the list of virtual extension ranges by location ID. Only one of the `locationId` and `OrgLevelOnly` query parameters is allowed at the same time." }, { "name": "orgLevelOnly", "value": "true", "type": "query", "description": "Filter the list of virtual extension ranges by organization level. If `orgLevelOnly` is true, return only the organization level virtual extension ranges." } ] }, "docs": "Retrieves the list of Virtual Extension Ranges.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nRetrieving a virtual extension range requires a full " }, { "info": { "name": "Create a Virtual Extension Range", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new Virtual Extension Range for the given organization or location.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nVirtual extension range " }, { "info": { "name": "Get details of a Virtual Extension Range", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges/:extensionRangeId", "params": [ { "name": "extensionRangeId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA", "type": "path", "description": "ID of the virtual extension range." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ] }, "docs": "Retrieve virtual extension range details for the given extension range ID.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nRetrieving a virtual exten" }, { "info": { "name": "Delete a Virtual Extension Range", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges/:extensionRangeId", "params": [ { "name": "extensionRangeId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA`", "type": "path", "description": "ID of the virtual extension range." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ] }, "docs": "Delete a virtual extension range for the given extension range ID.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nDeleting a virtual extension range" }, { "info": { "name": "Modify Virtual Extension Range", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges/:extensionRangeId/", "params": [ { "name": "extensionRangeId", "value": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OLzZkNmYwNmVlLTdkNDEtNDQ4Yy05MjgwLWZkM2ZiMDhmOGUyMA`", "type": "path", "description": "ID of the virtual extension range." }, { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Modify virtual extension range for the given extension range ID.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nModifying a virtual extension range " }, { "info": { "name": "Validate the prefix and extension pattern for a Virtual Extension Range", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/telephony/config/virtualExtensionRanges/actions/validate/invoke", "params": [ { "name": "orgId", "value": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE", "type": "query", "description": "Unique identifier for the organization." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Validate the prefix and extension pattern for a Virtual Extension Range.\n\nVirtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions.\nThis works in both Standard and Enhanced modes\n\nValidating a prefix and exte" } ] } ], "bundled": true }