Webex · Capability

Webex Cloud Calling — Converged Recordings

Webex Cloud Calling — Converged Recordings. 9 operations. Lead operation: List Recordings for Admin or Compliance officer. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexConverged Recordings

What You Can Do

GET
Listrecordingsforadminorcomplianceofficer — List Recordings for Admin or Compliance officer
/v1/admin/convergedrecordings
GET
Listrecordings — List Recordings
/v1/convergedrecordings
POST
Purgerecordingsfromrecyclebin — Purge Recordings from Recycle Bin
/v1/convergedrecordings/purge
POST
Reassignrecordings — Reassign Recordings
/v1/convergedrecordings/reassign
POST
Restorerecordingsfromrecyclebin — Restore Recordings from Recycle Bin
/v1/convergedrecordings/restore
POST
Moverecordingsintotherecyclebin — Move Recordings into the Recycle Bin
/v1/convergedrecordings/softdelete
GET
Getrecordingdetails — Get Recording Details
/v1/convergedrecordings/{recordingid}
DELETE
Deletearecording — Delete a Recording
/v1/convergedrecordings/{recordingid}
GET
Getrecordingmetadata — Get Recording metadata
/v1/convergedrecordings/{recordingid}/metadata

MCP Tools

list-recordings-admin-compliance-officer

List Recordings for Admin or Compliance officer

read-only idempotent
list-recordings

List Recordings

read-only idempotent
purge-recordings-recycle-bin

Purge Recordings from Recycle Bin

reassign-recordings

Reassign Recordings

restore-recordings-recycle-bin

Restore Recordings from Recycle Bin

move-recordings-recycle-bin

Move Recordings into the Recycle Bin

get-recording-details

Get Recording Details

read-only idempotent
delete-recording

Delete a Recording

idempotent
get-recording-metadata

Get Recording metadata

read-only idempotent

Capability Spec

