naftiko: 1.0.0-alpha2 info: label: 'Webex Cloud Calling — Features: Hunt Group' description: 'Webex Cloud Calling — Features: Hunt Group. 15 operations. Lead operation: Read the List of Hunt Groups. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - 'Features: Hunt Group' 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-hunt-group baseUri: '' description: 'Webex Cloud Calling — Features: Hunt Group business capability. Self-contained, no shared references.' resources: - name: telephony-config-huntGroups path: /telephony/config/huntGroups operations: - name: listhuntgroups method: GET description: Read the List of Hunt Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: List hunt groups for this organization. - name: locationId in: query type: string description: Only return hunt groups with matching location ID. - name: max in: query type: number description: Limit the number of objects returned to this maximum count. - name: start in: query type: number description: Start at the zero-based offset in the list of matching objects. - name: name in: query type: string description: Only return hunt groups with the matching name. - name: phoneNumber in: query type: string description: Only return hunt groups with the matching primary phone number or extension. - name: telephony-config-locations-locationId-huntGroups path: /telephony/config/locations/{locationId}/huntGroups operations: - name: createhuntgroup method: POST description: Create a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Create the hunt group for the given location. required: true - name: orgId in: query type: string description: Create the hunt group for this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-huntGroups-alternate-availableNumbers path: /telephony/config/locations/{locationId}/huntGroups/alternate/availableNumbers operations: - name: gethuntgroupalternateavailablephonenumbers method: GET description: Get Hunt Group Alternate 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-locations-locationId-huntGroups-availableNumbers path: /telephony/config/locations/{locationId}/huntGroups/availableNumbers operations: - name: gethuntgroupprimaryavailablephonenumbers method: GET description: Get Hunt Group 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-locations-locationId-huntGroups-callForwarding-availableNumbers path: /telephony/config/locations/{locationId}/huntGroups/callForwarding/availableNumbers operations: - name: gethuntgroupcallforwardavailablephonenumbers method: GET description: Get Hunt Group Call Forward 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: ownerName in: query type: string description: Return the list of phone numbers that are owned by the given `ownerName`. Maximum length is 255. - name: extension in: query type: string description: Returns the list of PSTN phone numbers with the given `extension`. - name: telephony-config-locations-locationId-huntGroups-huntGroupId path: /telephony/config/locations/{locationId}/huntGroups/{huntGroupId} operations: - name: deletehuntgroup method: DELETE description: Delete a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location from which to delete a hunt group. required: true - name: huntGroupId in: path type: string description: Delete the hunt group with the matching ID. required: true - name: orgId in: query type: string description: Delete the hunt group from this organization. - name: gethuntgroup method: GET description: Get Details for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Retrieve settings for a hunt group in this location. required: true - name: huntGroupId in: path type: string description: Retrieve settings for the hunt group with this identifier. required: true - name: orgId in: query type: string description: Retrieve hunt group settings from this organization. - name: updatehuntgroup method: PUT description: Update a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Update the hunt group for this location. required: true - name: huntGroupId in: path type: string description: Update settings for the hunt group with the matching ID. required: true - name: orgId in: query type: string description: Update hunt group settings from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding path: /telephony/config/locations/{locationId}/huntGroups/{huntGroupId}/callForwarding operations: - name: gethuntgroupcallforwardingsettings method: GET description: Get Call Forwarding Settings for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location in which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Read the call forwarding settings for this hunt group. required: true - name: orgId in: query type: string description: Retrieve hunt group forwarding settings from this organization. - name: updatehuntgroupcallforwardingsettings method: PUT description: Update Call Forwarding Settings for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location from which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Update call forwarding settings for this hunt group. required: true - name: orgId in: query type: string description: Update hunt group forwarding settings from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-acti path: /telephony/config/locations/{locationId}/huntGroups/{huntGroupId}/callForwarding/actions/switchMode/invoke operations: - name: switchhuntgroupcallforwardingmode method: POST description: Switch Mode for Call Forwarding Settings for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: '`Location` in which this `hunt group` exists.' required: true - name: huntGroupId in: path type: string description: Switch operating mode to normal operations for this `hunt group`. required: true - name: orgId in: query type: string description: Switch operating mode as per normal operations for the `hunt group` from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-sele path: /telephony/config/locations/{locationId}/huntGroups/{huntGroupId}/callForwarding/selectiveRules operations: - name: createhuntgroupselectivecallforwardingrule method: POST description: Create a Selective Call Forwarding Rule for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location in which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Create the rule for this hunt group. required: true - name: orgId in: query type: string description: Create the hunt group rule for this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-sele path: /telephony/config/locations/{locationId}/huntGroups/{huntGroupId}/callForwarding/selectiveRules/{ruleId} operations: - name: gethuntgroupselectivecallforwardingrule method: GET description: Get Selective Call Forwarding Rule for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location in which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Retrieve settings for a rule for this hunt group. required: true - name: ruleId in: path type: string description: Hunt group rule you are retrieving settings for. required: true - name: orgId in: query type: string description: Retrieve hunt group rule settings for this organization. - name: updatehuntgroupselectivecallforwardingrule method: PUT description: Update a Selective Call Forwarding Rule for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location in which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Update settings for a rule for this hunt group. required: true - name: ruleId in: path type: string description: Hunt group rule you are updating settings for. required: true - name: orgId in: query type: string description: Update hunt group rule settings for this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: deletehuntgroupselectivecallforwardingrule method: DELETE description: Delete a Selective Call Forwarding Rule for a Hunt Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Location in which this hunt group exists. required: true - name: huntGroupId in: path type: string description: Delete the rule for this hunt group. required: true - name: ruleId in: path type: string description: Hunt group rule you are deleting. required: true - name: orgId in: query type: string description: Delete hunt group rule from this organization. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: cloud-calling-features-hunt-group-rest port: 8080 description: 'REST adapter for Webex Cloud Calling — Features: Hunt Group. One Spectral-compliant resource per consumed operation, prefixed with /v1.' resources: - path: /v1/telephony/config/huntgroups name: telephony-config-huntgroups description: REST surface for telephony-config-huntGroups. operations: - method: GET name: listhuntgroups description: Read the List of Hunt Groups call: cloud-calling-features-hunt-group.listhuntgroups with: orgId: rest.orgId locationId: rest.locationId max: rest.max start: rest.start name: rest.name phoneNumber: rest.phoneNumber outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups name: telephony-config-locations-locationid-huntgroups description: REST surface for telephony-config-locations-locationId-huntGroups. operations: - method: POST name: createhuntgroup description: Create a Hunt Group call: cloud-calling-features-hunt-group.createhuntgroup with: locationId: rest.locationId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/alternate/availablenumbers name: telephony-config-locations-locationid-huntgroups-alternate-availablenumbers description: REST surface for telephony-config-locations-locationId-huntGroups-alternate-availableNumbers. operations: - method: GET name: gethuntgroupalternateavailablephonenumbers description: Get Hunt Group Alternate Available Phone Numbers call: cloud-calling-features-hunt-group.gethuntgroupalternateavailablephonenumbers with: locationId: rest.locationId orgId: rest.orgId max: rest.max start: rest.start phoneNumber: rest.phoneNumber outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/availablenumbers name: telephony-config-locations-locationid-huntgroups-availablenumbers description: REST surface for telephony-config-locations-locationId-huntGroups-availableNumbers. operations: - method: GET name: gethuntgroupprimaryavailablephonenumbers description: Get Hunt Group Primary Available Phone Numbers call: cloud-calling-features-hunt-group.gethuntgroupprimaryavailablephonenumbers with: locationId: rest.locationId orgId: rest.orgId max: rest.max start: rest.start phoneNumber: rest.phoneNumber outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/callforwarding/availablenumbers name: telephony-config-locations-locationid-huntgroups-callforwarding-availablenumbers description: REST surface for telephony-config-locations-locationId-huntGroups-callForwarding-availableNumbers. operations: - method: GET name: gethuntgroupcallforwardavailablephonenumbers description: Get Hunt Group Call Forward Available Phone Numbers call: cloud-calling-features-hunt-group.gethuntgroupcallforwardavailablephonenumbers with: locationId: rest.locationId orgId: rest.orgId max: rest.max start: rest.start phoneNumber: rest.phoneNumber ownerName: rest.ownerName extension: rest.extension outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/{huntgroupid} name: telephony-config-locations-locationid-huntgroups-huntgroupid description: REST surface for telephony-config-locations-locationId-huntGroups-huntGroupId. operations: - method: DELETE name: deletehuntgroup description: Delete a Hunt Group call: cloud-calling-features-hunt-group.deletehuntgroup with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: GET name: gethuntgroup description: Get Details for a Hunt Group call: cloud-calling-features-hunt-group.gethuntgroup with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatehuntgroup description: Update a Hunt Group call: cloud-calling-features-hunt-group.updatehuntgroup with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/{huntgroupid}/callforwarding name: telephony-config-locations-locationid-huntgroups-huntgroupid-callforwarding description: REST surface for telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding. operations: - method: GET name: gethuntgroupcallforwardingsettings description: Get Call Forwarding Settings for a Hunt Group call: cloud-calling-features-hunt-group.gethuntgroupcallforwardingsettings with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatehuntgroupcallforwardingsettings description: Update Call Forwarding Settings for a Hunt Group call: cloud-calling-features-hunt-group.updatehuntgroupcallforwardingsettings with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/{huntgroupid}/callforwarding/actions/switchmode/invoke name: telephony-config-locations-locationid-huntgroups-huntgroupid-callforwarding-acti description: REST surface for telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-acti. operations: - method: POST name: switchhuntgroupcallforwardingmode description: Switch Mode for Call Forwarding Settings for a Hunt Group call: cloud-calling-features-hunt-group.switchhuntgroupcallforwardingmode with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/{huntgroupid}/callforwarding/selectiverules name: telephony-config-locations-locationid-huntgroups-huntgroupid-callforwarding-sele description: REST surface for telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-sele. operations: - method: POST name: createhuntgroupselectivecallforwardingrule description: Create a Selective Call Forwarding Rule for a Hunt Group call: cloud-calling-features-hunt-group.createhuntgroupselectivecallforwardingrule with: locationId: rest.locationId huntGroupId: rest.huntGroupId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/huntgroups/{huntgroupid}/callforwarding/selectiverules/{ruleid} name: telephony-config-locations-locationid-huntgroups-huntgroupid-callforwarding-sele description: REST surface for telephony-config-locations-locationId-huntGroups-huntGroupId-callForwarding-sele. operations: - method: GET name: gethuntgroupselectivecallforwardingrule description: Get Selective Call Forwarding Rule for a Hunt Group call: cloud-calling-features-hunt-group.gethuntgroupselectivecallforwardingrule with: locationId: rest.locationId huntGroupId: rest.huntGroupId ruleId: rest.ruleId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatehuntgroupselectivecallforwardingrule description: Update a Selective Call Forwarding Rule for a Hunt Group call: cloud-calling-features-hunt-group.updatehuntgroupselectivecallforwardingrule with: locationId: rest.locationId huntGroupId: rest.huntGroupId ruleId: rest.ruleId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletehuntgroupselectivecallforwardingrule description: Delete a Selective Call Forwarding Rule for a Hunt Group call: cloud-calling-features-hunt-group.deletehuntgroupselectivecallforwardingrule with: locationId: rest.locationId huntGroupId: rest.huntGroupId ruleId: rest.ruleId orgId: rest.orgId outputParameters: - type: object mapping: $. - type: mcp namespace: cloud-calling-features-hunt-group-mcp port: 9090 transport: http description: 'MCP adapter for Webex Cloud Calling — Features: Hunt Group. One tool per consumed operation, routed inline through this capability''s consumes block.' tools: - name: read-list-hunt-groups description: Read the List of Hunt Groups hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.listhuntgroups with: orgId: tools.orgId locationId: tools.locationId max: tools.max start: tools.start name: tools.name phoneNumber: tools.phoneNumber outputParameters: - type: object mapping: $. - name: create-hunt-group description: Create a Hunt Group hints: readOnly: false destructive: false idempotent: false call: cloud-calling-features-hunt-group.createhuntgroup with: locationId: tools.locationId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-hunt-group-alternate-available description: Get Hunt Group Alternate Available Phone Numbers hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroupalternateavailablephonenumbers with: locationId: tools.locationId orgId: tools.orgId max: tools.max start: tools.start phoneNumber: tools.phoneNumber outputParameters: - type: object mapping: $. - name: get-hunt-group-primary-available description: Get Hunt Group Primary Available Phone Numbers hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroupprimaryavailablephonenumbers with: locationId: tools.locationId orgId: tools.orgId max: tools.max start: tools.start phoneNumber: tools.phoneNumber outputParameters: - type: object mapping: $. - name: get-hunt-group-call-forward description: Get Hunt Group Call Forward Available Phone Numbers hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroupcallforwardavailablephonenumbers with: locationId: tools.locationId orgId: tools.orgId max: tools.max start: tools.start phoneNumber: tools.phoneNumber ownerName: tools.ownerName extension: tools.extension outputParameters: - type: object mapping: $. - name: delete-hunt-group description: Delete a Hunt Group hints: readOnly: false destructive: true idempotent: true call: cloud-calling-features-hunt-group.deletehuntgroup with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: get-details-hunt-group description: Get Details for a Hunt Group hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroup with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-hunt-group description: Update a Hunt Group hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-hunt-group.updatehuntgroup with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-call-forwarding-settings-hunt description: Get Call Forwarding Settings for a Hunt Group hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroupcallforwardingsettings with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-call-forwarding-settings-hunt description: Update Call Forwarding Settings for a Hunt Group hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-hunt-group.updatehuntgroupcallforwardingsettings with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: switch-mode-call-forwarding-settings description: Switch Mode for Call Forwarding Settings for a Hunt Group hints: readOnly: false destructive: false idempotent: false call: cloud-calling-features-hunt-group.switchhuntgroupcallforwardingmode with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: create-selective-call-forwarding-rule description: Create a Selective Call Forwarding Rule for a Hunt Group hints: readOnly: false destructive: false idempotent: false call: cloud-calling-features-hunt-group.createhuntgroupselectivecallforwardingrule with: locationId: tools.locationId huntGroupId: tools.huntGroupId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-selective-call-forwarding-rule description: Get Selective Call Forwarding Rule for a Hunt Group hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-hunt-group.gethuntgroupselectivecallforwardingrule with: locationId: tools.locationId huntGroupId: tools.huntGroupId ruleId: tools.ruleId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-selective-call-forwarding-rule description: Update a Selective Call Forwarding Rule for a Hunt Group hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-hunt-group.updatehuntgroupselectivecallforwardingrule with: locationId: tools.locationId huntGroupId: tools.huntGroupId ruleId: tools.ruleId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: delete-selective-call-forwarding-rule description: Delete a Selective Call Forwarding Rule for a Hunt Group hints: readOnly: false destructive: true idempotent: true call: cloud-calling-features-hunt-group.deletehuntgroupselectivecallforwardingrule with: locationId: tools.locationId huntGroupId: tools.huntGroupId ruleId: tools.ruleId orgId: tools.orgId outputParameters: - type: object mapping: $.