naftiko: 1.0.0-alpha2 info: label: 'Webex Cloud Calling — Features: Single Number Reach' description: 'Webex Cloud Calling — Features: Single Number Reach. 6 operations. Lead operation: Get Single Number Reach Primary Available Phone Numbers. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - 'Features: Single Number Reach' 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-features-single-number-reach baseUri: '' description: 'Webex Cloud Calling — Features: Single Number Reach business capability. Self-contained, no shared references.' resources: - name: telephony-config-locations-locationId-singleNumberReach-availableNumbers path: /telephony/config/locations/{locationId}/singleNumberReach/availableNumbers operations: - name: getsinglenumberreachprimaryavailablephonenumbers method: GET description: Get Single Number Reach Primary Available Phone Numbers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Return the list of phone numbers for this location within the given organization. The maximum length is 36. required: true - name: orgId in: query type: string description: List numbers for this organization. - name: max in: query type: number description: Limit the number of phone numbers returned to this maximum count. The default is 2000. - name: start in: query type: number description: Start at the zero-based offset in the list of matching phone numbers. The default is 0. - name: phoneNumber in: query type: array description: Filter phone numbers based on the comma-separated list provided in the `phoneNumber` array. - name: telephony-config-people-personId-singleNumberReach path: /telephony/config/people/{personId}/singleNumberReach operations: - name: getsinglenumberreachsettingsforaperson method: GET description: Get Single Number Reach Settings For A Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: Unique identifier for the person. required: true - name: updatesinglenumberreachsettingsforaperson method: PUT description: Update Single Number Reach Settings For A Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: Unique identifier for the person. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-people-personId-singleNumberReach-numbers path: /telephony/config/people/{personId}/singleNumberReach/numbers operations: - name: createsinglenumberreachforaperson method: POST description: Create Single Number Reach For a Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: Unique identifier for the person. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-people-personId-singleNumberReach-numbers-id path: /telephony/config/people/{personId}/singleNumberReach/numbers/{id} operations: - name: updatesinglenumberreachsettingsforanumber method: PUT description: Update Single Number Reach Settings For A Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: Unique identifier for the person. required: true - name: id in: path type: string description: Unique identifier for single number reach. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteasinglenumberreachnumber method: DELETE description: Delete A Single Number Reach Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: Unique identifier for the person. required: true - name: id in: path type: string description: Unique identifier for single number reach. required: true - name: orgId in: query type: string description: Unique identifier for the organization. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: cloud-calling-features-single-number-reach-rest port: 8080 description: 'REST adapter for Webex Cloud Calling — Features: Single Number Reach. One Spectral-compliant resource per consumed operation, prefixed with /v1.' resources: - path: /v1/telephony/config/locations/{locationid}/singlenumberreach/availablenumbers name: telephony-config-locations-locationid-singlenumberreach-availablenumbers description: REST surface for telephony-config-locations-locationId-singleNumberReach-availableNumbers. operations: - method: GET name: getsinglenumberreachprimaryavailablephonenumbers description: Get Single Number Reach Primary Available Phone Numbers call: cloud-calling-features-single-number-reach.getsinglenumberreachprimaryavailablephonenumbers with: locationId: rest.locationId orgId: rest.orgId max: rest.max start: rest.start phoneNumber: rest.phoneNumber outputParameters: - type: object mapping: $. - path: /v1/telephony/config/people/{personid}/singlenumberreach name: telephony-config-people-personid-singlenumberreach description: REST surface for telephony-config-people-personId-singleNumberReach. operations: - method: GET name: getsinglenumberreachsettingsforaperson description: Get Single Number Reach Settings For A Person call: cloud-calling-features-single-number-reach.getsinglenumberreachsettingsforaperson with: personId: rest.personId outputParameters: - type: object mapping: $. - method: PUT name: updatesinglenumberreachsettingsforaperson description: Update Single Number Reach Settings For A Person call: cloud-calling-features-single-number-reach.updatesinglenumberreachsettingsforaperson with: personId: rest.personId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/people/{personid}/singlenumberreach/numbers name: telephony-config-people-personid-singlenumberreach-numbers description: REST surface for telephony-config-people-personId-singleNumberReach-numbers. operations: - method: POST name: createsinglenumberreachforaperson description: Create Single Number Reach For a Person call: cloud-calling-features-single-number-reach.createsinglenumberreachforaperson with: personId: rest.personId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/people/{personid}/singlenumberreach/numbers/{id} name: telephony-config-people-personid-singlenumberreach-numbers-id description: REST surface for telephony-config-people-personId-singleNumberReach-numbers-id. operations: - method: PUT name: updatesinglenumberreachsettingsforanumber description: Update Single Number Reach Settings For A Number call: cloud-calling-features-single-number-reach.updatesinglenumberreachsettingsforanumber with: personId: rest.personId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteasinglenumberreachnumber description: Delete A Single Number Reach Number call: cloud-calling-features-single-number-reach.deleteasinglenumberreachnumber with: personId: rest.personId id: rest.id orgId: rest.orgId outputParameters: - type: object mapping: $. - type: mcp namespace: cloud-calling-features-single-number-reach-mcp port: 9090 transport: http description: 'MCP adapter for Webex Cloud Calling — Features: Single Number Reach. One tool per consumed operation, routed inline through this capability''s consumes block.' tools: - name: get-single-number-reach-primary description: Get Single Number Reach Primary Available Phone Numbers hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-single-number-reach.getsinglenumberreachprimaryavailablephonenumbers with: locationId: tools.locationId orgId: tools.orgId max: tools.max start: tools.start phoneNumber: tools.phoneNumber outputParameters: - type: object mapping: $. - name: get-single-number-reach-settings description: Get Single Number Reach Settings For A Person hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-single-number-reach.getsinglenumberreachsettingsforaperson with: personId: tools.personId outputParameters: - type: object mapping: $. - name: update-single-number-reach-settings description: Update Single Number Reach Settings For A Person hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-single-number-reach.updatesinglenumberreachsettingsforaperson with: personId: tools.personId body: tools.body outputParameters: - type: object mapping: $. - name: create-single-number-reach-person description: Create Single Number Reach For a Person hints: readOnly: false destructive: false idempotent: false call: cloud-calling-features-single-number-reach.createsinglenumberreachforaperson with: personId: tools.personId body: tools.body outputParameters: - type: object mapping: $. - name: update-single-number-reach-settings-2 description: Update Single Number Reach Settings For A Number hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-single-number-reach.updatesinglenumberreachsettingsforanumber with: personId: tools.personId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-single-number-reach-number description: Delete A Single Number Reach Number hints: readOnly: false destructive: true idempotent: true call: cloud-calling-features-single-number-reach.deleteasinglenumberreachnumber with: personId: tools.personId id: tools.id orgId: tools.orgId outputParameters: - type: object mapping: $.