naftiko: 1.0.0-alpha2 info: label: 'Webex Cloud Calling — Features: Call Recording' description: 'Webex Cloud Calling — Features: Call Recording. 18 operations. Lead operation: Get Call Recording Settings. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - 'Features: Call Recording' 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-call-recording baseUri: '' description: 'Webex Cloud Calling — Features: Call Recording business capability. Self-contained, no shared references.' resources: - name: telephony-config-callRecording path: /telephony/config/callRecording operations: - name: getcallrecordingsettings method: GET description: Get Call Recording Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve call recording settings from this organization. - name: updatecallrecordingsettings method: PUT description: Update Call Recording Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve call recording settings from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-callRecording-complianceAnnouncement path: /telephony/config/callRecording/complianceAnnouncement operations: - name: getdetailsfortheorganizationcomplianceannouncementsetting method: GET description: Get details for the organization Compliance Announcement Setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve compliance announcement setting from this organization. - name: updatetheorganizationcomplianceannouncement method: PUT description: Update the organization Compliance Announcement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Update the compliance announcement setting from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-callRecording-regions path: /telephony/config/callRecording/regions operations: - name: getcallrecordingregions method: GET description: Get Call Recording Regions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve call recording regions for this organization. - name: telephony-config-callRecording-vendor path: /telephony/config/callRecording/vendor operations: - name: setorganizationcallrecordingvendor method: PUT description: Set Organization Call Recording Vendor outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Modify call recording settings from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-callRecording-vendorUsers path: /telephony/config/callRecording/vendorUsers operations: - name: getcallrecordingvendorusers method: GET description: Get Call Recording Vendor Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve call recording vendor users for this organization. - name: max in: query type: number description: Limit the number of vendor users 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 objects. The default is 0. - name: standardUserOnly in: query type: boolean description: If true, results only include Webex Calling standard users. - name: telephony-config-callRecording-vendors path: /telephony/config/callRecording/vendors operations: - name: getorganizationcallrecordingvendors method: GET description: Get Organization Call Recording Vendors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: Retrieve call recording settings from this organization. - name: telephony-config-callRecording-vendors-vendorId-termsOfService path: /telephony/config/callRecording/vendors/{vendorId}/termsOfService operations: - name: getcallrecordingtermsofservicesettings method: GET description: Get Call Recording Terms Of Service Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vendorId in: path type: string description: Retrieve call recording terms of service details for the given vendor. required: true - name: orgId in: query type: string description: Retrieve call recording terms of service details from this organization. - name: updatecallrecordingtermsofservicesettings method: PUT description: Update Call Recording Terms Of Service Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vendorId in: path type: string description: Update call recording terms of service settings for the given vendor. required: true - name: orgId in: query type: string description: Update call recording terms of service settings from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-jobs-callRecording path: /telephony/config/jobs/callRecording operations: - name: listcallrecordingjobs method: GET description: List Call Recording Jobs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query type: string description: List call recording jobs in this organization. - name: max in: query type: number description: Limit the number of jobs returned to this maximum count. The default is 50. - name: start in: query type: number description: Start at the zero-based offset in the list of matching objects. The default is 0. - name: telephony-config-jobs-callRecording-jobId path: /telephony/config/jobs/callRecording/{jobId} operations: - name: getthejobstatusofacallrecordingjob method: GET description: Get the Job Status of a Call Recording Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jobId in: path type: string description: Retrieve job status for this `jobId`. required: true - name: orgId in: query type: string description: Retrieve job status in this organization. - name: telephony-config-jobs-callRecording-jobId-errors path: /telephony/config/jobs/callRecording/{jobId}/errors operations: - name: getjoberrorsforacallrecordingjob method: GET description: Get Job Errors for a Call Recording Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jobId in: path type: string description: Retrieve job errors for this job. required: true - name: orgId in: query type: string description: Retrieve job errors for a call recording job in this organization. - name: max in: query type: number description: Limit the number of errors returned to this maximum count. The default is 50. - name: telephony-config-locations-locationId-callRecording-complianceAnnouncement path: /telephony/config/locations/{locationId}/callRecording/complianceAnnouncement operations: - name: getdetailsforthelocationcomplianceannouncementsetting method: GET description: Get details for the Location Compliance Announcement Setting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Retrieve compliance announcement settings for this location. required: true - name: orgId in: query type: string description: Retrieve compliance announcement setting from this organization. - name: updatethelocationcomplianceannouncement method: PUT description: Update the Location Compliance Announcement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Update the compliance announcement settings for this location. required: true - name: orgId in: query type: string description: Update the compliance announcement setting from this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-callRecording-vendor path: /telephony/config/locations/{locationId}/callRecording/vendor operations: - name: setcallrecordingvendorforalocation method: PUT description: Set Call Recording Vendor for a Location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Update the call recording vendor for this location required: true - name: orgId in: query type: string description: Update the call recording vendor for this organization. - name: body in: body type: object description: Request body (JSON). required: false - name: telephony-config-locations-locationId-callRecording-vendorUsers path: /telephony/config/locations/{locationId}/callRecording/vendorUsers operations: - name: getcallrecordingvendorusersforalocation method: GET description: Get Call Recording Vendor Users for a Location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Retrieve vendor users for this location. required: true - name: orgId in: query type: string description: Retrieve vendor users for this organization. - name: max in: query type: number description: Limit the number of vendor users 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 objects. The default is 0. - name: standardUserOnly in: query type: boolean description: If true, results only include Webex Calling standard users. - name: telephony-config-locations-locationId-callRecording-vendors path: /telephony/config/locations/{locationId}/callRecording/vendors operations: - name: getlocationcallrecordingvendors method: GET description: Get Location Call Recording Vendors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: locationId in: path type: string description: Retrieve vendor details for this location. required: true - name: orgId in: query type: string description: Retrieve vendor details for this organization. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: cloud-calling-features-call-recording-rest port: 8080 description: 'REST adapter for Webex Cloud Calling — Features: Call Recording. One Spectral-compliant resource per consumed operation, prefixed with /v1.' resources: - path: /v1/telephony/config/callrecording name: telephony-config-callrecording description: REST surface for telephony-config-callRecording. operations: - method: GET name: getcallrecordingsettings description: Get Call Recording Settings call: cloud-calling-features-call-recording.getcallrecordingsettings with: orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatecallrecordingsettings description: Update Call Recording Settings call: cloud-calling-features-call-recording.updatecallrecordingsettings with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/complianceannouncement name: telephony-config-callrecording-complianceannouncement description: REST surface for telephony-config-callRecording-complianceAnnouncement. operations: - method: GET name: getdetailsfortheorganizationcomplianceannouncementsetting description: Get details for the organization Compliance Announcement Setting call: cloud-calling-features-call-recording.getdetailsfortheorganizationcomplianceannouncementsetting with: orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatetheorganizationcomplianceannouncement description: Update the organization Compliance Announcement call: cloud-calling-features-call-recording.updatetheorganizationcomplianceannouncement with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/regions name: telephony-config-callrecording-regions description: REST surface for telephony-config-callRecording-regions. operations: - method: GET name: getcallrecordingregions description: Get Call Recording Regions call: cloud-calling-features-call-recording.getcallrecordingregions with: orgId: rest.orgId outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/vendor name: telephony-config-callrecording-vendor description: REST surface for telephony-config-callRecording-vendor. operations: - method: PUT name: setorganizationcallrecordingvendor description: Set Organization Call Recording Vendor call: cloud-calling-features-call-recording.setorganizationcallrecordingvendor with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/vendorusers name: telephony-config-callrecording-vendorusers description: REST surface for telephony-config-callRecording-vendorUsers. operations: - method: GET name: getcallrecordingvendorusers description: Get Call Recording Vendor Users call: cloud-calling-features-call-recording.getcallrecordingvendorusers with: orgId: rest.orgId max: rest.max start: rest.start standardUserOnly: rest.standardUserOnly outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/vendors name: telephony-config-callrecording-vendors description: REST surface for telephony-config-callRecording-vendors. operations: - method: GET name: getorganizationcallrecordingvendors description: Get Organization Call Recording Vendors call: cloud-calling-features-call-recording.getorganizationcallrecordingvendors with: orgId: rest.orgId outputParameters: - type: object mapping: $. - path: /v1/telephony/config/callrecording/vendors/{vendorid}/termsofservice name: telephony-config-callrecording-vendors-vendorid-termsofservice description: REST surface for telephony-config-callRecording-vendors-vendorId-termsOfService. operations: - method: GET name: getcallrecordingtermsofservicesettings description: Get Call Recording Terms Of Service Settings call: cloud-calling-features-call-recording.getcallrecordingtermsofservicesettings with: vendorId: rest.vendorId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatecallrecordingtermsofservicesettings description: Update Call Recording Terms Of Service Settings call: cloud-calling-features-call-recording.updatecallrecordingtermsofservicesettings with: vendorId: rest.vendorId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/jobs/callrecording name: telephony-config-jobs-callrecording description: REST surface for telephony-config-jobs-callRecording. operations: - method: GET name: listcallrecordingjobs description: List Call Recording Jobs call: cloud-calling-features-call-recording.listcallrecordingjobs with: orgId: rest.orgId max: rest.max start: rest.start outputParameters: - type: object mapping: $. - path: /v1/telephony/config/jobs/callrecording/{jobid} name: telephony-config-jobs-callrecording-jobid description: REST surface for telephony-config-jobs-callRecording-jobId. operations: - method: GET name: getthejobstatusofacallrecordingjob description: Get the Job Status of a Call Recording Job call: cloud-calling-features-call-recording.getthejobstatusofacallrecordingjob with: jobId: rest.jobId orgId: rest.orgId outputParameters: - type: object mapping: $. - path: /v1/telephony/config/jobs/callrecording/{jobid}/errors name: telephony-config-jobs-callrecording-jobid-errors description: REST surface for telephony-config-jobs-callRecording-jobId-errors. operations: - method: GET name: getjoberrorsforacallrecordingjob description: Get Job Errors for a Call Recording Job call: cloud-calling-features-call-recording.getjoberrorsforacallrecordingjob with: jobId: rest.jobId orgId: rest.orgId max: rest.max outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/callrecording/complianceannouncement name: telephony-config-locations-locationid-callrecording-complianceannouncement description: REST surface for telephony-config-locations-locationId-callRecording-complianceAnnouncement. operations: - method: GET name: getdetailsforthelocationcomplianceannouncementsetting description: Get details for the Location Compliance Announcement Setting call: cloud-calling-features-call-recording.getdetailsforthelocationcomplianceannouncementsetting with: locationId: rest.locationId orgId: rest.orgId outputParameters: - type: object mapping: $. - method: PUT name: updatethelocationcomplianceannouncement description: Update the Location Compliance Announcement call: cloud-calling-features-call-recording.updatethelocationcomplianceannouncement with: locationId: rest.locationId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/callrecording/vendor name: telephony-config-locations-locationid-callrecording-vendor description: REST surface for telephony-config-locations-locationId-callRecording-vendor. operations: - method: PUT name: setcallrecordingvendorforalocation description: Set Call Recording Vendor for a Location call: cloud-calling-features-call-recording.setcallrecordingvendorforalocation with: locationId: rest.locationId orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/callrecording/vendorusers name: telephony-config-locations-locationid-callrecording-vendorusers description: REST surface for telephony-config-locations-locationId-callRecording-vendorUsers. operations: - method: GET name: getcallrecordingvendorusersforalocation description: Get Call Recording Vendor Users for a Location call: cloud-calling-features-call-recording.getcallrecordingvendorusersforalocation with: locationId: rest.locationId orgId: rest.orgId max: rest.max start: rest.start standardUserOnly: rest.standardUserOnly outputParameters: - type: object mapping: $. - path: /v1/telephony/config/locations/{locationid}/callrecording/vendors name: telephony-config-locations-locationid-callrecording-vendors description: REST surface for telephony-config-locations-locationId-callRecording-vendors. operations: - method: GET name: getlocationcallrecordingvendors description: Get Location Call Recording Vendors call: cloud-calling-features-call-recording.getlocationcallrecordingvendors with: locationId: rest.locationId orgId: rest.orgId outputParameters: - type: object mapping: $. - type: mcp namespace: cloud-calling-features-call-recording-mcp port: 9090 transport: http description: 'MCP adapter for Webex Cloud Calling — Features: Call Recording. One tool per consumed operation, routed inline through this capability''s consumes block.' tools: - name: get-call-recording-settings description: Get Call Recording Settings hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getcallrecordingsettings with: orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-call-recording-settings description: Update Call Recording Settings hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.updatecallrecordingsettings with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-details-organization-compliance-announcement description: Get details for the organization Compliance Announcement Setting hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getdetailsfortheorganizationcomplianceannouncementsetting with: orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-organization-compliance-announcement description: Update the organization Compliance Announcement hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.updatetheorganizationcomplianceannouncement with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-call-recording-regions description: Get Call Recording Regions hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getcallrecordingregions with: orgId: tools.orgId outputParameters: - type: object mapping: $. - name: set-organization-call-recording-vendor description: Set Organization Call Recording Vendor hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.setorganizationcallrecordingvendor with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-call-recording-vendor-users description: Get Call Recording Vendor Users hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getcallrecordingvendorusers with: orgId: tools.orgId max: tools.max start: tools.start standardUserOnly: tools.standardUserOnly outputParameters: - type: object mapping: $. - name: get-organization-call-recording-vendors description: Get Organization Call Recording Vendors hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getorganizationcallrecordingvendors with: orgId: tools.orgId outputParameters: - type: object mapping: $. - name: get-call-recording-terms-service description: Get Call Recording Terms Of Service Settings hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getcallrecordingtermsofservicesettings with: vendorId: tools.vendorId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-call-recording-terms-service description: Update Call Recording Terms Of Service Settings hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.updatecallrecordingtermsofservicesettings with: vendorId: tools.vendorId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: list-call-recording-jobs description: List Call Recording Jobs hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.listcallrecordingjobs with: orgId: tools.orgId max: tools.max start: tools.start outputParameters: - type: object mapping: $. - name: get-job-status-call-recording description: Get the Job Status of a Call Recording Job hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getthejobstatusofacallrecordingjob with: jobId: tools.jobId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: get-job-errors-call-recording description: Get Job Errors for a Call Recording Job hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getjoberrorsforacallrecordingjob with: jobId: tools.jobId orgId: tools.orgId max: tools.max outputParameters: - type: object mapping: $. - name: get-details-location-compliance-announcement description: Get details for the Location Compliance Announcement Setting hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getdetailsforthelocationcomplianceannouncementsetting with: locationId: tools.locationId orgId: tools.orgId outputParameters: - type: object mapping: $. - name: update-location-compliance-announcement description: Update the Location Compliance Announcement hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.updatethelocationcomplianceannouncement with: locationId: tools.locationId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: set-call-recording-vendor-location description: Set Call Recording Vendor for a Location hints: readOnly: false destructive: false idempotent: true call: cloud-calling-features-call-recording.setcallrecordingvendorforalocation with: locationId: tools.locationId orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-call-recording-vendor-users-2 description: Get Call Recording Vendor Users for a Location hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getcallrecordingvendorusersforalocation with: locationId: tools.locationId orgId: tools.orgId max: tools.max start: tools.start standardUserOnly: tools.standardUserOnly outputParameters: - type: object mapping: $. - name: get-location-call-recording-vendors description: Get Location Call Recording Vendors hints: readOnly: true destructive: false idempotent: true call: cloud-calling-features-call-recording.getlocationcallrecordingvendors with: locationId: tools.locationId orgId: tools.orgId outputParameters: - type: object mapping: $.