Webex Call Routing API

The Call Routing API from Webex — 28 operation(s) for call routing.

OpenAPI Specification

webex-call-routing-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Webex Admin Address Book Call Routing API
  version: 1.0.0
  description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling.
tags:
- name: Call Routing
paths:
  /telephony/config/actions/testCallRouting/invoke:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestCallRoutingPostResponse'
              example:
                callSourceInfo:
                  callSourceType: DIAL_PATTERN
                  routeListName: routeList1
                  routeListId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0xJU1QvZDA2YWQ5M2QtY2NkOC00MzI1LTg0YzUtMDA2NThhYTdhMDBj
                  dialPlanName: dialPlan1
                  dialPattern: '*888'
                  dialPlanId: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
                destinationType: HOSTED_AGENT
                routingAddress: '007'
                outsideAccessCode: '1234'
                isRejected: false
                hostedAgent:
                  id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mMjU4YjhmZi1lODIxLTQ3MDktYTI2My1mMmI4OWZjN2FlYmQ
                  type: PEOPLE
                  firstName: firstName
                  lastName: lastName
                  locationName: locationName
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                  phoneNumber: '9874531287'
                  extension: '111'
                hostedFeature:
                  type: AUTO_ATTENDANT
                  name: name1
                  id: Y2lzY29zcGFyazovL3VzL0FVVE9fQVRURU5EQU5UL2QyRXdhV2R5TVRCamIwQTJORGswTVRJNU55NXBiblF4TUM1aVkyeGtMbmRsWW1WNExtTnZiUT09
                  locationName: locationName1
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                  phoneNumber: '9874531287'
                  extension: '111'
                pbxUser:
                  dialPlanName: dialPlan1
                  dialPlanId: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
                  dialPattern: 442xxx
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                pstnNumber:
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                virtualExtension:
                  id: Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfRVhURU5TSU9OL2U4NTU0MGJjLWFiNDMtNGZjOS05ZThlLTkxZjRkN2E3ZjU5Ng
                  firstName: firstName1
                  lastName: lastName1
                  displayName: displayName1
                  extension: '0007'
                  phoneNumber: '8701278963'
                  locationName: locationName1
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                virtualExtensionRange:
                  id: OTI0NzM1OTQtZGU1Mi00ZjViLTk0YjItN2Y5MzRmY2Y2NDk3
                  name: firstName1
                  prefix: '+1214555'
                  pattern: 2XXX
                  locationName: locationName1
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                routeList:
                  id: Y2lzY29zcGFyazovL3VzL1JPVVRFX0xJU1QvZDA2YWQ5M2QtY2NkOC00MzI1LTg0YzUtMDA2NThhYTdhMDBj
                  name: routeListName1
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  locationName: locationName1
                  locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                featureAccessCode:
                  code: '*70'
                  name: Cancel Call Waiting
                emergency:
                  isRedSky: true
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                repair:
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                unknownExtension:
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                unknownNumber:
                  trunkName: trunkName1
                  trunkId: Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ
                  routeGroupName: routeGroupName1
                  routeGroupId: Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg
                  trunkLocationName: trunkLocationName1
                  trunkLocationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA
                appliedServices:
                - translationPattern:
                    configurationLevel: ORGANIZATION
                    name: TP1
                    matchingPattern: +91XXX
                    replacementPattern: '+91234'
                    matchedNumber: '+91236'
                    translatedNumber: '+91234'
                  interceptDetails:
                    configurationLevel: USER
                    permission: TRANSFER
                    transferNumber: '+14157279300'
                  outgoingCallingPlanPermissionsByType:
                    configurationLevel: PEOPLE
                    callType: INTERNAL_CALL
                    permission: ALLOW
                    transferNumber: '+14157279300'
                    reason: FRAUD_CONTAINMENT
                    number: '+14157279300'
                  outgoingCallingPlanPermissionsByDigitPattern:
                    configurationLevel: USER
                    name: DPattern
                    permission: ALLOW
                    transferNumber: '+14157279300'
                    pattern: +91!
                    reason: FRAUD_CONTAINMENT
                    number: '+14157279300'
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Test Call Routing
      operationId: Test Call Routing
      description: 'Validates that an incoming call can be routed.


        Dial plans route calls to on-premises destinations by use of trunks or route groups.

        They are configured globally for an enterprise and apply to all users, regardless of location.

        A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns.

        Specific dial patterns can be defined as part of your dial plan.


        Test call routing requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.'
      tags:
      - Call Routing
      parameters:
      - name: orgId
        in: query
        description: Organization in which we are validating a call routing.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              originatorId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xMWEzZjk5MC1hNjg5LTQ3N2QtYmU2Yi03MTIwMDI1ZDhhYmI
              originatorType: PEOPLE
              destination: '0007'
              includeAppliedServices: true
            schema:
              type: object
              required:
              - originatorId
              - originatorType
              - destination
              properties:
                originatorId:
                  type: string
                  example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS8xMWEzZjk5MC1hNjg5LTQ3N2QtYmU2Yi03MTIwMDI1ZDhhYmI
                  description: This element is used to identify the originating party. It can be a person ID or a trunk ID.
                originatorType:
                  $ref: '#/components/schemas/OriginatorType'
                  description: This element is used to identify if the `originatorId` is of type `PEOPLE` or `TRUNK`.
                originatorNumber:
                  type: string
                  example: '9871568630'
                  description: Only used when `originatorType` is `TRUNK`. The `originatorNumber` can be a phone number or URI.
                destination:
                  type: string
                  example: '0007'
                  description: This element specifies the called party. It can be any dialable string, for example, an ESN number, E.164 number, hosted user DN, extension, extension with location code, URL, or FAC code.
                includeAppliedServices:
                  type: boolean
                  example: true
                  description: This element is used to retrieve if any translation pattern, call intercept, permission by type or permission by digit pattern is present for the called party.
  /telephony/config/premisePstn/trunks/{trunkId}/usageDialPlan:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                required:
                - dialPlans
                properties:
                  dialPlans:
                    type: array
                    items:
                      $ref: '#/components/schemas/DialPlanUsageGetResponse'
                    description: Array of dial Plans.
              example:
                dialPlans:
                - id: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
                  name: dialPlanName
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Get Local Gateway Dial Plan Usage for a Trunk
      operationId: Get Local Gateway Dial Plan Usage for a Trunk
      description: 'Get Local Gateway Dial Plan Usage for a Trunk.


        A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device.

        The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.


        Retrieving this information requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - Call Routing
      parameters:
      - name: trunkId
        in: path
        description: ID of the trunk.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
        schema:
          type: string
      - name: orgId
        in: query
        description: Organization to which the trunk belongs.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
      - name: start
        in: query
        description: Start at the zero-based offset in the list of matching objects.
        example: '0'
        schema:
          type: number
      - name: max
        in: query
        description: Limit the number of objects returned to this maximum count.
        example: '5'
        schema:
          type: number
      - name: order
        in: query
        description: Order the trunks according to the designated fields.  Available sort fields are `name`, and `locationName`. Sort order is ascending by default
        example: name-asc|locationName-desc
        schema:
          type: string
      - name: name
        in: query
        description: Return the list of trunks matching the local gateway names
        example: LG1,LG2
        schema:
          type: array
          items:
            type: string
            example: LG1,LG2
          description: Return the list of trunks matching the local gateway names
  /telephony/config/premisePstn/trunks/{trunkId}/usagePstnConnection:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                required:
                - locations
                properties:
                  locations:
                    type: array
                    items:
                      $ref: '#/components/schemas/Location'
                    description: Array of locations.
              example:
                locations:
                - id: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
                  name: locationName
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Get Locations Using the Local Gateway as PSTN Connection Routing
      operationId: Get Locations Using the Local Gateway as PSTN Connection Routing
      description: 'Get Locations Using the Local Gateway as PSTN Connection Routing.


        A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device.

        The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.


        Retrieving this information requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - Call Routing
      parameters:
      - name: trunkId
        in: path
        description: ID of the trunk.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
        schema:
          type: string
      - name: orgId
        in: query
        description: Organization to which the trunk belongs.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
  /telephony/config/premisePstn/trunks/{trunkId}/usageRouteGroup:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                required:
                - routeGroup
                properties:
                  routeGroup:
                    type: array
                    items:
                      $ref: '#/components/schemas/RouteGroupUsageGetResponse'
                    description: Array of route Groups.
              example:
                routeGroup:
                - id: NTJiZmUxNDAtYjIwMS00NTUzLWI1OGQtMmVkNDU1NTFmYTUy
                  name: RouteGroup01
                  inUse: true
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Get Route Groups Using the Local Gateway
      operationId: Get Route Groups Using the Local Gateway
      description: 'Get Route Groups Using the Local Gateway.


        A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device.

        The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.


        Retrieving this information requires a full administrator auth token with a scope of `spark-admin:telephony_config_read`.'
      tags:
      - Call Routing
      parameters:
      - name: trunkId
        in: path
        description: ID of the trunk.
        required: true
        example: Y2lzY29zcGFyazovL3VzL0RJQUxfUExBTi8wNTlhMjczZS1iYmIwLTExZWMtODQyMi0wMjQyYWMxMjAwMDI
        schema:
          type: string
      - name: orgId
        in: query
        description: Organization to which the trunk belongs.
        example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
        schema:
          type: string
  /telephony/config/premisePstn/trunks/{trunkId}/usage:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocalGatewayUsageCount'
              example:
                pstnConnectionCount: 1
                callToExtensionCount: 1
                dialPlanCount: 1
                routeGroupCount: 1
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Get Local Gateway Usage Count
      operationId: Get Local Gateway Usage Count
      description: 'Get Local Gateway Usage Count


        A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device.

        The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.


        Retrieving this information requires a full a

# --- truncated at 32 KB (281 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-call-routing-api-openapi.yml