Webex · Capability

Webex Cloud Calling — PSTN

Webex Cloud Calling — PSTN. 7 operations. Lead operation: Setup PSTN Connection for a Location. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexPSTN

What You Can Do

PUT
Setuppstnconnectionforalocation — Setup PSTN Connection for a Location
/v1/telephony/pstn/locations/{locationid}/connection
GET
Retrievepstnconnectionforalocation — Retrieve PSTN Connection for a Location
/v1/telephony/pstn/locations/{locationid}/connection
GET
Retrievepstnconnectionoptionsforalocation — Retrieve PSTN Connection Options for a Location
/v1/telephony/pstn/locations/{locationid}/connectionoptions
POST
Addemergencyaddresstolocation — Add an Emergency Address to a Location
/v1/telephony/pstn/locations/{locationid}/emergencyaddress
POST
Emergencyaddresslookup — Emergency Address Lookup to Verify if Address is Valid
/v1/telephony/pstn/locations/{locationid}/emergencyaddress/lookup
PUT
Updateemergencyaddressoflocation — Update the Emergency Address of a Location
/v1/telephony/pstn/locations/{locationid}/emergencyaddresses/{addressid}
PUT
Updateemergencyaddressforphonenumber — Update the Emergency Address for a Phone Number
/v1/telephony/pstn/numbers/{phonenumber}/emergencyaddress

MCP Tools

setup-pstn-connection-location

Setup PSTN Connection for a Location

idempotent
retrieve-pstn-connection-location

Retrieve PSTN Connection for a Location

read-only idempotent
retrieve-pstn-connection-options-location

Retrieve PSTN Connection Options for a Location

read-only idempotent
add-emergency-address-location

Add an Emergency Address to a Location

emergency-address-lookup-verify-if

Emergency Address Lookup to Verify if Address is Valid

read-only
update-emergency-address-location

Update the Emergency Address of a Location

idempotent
update-emergency-address-phone-number

Update the Emergency Address for a Phone Number

idempotent

Capability Spec