cloud-calling-converged-recordings.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — Converged Recordings
  description: 'Webex Cloud Calling — Converged Recordings. 9 operations. Lead operation: List Recordings for Admin or Compliance
    officer. Self-contained Naftiko capability covering one Webex business surface.'
  tags:
  - Webex
  - Converged Recordings
  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-converged-recordings
    baseUri: ''
    description: Webex Cloud Calling — Converged Recordings business capability. Self-contained, no shared references.
    resources:
    - name: admin-convergedRecordings
      path: /admin/convergedRecordings
      operations:
      - name: listrecordingsforadminorcomplianceofficer
        method: GET
        description: List Recordings for Admin or Compliance officer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: max
          in: query
          type: number
          description: Maximum number of recordings to return in a single page. `max` must be equal to or greater than `1`
            and equal to or less than `100`.
        - name: from
          in: query
          type: string
          description: 'Starting date and time (inclusive) for recordings to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            compliant format. `from` cannot be after '
        - name: to
          in: query
          type: string
          description: Ending date and time (exclusive) for List recordings to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            compliant format. `to` cannot be befor
        - name: status
          in: query
          type: string
          description: Recording's status. If not specified or `available`, retrieves recordings that are available. if specified
            as `purged`, retrieves recordings those are deleted b
        - name: serviceType
          in: query
          type: string
          description: Recording's service-type. If specified, the API filters recordings by service-type. Valid values are
            `calling` and `customerAssist`.
        - name: format
          in: query
          type: string
          description: Recording's file format. If specified, the API filters recordings by format. Valid values are `MP3`.
        - name: ownerId
          in: query
          type: string
          description: Webex user Id to fetch recordings for a particular user.
        - name: ownerEmail
          in: query
          type: string
          description: Webex email address to fetch recordings for a particular user.
        - name: ownerType
          in: query
          type: string
          description: Recording based on type of user.
        - name: storageRegion
          in: query
          type: string
          description: Recording stored in certain Webex locations.
        - name: locationId
          in: query
          type: string
          description: Fetch recordings for users in a particular Webex Calling location (as configured in Control Hub).
        - name: topic
          in: query
          type: string
          description: Recording's topic. If specified, the API filters recordings by topic in a case-insensitive manner.
        - name: timezone
          in: header
          type: string
          description: e.g. UTC
    - name: convergedRecordings
      path: /convergedRecordings
      operations:
      - name: listrecordings
        method: GET
        description: List Recordings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: max
          in: query
          type: number
          description: Maximum number of recordings to return in a single page. `max` must be equal to or greater than `1`
            and equal to or less than `100`.
        - name: from
          in: query
          type: string
          description: 'Starting date and time (inclusive) for recordings to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            compliant format. `from` cannot be after '
        - name: to
          in: query
          type: string
          description: Ending date and time (exclusive) for List recordings to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            compliant format. `to` cannot be befor
        - name: status
          in: query
          type: string
          description: Recording's status. If not specified or `available`, retrieves recordings that are available. Otherwise,
            if specified as `deleted`, retrieves recordings that ha
        - name: serviceType
          in: query
          type: string
          description: Recording's service-type. If specified, the API filters recordings by service-type. Valid values are
            `calling` and `customerAssist`.
        - name: format
          in: query
          type: string
          description: Recording's file format. If specified, the API filters recordings by format. Valid values are `MP3`.
        - name: ownerType
          in: query
          type: string
          description: Recording based on type of user.
        - name: storageRegion
          in: query
          type: string
          description: Recording stored in certain Webex locations.
        - name: locationId
          in: query
          type: string
          description: Fetch recordings for users in a particular Webex Calling location (as configured in Control Hub).
        - name: topic
          in: query
          type: string
          description: Recording's topic. If specified, the API filters recordings by topic in a case-insensitive manner.
        - name: timezone
          in: header
          type: string
          description: e.g. UTC
    - name: convergedRecordings-purge
      path: /convergedRecordings/purge
      operations:
      - name: purgerecordingsfromrecyclebin
        method: POST
        description: Purge Recordings from Recycle Bin
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: convergedRecordings-reassign
      path: /convergedRecordings/reassign
      operations:
      - name: reassignrecordings
        method: POST
        description: Reassign Recordings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: convergedRecordings-restore
      path: /convergedRecordings/restore
      operations:
      - name: restorerecordingsfromrecyclebin
        method: POST
        description: Restore Recordings from Recycle Bin
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: convergedRecordings-softDelete
      path: /convergedRecordings/softDelete
      operations:
      - name: moverecordingsintotherecyclebin
        method: POST
        description: Move Recordings into the Recycle Bin
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: convergedRecordings-recordingId
      path: /convergedRecordings/{recordingId}
      operations:
      - name: getrecordingdetails
        method: GET
        description: Get Recording Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: recordingId
          in: path
          type: string
          description: A unique identifier for the recording.
          required: true
        - name: timezone
          in: header
          type: string
          description: e.g. UTC
      - name: deletearecording
        method: DELETE
        description: Delete a Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: recordingId
          in: path
          type: string
          description: A unique identifier for the recording.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: convergedRecordings-recordingId-metadata
      path: /convergedRecordings/{recordingId}/metadata
      operations:
      - name: getrecordingmetadata
        method: GET
        description: Get Recording metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: recordingId
          in: path
          type: string
          description: A unique identifier for the recording.
          required: true
        - name: showAllTypes
          in: query
          type: boolean
          description: If `showAllTypes` is `true`, all attributes will be shown. If it's `false` or not specified, the following
            attributes of the metadata will be hidden.
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-converged-recordings-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — Converged Recordings. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/admin/convergedrecordings
      name: admin-convergedrecordings
      description: REST surface for admin-convergedRecordings.
      operations:
      - method: GET
        name: listrecordingsforadminorcomplianceofficer
        description: List Recordings for Admin or Compliance officer
        call: cloud-calling-converged-recordings.listrecordingsforadminorcomplianceofficer
        with:
          max: rest.max
          from: rest.from
          to: rest.to
          status: rest.status
          serviceType: rest.serviceType
          format: rest.format
          ownerId: rest.ownerId
          ownerEmail: rest.ownerEmail
          ownerType: rest.ownerType
          storageRegion: rest.storageRegion
          locationId: rest.locationId
          topic: rest.topic
          timezone: rest.timezone
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings
      name: convergedrecordings
      description: REST surface for convergedRecordings.
      operations:
      - method: GET
        name: listrecordings
        description: List Recordings
        call: cloud-calling-converged-recordings.listrecordings
        with:
          max: rest.max
          from: rest.from
          to: rest.to
          status: rest.status
          serviceType: rest.serviceType
          format: rest.format
          ownerType: rest.ownerType
          storageRegion: rest.storageRegion
          locationId: rest.locationId
          topic: rest.topic
          timezone: rest.timezone
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/purge
      name: convergedrecordings-purge
      description: REST surface for convergedRecordings-purge.
      operations:
      - method: POST
        name: purgerecordingsfromrecyclebin
        description: Purge Recordings from Recycle Bin
        call: cloud-calling-converged-recordings.purgerecordingsfromrecyclebin
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/reassign
      name: convergedrecordings-reassign
      description: REST surface for convergedRecordings-reassign.
      operations:
      - method: POST
        name: reassignrecordings
        description: Reassign Recordings
        call: cloud-calling-converged-recordings.reassignrecordings
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/restore
      name: convergedrecordings-restore
      description: REST surface for convergedRecordings-restore.
      operations:
      - method: POST
        name: restorerecordingsfromrecyclebin
        description: Restore Recordings from Recycle Bin
        call: cloud-calling-converged-recordings.restorerecordingsfromrecyclebin
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/softdelete
      name: convergedrecordings-softdelete
      description: REST surface for convergedRecordings-softDelete.
      operations:
      - method: POST
        name: moverecordingsintotherecyclebin
        description: Move Recordings into the Recycle Bin
        call: cloud-calling-converged-recordings.moverecordingsintotherecyclebin
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/{recordingid}
      name: convergedrecordings-recordingid
      description: REST surface for convergedRecordings-recordingId.
      operations:
      - method: GET
        name: getrecordingdetails
        description: Get Recording Details
        call: cloud-calling-converged-recordings.getrecordingdetails
        with:
          recordingId: rest.recordingId
          timezone: rest.timezone
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletearecording
        description: Delete a Recording
        call: cloud-calling-converged-recordings.deletearecording
        with:
          recordingId: rest.recordingId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/convergedrecordings/{recordingid}/metadata
      name: convergedrecordings-recordingid-metadata
      description: REST surface for convergedRecordings-recordingId-metadata.
      operations:
      - method: GET
        name: getrecordingmetadata
        description: Get Recording metadata
        call: cloud-calling-converged-recordings.getrecordingmetadata
        with:
          recordingId: rest.recordingId
          showAllTypes: rest.showAllTypes
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-converged-recordings-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — Converged Recordings. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-recordings-admin-compliance-officer
      description: List Recordings for Admin or Compliance officer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-converged-recordings.listrecordingsforadminorcomplianceofficer
      with:
        max: tools.max
        from: tools.from
        to: tools.to
        status: tools.status
        serviceType: tools.serviceType
        format: tools.format
        ownerId: tools.ownerId
        ownerEmail: tools.ownerEmail
        ownerType: tools.ownerType
        storageRegion: tools.storageRegion
        locationId: tools.locationId
        topic: tools.topic
        timezone: tools.timezone
      outputParameters:
      - type: object
        mapping: $.
    - name: list-recordings
      description: List Recordings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-converged-recordings.listrecordings
      with:
        max: tools.max
        from: tools.from
        to: tools.to
        status: tools.status
        serviceType: tools.serviceType
        format: tools.format
        ownerType: tools.ownerType
        storageRegion: tools.storageRegion
        locationId: tools.locationId
        topic: tools.topic
        timezone: tools.timezone
      outputParameters:
      - type: object
        mapping: $.
    - name: purge-recordings-recycle-bin
      description: Purge Recordings from Recycle Bin
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-converged-recordings.purgerecordingsfromrecyclebin
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: reassign-recordings
      description: Reassign Recordings
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-converged-recordings.reassignrecordings
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: restore-recordings-recycle-bin
      description: Restore Recordings from Recycle Bin
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-converged-recordings.restorerecordingsfromrecyclebin
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: move-recordings-recycle-bin
      description: Move Recordings into the Recycle Bin
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-converged-recordings.moverecordingsintotherecyclebin
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-recording-details
      description: Get Recording Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-converged-recordings.getrecordingdetails
      with:
        recordingId: tools.recordingId
        timezone: tools.timezone
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-recording
      description: Delete a Recording
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-calling-converged-recordings.deletearecording
      with:
        recordingId: tools.recordingId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-recording-metadata
      description: Get Recording metadata
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-converged-recordings.getrecordingmetadata
      with:
        recordingId: tools.recordingId
        showAllTypes: tools.showAllTypes
      outputParameters:
      - type: object
        mapping: $.