{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/webex/main/json-schema/webex-test-call-routing-post-response-schema.json", "title": "TestCallRoutingPostResponse", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/webex-call-routing-api-openapi.yml#/components/schemas/TestCallRoutingPostResponse", "type": "object", "required": [ "destinationType", "routingAddress", "isRejected" ], "properties": { "callSourceInfo": { "$ref": "#/$defs/CallSourceInfo", "description": "Only returned when `originatorNumber` is specified in the request." }, "destinationType": { "$ref": "#/$defs/CallDestinationType", "description": "Destination type for the call." }, "routingAddress": { "type": "string", "description": "FAC code if `destinationType` is FAC. The routing address will be returned for all other destination types." }, "outsideAccessCode": { "type": "string", "description": "Outside access code." }, "isRejected": { "type": "boolean", "description": "`true` if the call would be rejected." }, "hostedAgent": { "$ref": "#/$defs/HostedAgent", "description": "Returned when `destinationType` is `HOSTED_AGENT`." }, "hostedFeature": { "$ref": "#/$defs/HostedFeature", "description": "Returned when `destinationType` is `HOSTED_FEATURE`." }, "pbxUser": { "$ref": "#/$defs/PbxUser", "description": "Returned when `destinationType` is `PBX_USER`." }, "pstnNumber": { "$ref": "#/$defs/PstnNumber", "description": "Returned when `destinationType` is `PSTN_NUMBER`." }, "virtualExtension": { "$ref": "#/$defs/VirtualExtension", "description": "Returned when `destinationType` is `VIRTUAL_EXTENSION`." }, "virtualExtensionRange": { "$ref": "#/$defs/VirtualExtensionRange", "description": "Returned when `destinationType` is `VIRTUAL_EXTENSION_RANGE`." }, "routeList": { "$ref": "#/$defs/RouteList", "description": "Returned when `destinationType` is `ROUTE_LIST`." }, "featureAccessCode": { "$ref": "#/$defs/FeatureAccessCode", "description": "Returned when `destinationType` is `FAC`." }, "emergency": { "$ref": "#/$defs/Emergency", "description": "Returned when `destinationType` is `EMERGENCY`." }, "repair": { "$ref": "#/$defs/Repair", "description": "Returned when `destinationType` is `REPAIR`." }, "unknownExtension": { "$ref": "#/$defs/UnknownExtension", "description": "Returned when `destinationType` is `UNKNOWN_EXTENSION`." }, "unknownNumber": { "$ref": "#/$defs/UnknownNumber", "description": "Returned when `destinationType` is `UNKNOWN_NUMBER`." }, "appliedServices": { "type": "array", "items": { "$ref": "#/$defs/AppliedServices" }, "description": "Returned if any origin is configured with intercept details, outgoing permissions by type, or translation pattern." } }, "$defs": { "AppliedServices": { "type": "object", "properties": { "translationPattern": { "$ref": "#/$defs/TranslationPattern", "description": "Returns the details of the Translation Pattern if applied." }, "interceptDetails": { "$ref": "#/$defs/CallInterceptDetails", "description": "Returns the details of call intercept if applied." }, "outgoingCallingPlanPermissionsByType": { "$ref": "#/$defs/OutgoingCallingPlanPermissionsByType", "description": "Returns the details of permissions by type configuration if applied under OCP." }, "outgoingCallingPlanPermissionsByDigitPattern": { "$ref": "#/$defs/OutgoingCallingPlanPermissionsByDigitPattern", "description": "Returns the details of the digit pattern configuration if applied under OCP." } } }, "CallDestinationType": { "type": "string", "enum": [ "HOSTED_AGENT", "HOSTED_FEATURE", "PBX_USER", "PSTN_NUMBER", "VIRTUAL_EXTENSION", "VIRTUAL_EXTENSION_RANGE", "ROUTE_LIST", "FAC", "EMERGENCY", "REPAIR", "UNKNOWN_EXTENSION", "UNKNOWN_NUMBER" ], "description": " * `HOSTED_AGENT` - A destination is a person or workspace with details in the `hostedAgent` field.\n * `HOSTED_FEATURE` - Destination is a calling feature like auto-attendant or hunt group with details in the `hostedFeature` field.\n * `PBX_USER` - Destination routes into a separate PBX with details in the `pbxUser` field.\n * `PSTN_NUMBER` - Destination routes into a PSTN phone number with details in the `pstnNumber` field.\n * `VIRTUAL_EXTENSION` - Destination routes into a virtual extension with details in the `virtualExtension` field.\n * `VIRTUAL_EXTENSION_RANGE` - Destination routes into a virtual extension range with details in the `virtualExtensionRange` field.\n * `ROUTE_LIST` - Destination routes into a route list with details in the `routeList` field.\n * `FAC` - Destination routes into a feature access code (FAC) with details in the `featureAccessCode` field.\n * `EMERGENCY` - Destination routes into an emergency service like Red Sky, with details in the `emergency` field.\n * `REPAIR` - The route is in a repair state with routing choice details in the `repair` field.\n * `UNKNOWN_EXTENSION` - Target extension is unknown with routing choice details in the `unknownExtension` field.\n * `UNKNOWN_NUMBER` - The target phone number is unknown with routing choice details in the `unknownNumber` field.\n" }, "CallInterceptDetails": { "type": "object", "required": [ "configurationLevel", "permission" ], "properties": { "configurationLevel": { "$ref": "#/$defs/ConfigurationLevelType", "description": "The level from which the configuration is applied." }, "permission": { "type": "string", "enum": [ "DISALLOW", "TRANSFER" ], "description": "The choices that indicate call intercept permissions.\n * `DISALLOW` - Call intercept is disabled.\n * `TRANSFER` - Call intercept is transferred to a number.\n" }, "transferNumber": { "type": "string", "description": "The number to which the outgoing permission by type is to be transferred." } } }, "CallSourceInfo": { "type": "object", "required": [ "callSourceType" ], "properties": { "callSourceType": { "$ref": "#/$defs/CallSourceType", "description": "Type of call source." }, "routeListName": { "type": "string", "description": "Name of a route list. When `originatorType` is `trunk`, `originatorId` is a valid trunk and the trunk belongs to a route group which is assigned to a route list with the name `routeListA` and also `originatorNumber` is a number assigned to `routeListA`, then `routeListA` is returned here. This element is returned when `callSourceType` is `ROUTE_LIST`." }, "routeListId": { "type": "string", "description": "Unique identifier for the route list." }, "dialPlanName": { "type": "string", "description": "Name of a dial plan. When `originatorType` is `trunk`, `originatorId` is a valid trunk with the name `trunkA`, `trunkA` belongs to a route group which is assigned to a route list with the name `routeListA`, `trunkA` is also assigned to `dialPlanA` as routing choice, `dialPlanA` has `dialPattern` xxxx assigned. If the `originatorNumber` matches the `dialPattern` `xxxx`, `dialPlanA` is returned. This element is returned when `callSourceType` is `DIAL_PATTERN`." }, "dialPattern": { "type": "string", "description": "Pattern given to a dial plan. When `originatorType` is `trunk`, `originatorId` is a valid trunk with the name `trunkA`, `trunkA` belongs to a route group which is assigned to a route list with the name `routeListA`, `trunkA` is also assigned to `dialPlanA` as routing choice, `dialPlanA` has `dialPattern` `xxxx` assigned. If the `originatorNumber` matches the `dialPattern` `xxxx`, `dialPattern` `xxxx` is returned. This element is returned when `callSourceType` is `DIAL_PATTERN`." }, "dialPlanId": { "type": "string", "description": "Unique identifier for dial plan." } } }, "CallSourceType": { "type": "string", "enum": [ "ROUTE_LIST", "DIAL_PATTERN", "UNKOWN_EXTENSION", "UNKOWN_NUMBER" ], "description": " * `ROUTE_LIST` - Route list is a type of call source.\n * `DIAL_PATTERN` - Dial pattern is a type of call source.\n * `UNKOWN_EXTENSION` - The call source extension is unknown.\n * `UNKOWN_NUMBER` - The call source phone number is unknown.\n" }, "CallingPermissionAction": { "type": "string", "enum": [ "ALLOW", "BLOCK", "AUTH_CODE", "TRANSFER_NUMBER_1", "TRANSFER_NUMBER_2", "TRANSFER_NUMBER_3" ], "description": " * `ALLOW` - Allow the designated call type.\n * `BLOCK` - Block the designated call type.\n * `AUTH_CODE` - Allow only via Authorization Code.\n * `TRANSFER_NUMBER_1` - Transfer to Auto Transfer Number 1. The answering person can then approve the call and send it through or reject the call.\n * `TRANSFER_NUMBER_2` - Transfer to Auto Transfer Number 2. The answering person can then approve the call and send it through or reject the call.\n * `TRANSFER_NUMBER_3` - Transfer to Auto Transfer Number 3. The answering person can then approve the call and send it through or reject the call.\n" }, "CallingPlanReason": { "type": "string", "enum": [ "FRAUD_CONTAINMENT", "CISCO_CALLING_PLAN", "TRANSFER_NUMBER_1_NOT_CONFIGURED", "TRANSFER_NUMBER_2_NOT_CONFIGURED", "TRANSFER_NUMBER_3_NOT_CONFIGURED", "WEBEX_MOBILE_PREMIUM_INTERNATIONAL_TRANSFER_FORWARD" ], "description": " * `FRAUD_CONTAINMENT` - Calling plan gives the Fraud Containment reason.\n * `CISCO_CALLING_PLAN` - The Cisco calling plan reason.\n * `TRANSFER_NUMBER_1_NOT_CONFIGURED` - The reason if the transfer number 1 is not configured.\n * `TRANSFER_NUMBER_2_NOT_CONFIGURED` - The reason if the transfer number 2 is not configured.\n * `TRANSFER_NUMBER_3_NOT_CONFIGURED` - The reason if the transfer number 3 is not configured.\n * `WEBEX_MOBILE_PREMIUM_INTERNATIONAL_TRANSFER_FORWARD` - The reason for Webex mobile international transfer forward.\n" }, "ConfigurationLevelType": { "type": "string", "enum": [ "LOCATION", "PEOPLE", "PLACE", "VIRTUAL_LINE" ], "description": " * `LOCATION` - The applied services at the location level.\n * `PEOPLE` - The applied services at the people level.\n * `PLACE` - The applied services at the place level.\n * `VIRTUAL_LINE` - The applied services at the virtual line level.\n" }, "Emergency": { "type": "object", "required": [ "isRedSky" ], "properties": { "isRedSky": { "type": "boolean", "description": "If `RedSky` is in use." }, "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group that is associated with trunk specified by `trunkId`." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Unique identifier of the location of the trunk; required if `trunkName` is returned." } } }, "FeatureAccessCode": { "type": "object", "description": "Details of a feature access code configured for services that are assigned to the authenticated user.", "required": [ "name", "code" ], "properties": { "name": { "type": "string", "description": "Feature Access Code name." }, "code": { "type": "string", "description": "Feature Access Code." }, "alternateCode": { "type": "string", "description": "Alternate Code for the Feature Access Code." } } }, "HostedAgent": { "type": "object", "required": [ "id", "type", "firstName", "lastName", "locationName", "locationId" ], "properties": { "id": { "type": "string", "description": "Unique identifier for the person or workspace agent identified as call destination." }, "type": { "$ref": "#/$defs/HostedAgentType", "description": "Type of agent for call destination." }, "firstName": { "type": "string", "description": "First name for the hosted agent specified by `id`." }, "lastName": { "type": "string", "description": "Last name for the hosted agent specified by `id`." }, "locationName": { "type": "string", "description": "Name of hosted agent's location." }, "locationId": { "type": "string", "description": "Unique identifier for hosted agent's location." }, "phoneNumber": { "type": "string", "description": "Phone number for the hosted agent." }, "extension": { "type": "string", "description": "Extension for the hosted agent." } } }, "HostedAgentType": { "type": "string", "enum": [ "PEOPLE", "PLACE" ], "description": " * `PEOPLE` - This object is a person.\n * `PLACE` - A workspace that is not assigned to a specific person such as for a shared device in a common area.\n" }, "HostedFeature": { "type": "object", "required": [ "type", "name", "id", "locationName", "locationId" ], "properties": { "type": { "$ref": "#/$defs/ServiceType", "description": "Type of the service identified as call destination." }, "name": { "type": "string", "description": "Name of the service identified as call destination." }, "id": { "type": "string", "description": "Unique identifier of the service identified as call destination." }, "locationName": { "type": "string", "description": "Name of the location with which the service is associated." }, "locationId": { "type": "string", "description": "Unique identifier for the location of the service." }, "phoneNumber": { "type": "string", "description": "Phone number of the service." }, "extension": { "type": "string", "description": "Extension of the service." } } }, "OutgoingCallingPlanPermissionsByDigitPattern": { "type": "object", "required": [ "name", "transferNumber", "pattern", "number" ], "properties": { "configurationLevel": { "$ref": "#/$defs/ConfigurationLevelType", "description": "The level from which the configuration is applied." }, "name": { "type": "string", "description": "Name given to a digit pattern." }, "permission": { "$ref": "#/$defs/CallingPermissionAction", "description": "Action to be performed on the input number that matches with the digit pattern." }, "transferNumber": { "type": "string" }, "pattern": { "type": "string", "description": "Pattern for the digit pattern." }, "reason": { "$ref": "#/$defs/CallingPlanReason", "description": "The reason for the result reported for a non-standard OCP service." }, "number": { "type": "string", "description": "A transfer number is present in case of a transfer to another number." } } }, "OutgoingCallingPlanPermissionsByType": { "type": "object", "required": [ "number" ], "properties": { "configurationLevel": { "$ref": "#/$defs/ConfigurationLevelType", "description": "The level from which the configuration is applied." }, "callType": { "type": "string", "enum": [ "INTERNAL_CALL", "TOLL_FREE", "INTERNATIONAL", "OPERATOR_ASSISTED", "CHARGEABLE_DIRECTORY_ASSISTED", "SPECIAL_SERVICES_I", "SPECIAL_SERVICES_II", "PREMIUM_SERVICES_I", "PREMIUM_SERVICES_II", "NATIONAL" ], "description": "Designates the action to be taken for each call type and if transferring the call type is allowed.\n * `INTERNAL_CALL` - Controls calls within your own company.\n * `TOLL_FREE` - Controls calls to a telephone number that is billed for all arriving calls instead of incurring charges to the originating caller, usually free of charge from a landline.\n * `INTERNATIONAL` - Controls calls to locations outside of the long-distance areas that require an international calling code before the number is dialed.\n * `OPERATOR_ASSISTED` - Controls calls requiring Operator Assistance.\n * `CHARGEABLE_DIRECTORY_ASSISTED` - Controls calls to Directory Assistant companies that require a charge to connect the call.\n * `SPECIAL_SERVICES_I` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `SPECIAL_SERVICES_II` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `PREMIUM_SERVICES_I` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `PREMIUM_SERVICES_II` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `NATIONAL` - Controls calls that are within your country of origin, both within and outside of your local area code.\n" }, "permission": { "$ref": "#/$defs/CallingPermissionAction", "description": "Action to be performed on the input number that matches with the OCP." }, "transferNumber": { "type": "string", "description": "The number to which the outgoing permission by type is to be transferred." }, "reason": { "$ref": "#/$defs/CallingPlanReason", "description": "The reason for the result reported for non-standard OCP service." }, "number": { "type": "string", "description": "A transfer number is present in case it gets transferred to some other number." } } }, "PbxUser": { "type": "object", "required": [ "dialPlanName", "dialPlanId", "dialPattern" ], "properties": { "dialPlanName": { "type": "string", "description": "Dial plan name that the called string matches." }, "dialPlanId": { "type": "string", "description": "Unique identifier for the dial plan." }, "dialPattern": { "type": "string", "description": "Dial pattern that the called string matches." }, "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "PstnNumber": { "type": "object", "properties": { "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "Repair": { "type": "object", "properties": { "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "RouteList": { "type": "object", "required": [ "id", "name", "routeGroupName", "routeGroupId", "locationName", "locationId" ], "properties": { "id": { "type": "string", "description": "Unique identifier of the route list." }, "name": { "type": "string", "description": "Name of the route list." }, "routeGroupName": { "type": "string", "description": "Name of the route group the route list is associated with." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group the route list is associated with." }, "locationName": { "type": "string", "description": "Location name of the route list." }, "locationId": { "type": "string", "description": "Location ID of the route list." } } }, "ServiceType": { "type": "string", "enum": [ "AUTO_ATTENDANT", "BROADWORKS_ANYWHERE", "CALL_QUEUE", "CONTACT_CENTER_LINK", "GROUP_PAGING", "HUNT_GROUP", "VOICE_MESSAGING", "VOICE_MAIL_GROUP" ], "description": " * `AUTO_ATTENDANT` - The destination is an auto attendant.\n * `BROADWORKS_ANYWHERE` - The destination is the Office (Broadworks) Anywhere feature.\n * `CALL_QUEUE` - The destination is the Call Queue feature.\n * `CONTACT_CENTER_LINK` - The destination is the Contact Center Link feature.\n * `GROUP_PAGING` - The destination is the Group Paging feature.\n * `HUNT_GROUP` - The destination is the Hunt Group feature.\n * `VOICE_MESSAGING` - The destination is the Voice Messaging feature.\n * `VOICE_MAIL_GROUP` - The destination is the Voice Mail Group feature.\n" }, "TranslationPattern": { "type": "object", "properties": { "configurationLevel": { "type": "string", "enum": [ "LOCATION", "ORGANIZATION" ], "description": "The level from which the configuration is applied.\n * `LOCATION` - The applied services of location level.\n * `ORGANIZATION` - The applied services of the organization level.\n" }, "name": { "type": "string", "description": "Name given to a translation pattern." }, "matchingPattern": { "type": "string", "description": "Matching pattern given to a translation pattern." }, "replacementPattern": { "type": "string", "description": "Replacement pattern given to a translation pattern." }, "matchedNumber": { "type": "string", "description": "The original called number." }, "translatedNumber": { "type": "string", "description": "The modified number after matching against `matchingPattern` and replacing with corresponding `replacementPattern`." } } }, "UnknownExtension": { "type": "object", "properties": { "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "UnknownNumber": { "type": "object", "properties": { "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "VirtualExtension": { "type": "object", "required": [ "id", "displayName", "extension", "phoneNumber" ], "properties": { "id": { "type": "string", "description": "Unique identifier for the virtual extension." }, "firstName": { "type": "string", "description": "First name of the virtual extension." }, "lastName": { "type": "string", "description": "Last name of the virtual extension." }, "displayName": { "type": "string", "description": "Full name of the virtual extension." }, "extension": { "type": "string", "description": "Extension that the virtual extension is associated with." }, "phoneNumber": { "type": "string", "description": "Phone number that the virtual extension is associated with." }, "locationName": { "type": "string", "description": "Location name if the virtual extension is at the location level, empty if it is at the customer level." }, "locationId": { "type": "string", "description": "Location ID if the virtual extension is at the location level, empty if it is at the customer level." }, "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } }, "VirtualExtensionRange": { "type": "object", "required": [ "id", "prefix", "pattern" ], "properties": { "id": { "type": "string", "description": "Unique identifier for virtual extension range." }, "name": { "type": "string", "description": "Name of the virtual extension range." }, "prefix": { "type": "string", "description": "Prefix that the virtual extension range is associated with (Note: Standard mode must have leading '+' in prefix; BCD/Enhanced mode can have any valid prefix)." }, "pattern": { "type": "string", "description": "Pattern associated with the virtual extension range." }, "locationName": { "type": "string", "description": "Location name if the virtual extension range is at the location level, empty if it is at the customer level." }, "locationId": { "type": "string", "description": "Location ID if the virtual extension range is at the location level, empty if it is at customer level." }, "trunkName": { "type": "string", "description": "Name of the trunk." }, "trunkId": { "type": "string", "description": "Unique identifier of the trunk." }, "routeGroupName": { "type": "string", "description": "Name of the route group." }, "routeGroupId": { "type": "string", "description": "Unique identifier of the route group." }, "trunkLocationName": { "type": "string", "description": "Location of the trunk; required if `trunkName` is returned." }, "trunkLocationId": { "type": "string", "description": "Location ID of the trunk; required if `trunkName` is returned." } } } } }