cloud-calling-pstn.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — PSTN
  description: 'Webex Cloud Calling — PSTN. 7 operations. Lead operation: Setup PSTN Connection for a Location. Self-contained
    Naftiko capability covering one Webex business surface.'
  tags:
  - Webex
  - PSTN
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-calling-pstn
    baseUri: ''
    description: Webex Cloud Calling — PSTN business capability. Self-contained, no shared references.
    resources:
    - name: telephony-pstn-locations-locationId-connection
      path: /telephony/pstn/locations/{locationId}/connection
      operations:
      - name: setuppstnconnectionforalocation
        method: PUT
        description: Setup PSTN Connection for a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Setup PSTN location connection options for this location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Setup PSTN location connection for this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: retrievepstnconnectionforalocation
        method: GET
        description: Retrieve PSTN Connection for a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Retrieve PSTN location connection details for this location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Retrieve PSTN location connection details for this organization.
    - name: telephony-pstn-locations-locationId-connectionOptions
      path: /telephony/pstn/locations/{locationId}/connectionOptions
      operations:
      - name: retrievepstnconnectionoptionsforalocation
        method: GET
        description: Retrieve PSTN Connection Options for a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Return the list of List PSTN location connection options for this location.
          required: true
        - name: orgId
          in: query
          type: string
          description: List PSTN location connection options for this organization.
        - name: serviceTypes
          in: query
          type: array
          description: Use the `serviceTypes` parameter to fetch connections for the following services
    - name: telephony-pstn-locations-locationId-emergencyAddress
      path: /telephony/pstn/locations/{locationId}/emergencyAddress
      operations:
      - name: addemergencyaddresstolocation
        method: POST
        description: Add an Emergency Address to a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Location to which the emergency address will be added.
          required: true
        - name: orgId
          in: query
          type: string
          description: Adding emergency address for a location in this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: telephony-pstn-locations-locationId-emergencyAddress-lookup
      path: /telephony/pstn/locations/{locationId}/emergencyAddress/lookup
      operations:
      - name: emergencyaddresslookup
        method: POST
        description: Emergency Address Lookup to Verify if Address is Valid
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Emergency address lookup for this location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Emergency address lookup for this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: telephony-pstn-locations-locationId-emergencyAddresses-addressId
      path: /telephony/pstn/locations/{locationId}/emergencyAddresses/{addressId}
      operations:
      - name: updateemergencyaddressoflocation
        method: PUT
        description: Update the Emergency Address of a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Location for which the emergency address will be updated.
          required: true
        - name: addressId
          in: path
          type: string
          description: Unique identifier for the emergency address that will be updated.
          required: true
        - name: orgId
          in: query
          type: string
          description: Updating the emergency address of a location in this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: telephony-pstn-numbers-phoneNumber-emergencyAddress
      path: /telephony/pstn/numbers/{phoneNumber}/emergencyAddress
      operations:
      - name: updateemergencyaddressforphonenumber
        method: PUT
        description: Update the Emergency Address for a Phone Number
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: phoneNumber
          in: path
          type: string
          description: Update the emergency address for this phone number.
          required: true
        - name: orgId
          in: query
          type: string
          description: Update the emergency address of phone number in this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-pstn-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — PSTN. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/telephony/pstn/locations/{locationid}/connection
      name: telephony-pstn-locations-locationid-connection
      description: REST surface for telephony-pstn-locations-locationId-connection.
      operations:
      - method: PUT
        name: setuppstnconnectionforalocation
        description: Setup PSTN Connection for a Location
        call: cloud-calling-pstn.setuppstnconnectionforalocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: retrievepstnconnectionforalocation
        description: Retrieve PSTN Connection for a Location
        call: cloud-calling-pstn.retrievepstnconnectionforalocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/pstn/locations/{locationid}/connectionoptions
      name: telephony-pstn-locations-locationid-connectionoptions
      description: REST surface for telephony-pstn-locations-locationId-connectionOptions.
      operations:
      - method: GET
        name: retrievepstnconnectionoptionsforalocation
        description: Retrieve PSTN Connection Options for a Location
        call: cloud-calling-pstn.retrievepstnconnectionoptionsforalocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
          serviceTypes: rest.serviceTypes
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/pstn/locations/{locationid}/emergencyaddress
      name: telephony-pstn-locations-locationid-emergencyaddress
      description: REST surface for telephony-pstn-locations-locationId-emergencyAddress.
      operations:
      - method: POST
        name: addemergencyaddresstolocation
        description: Add an Emergency Address to a Location
        call: cloud-calling-pstn.addemergencyaddresstolocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/pstn/locations/{locationid}/emergencyaddress/lookup
      name: telephony-pstn-locations-locationid-emergencyaddress-lookup
      description: REST surface for telephony-pstn-locations-locationId-emergencyAddress-lookup.
      operations:
      - method: POST
        name: emergencyaddresslookup
        description: Emergency Address Lookup to Verify if Address is Valid
        call: cloud-calling-pstn.emergencyaddresslookup
        with:
          locationId: rest.locationId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/pstn/locations/{locationid}/emergencyaddresses/{addressid}
      name: telephony-pstn-locations-locationid-emergencyaddresses-addressid
      description: REST surface for telephony-pstn-locations-locationId-emergencyAddresses-addressId.
      operations:
      - method: PUT
        name: updateemergencyaddressoflocation
        description: Update the Emergency Address of a Location
        call: cloud-calling-pstn.updateemergencyaddressoflocation
        with:
          locationId: rest.locationId
          addressId: rest.addressId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/pstn/numbers/{phonenumber}/emergencyaddress
      name: telephony-pstn-numbers-phonenumber-emergencyaddress
      description: REST surface for telephony-pstn-numbers-phoneNumber-emergencyAddress.
      operations:
      - method: PUT
        name: updateemergencyaddressforphonenumber
        description: Update the Emergency Address for a Phone Number
        call: cloud-calling-pstn.updateemergencyaddressforphonenumber
        with:
          phoneNumber: rest.phoneNumber
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-pstn-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — PSTN. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: setup-pstn-connection-location
      description: Setup PSTN Connection for a Location
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-pstn.setuppstnconnectionforalocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-pstn-connection-location
      description: Retrieve PSTN Connection for a Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-pstn.retrievepstnconnectionforalocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-pstn-connection-options-location
      description: Retrieve PSTN Connection Options for a Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-pstn.retrievepstnconnectionoptionsforalocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
        serviceTypes: tools.serviceTypes
      outputParameters:
      - type: object
        mapping: $.
    - name: add-emergency-address-location
      description: Add an Emergency Address to a Location
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-pstn.addemergencyaddresstolocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: emergency-address-lookup-verify-if
      description: Emergency Address Lookup to Verify if Address is Valid
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: cloud-calling-pstn.emergencyaddresslookup
      with:
        locationId: tools.locationId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-emergency-address-location
      description: Update the Emergency Address of a Location
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-pstn.updateemergencyaddressoflocation
      with:
        locationId: tools.locationId
        addressId: tools.addressId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-emergency-address-phone-number
      description: Update the Emergency Address for a Phone Number
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-pstn.updateemergencyaddressforphonenumber
      with:
        phoneNumber: tools.phoneNumber
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.