Webex · Capability
Webex Admin — Recordings
Webex Admin — Recordings. 12 operations. Lead operation: List Recordings For an Admin or Compliance Officer. Self-contained Naftiko capability covering one Webex business surface.
What You Can Do
GET
Listrecordingsforadminorcomplianceofficer
— List Recordings For an Admin or Compliance Officer
/v1/admin/recordings
DELETE
Admindeleterecordingbyid
— Delete a Recording By an Admin
/v1/admin/recordings/{recordingid}
GET
Listgrouprecordings
— List Group Recordings
/v1/group/recordings
GET
Getgrouprecordingbyid
— Get Group Recording Details
/v1/group/recordings/{recordingid}
GET
Listrecordings
— List Recordings
/v1/recordings
POST
Updaterecordingsharebylink
— Share a Recording Link
/v1/recordings/accesslist
POST
Bulkpurgerecordings
— Purge Recordings from Recycle Bin
/v1/recordings/purge
POST
Bulkrestorerecordings
— Restore Recordings from Recycle Bin
/v1/recordings/restore
POST
Bulksoftdeleterecordings
— Move Recordings into the Recycle Bin
/v1/recordings/softdelete
GET
Getrecordbyrecordid
— Get Recording Details
/v1/recordings/{recordingid}
DELETE
Deleterecordingbyrecordid
— Delete a Recording
/v1/recordings/{recordingid}
POST
Updaterecordingsharebyid
— Share a Recording
/v1/recordings/{recordingid}/accesslist
MCP Tools
list-recordings-admin-compliance-officer
List Recordings For an Admin or Compliance Officer
read-only
idempotent
delete-recording-admin
Delete a Recording By an Admin
idempotent
list-group-recordings
List Group Recordings
read-only
idempotent
get-group-recording-details
Get Group Recording Details
read-only
idempotent
list-recordings
List Recordings
read-only
idempotent
share-recording-link
Share a Recording Link
purge-recordings-recycle-bin
Purge Recordings from Recycle Bin
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
share-recording
Share a Recording
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Webex Admin — Recordings
description: 'Webex Admin — Recordings. 12 operations. Lead operation: List Recordings For an Admin or Compliance Officer.
Self-contained Naftiko capability covering one Webex business surface.'
tags:
- Webex
- Recordings
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
WEBEX_API_KEY: WEBEX_API_KEY
capability:
consumes:
- type: http
namespace: admin-recordings
baseUri: ''
description: Webex Admin — Recordings business capability. Self-contained, no shared references.
resources:
- name: admin-recordings
path: /admin/recordings
operations:
- name: listrecordingsforadminorcomplianceofficer
method: GET
description: List Recordings For an 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: meetingId
in: query
type: string
description: Unique identifier for the parent meeting series, scheduled meeting, or meeting instance for which recordings
are being requested. If a meeting series ID is spec
- name: siteUrl
in: query
type: string
description: 'URL of the Webex site which the API lists recordings from. If not specified, the API lists recordings
from user''s preferred site. All available Webex sites and '
- name: integrationTag
in: query
type: string
description: 'External key of the parent meeting created by an integration application. This parameter is used by
the integration application to query recordings by a key in '
- name: topic
in: query
type: string
description: Recording topic. If specified, the API filters recordings by topic in a case-insensitive manner.
- name: format
in: query
type: string
description: Recording's file format. If specified, the API filters recordings by format.
- name: serviceType
in: query
type: string
description: The service type for recordings. If specified, the API filters recordings by service type.
- name: status
in: query
type: string
description: Recording's status. If not specified or `available`, retrieves recordings that are available. If specified
as `deleted`, retrieves recordings that have been mov
- name: timezone
in: header
type: string
description: e.g. UTC
- name: admin-recordings-recordingId
path: /admin/recordings/{recordingId}
operations:
- name: admindeleterecordingbyid
method: DELETE
description: Delete a Recording By an Admin
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: group-recordings
path: /group/recordings
operations:
- name: listgrouprecordings
method: GET
description: List Group Recordings
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: personId
in: query
type: string
description: Person ID of the user whose recordings will be retrieved. The person ID can be retrieved from the [People
APIs](/docs/api/v1/people), e.g. [Lit People](/docs/ap
- 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: siteUrl
in: query
type: string
description: 'URL of the Webex site which the API lists recordings from. If not specified, the API lists recordings
from user''s preferred site. All available Webex sites and '
- name: integrationTag
in: query
type: string
description: 'External key of the parent meeting created by an integration application. This parameter is used by
the integration application to query recordings by a key in '
- name: topic
in: query
type: string
description: Recording topic. If specified, the API filters recordings by topic in a case-insensitive manner.
- name: format
in: query
type: string
description: Recording's file format. If specified, the API filters recordings by format.
- name: serviceType
in: query
type: string
description: The service type for recordings. If specified, the API filters recordings by service type.
- name: timezone
in: header
type: string
description: e.g. UTC
- name: hostEmail
in: header
type: string
description: 'Email of the user whose recordings will be retrieved. The `hostEmail` parameter is optional, but one
of the `personId` parameter and `hostEmail` header must be '
- name: group-recordings-recordingId
path: /group/recordings/{recordingId}
operations:
- name: getgrouprecordingbyid
method: GET
description: Get Group Recording Details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: personId
in: query
type: string
description: Person ID of the user whose recordings will be retrieved. The person ID can be retrieved from the [People
APIs](/docs/api/v1/people), e.g. [Lit People](/docs/ap
- 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: hostEmail
in: header
type: string
description: 'Email of the user whose recordings will be retrieved. The `hostEmail` parameter is optional, but one
of the `personId` parameter and `hostEmail` header must be '
- name: recordings
path: /recordings
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: meetingId
in: query
type: string
description: Unique identifier for the parent meeting series, scheduled meeting, or meeting instance for which recordings
are being requested. If a meeting series ID is spec
- name: hostEmail
in: query
type: string
description: Email address for the meeting host. This parameter is only used if the user or application calling
the API has the required [admin-level meeting scopes](/docs/m
- name: siteUrl
in: query
type: string
description: 'URL of the Webex site from which the API lists recordings. If not specified, the API lists recordings
from all of a user''s sites. All available Webex sites and '
- name: integrationTag
in: query
type: string
description: 'External key of the parent meeting created by an integration application. This parameter is used by
the integration application to query recordings by a key in '
- name: topic
in: query
type: string
description: Recording's topic. If specified, the API filters recordings by topic in a case-insensitive manner.
- name: format
in: query
type: string
description: Recording's file format. If specified, the API filters recordings by format.
- name: serviceType
in: query
type: string
description: The service type for recordings. If this item is specified, the API filters recordings by service-type.
- 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: timezone
in: header
type: string
description: e.g. UTC
- name: recordings-accessList
path: /recordings/accessList
operations:
- name: updaterecordingsharebylink
method: POST
description: Share a Recording Link
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: recordings-purge
path: /recordings/purge
operations:
- name: bulkpurgerecordings
method: POST
description: Purge Recordings from Recycle Bin
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hostEmail
in: query
type: string
description: Email address for the meeting host. Only used if the user or application calling the API has the required
[admin-level meeting scopes](/docs/meetings#adminorgan
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: recordings-restore
path: /recordings/restore
operations:
- name: bulkrestorerecordings
method: POST
description: Restore Recordings from Recycle Bin
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hostEmail
in: query
type: string
description: Email address for the meeting host. This parameter is only used if the user or application calling
the API has the required [admin-level meeting scopes](/docs/m
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: recordings-softDelete
path: /recordings/softDelete
operations:
- name: bulksoftdeleterecordings
method: POST
description: Move Recordings into the Recycle Bin
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hostEmail
in: query
type: string
description: Email address for the meeting host. Only used if the user or application calling the API has the required
[admin-level meeting scopes](/docs/meetings#adminorgan
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: recordings-recordingId
path: /recordings/{recordingId}
operations:
- name: getrecordbyrecordid
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: hostEmail
in: query
type: string
description: Email address for the meeting host. Only used if the user or application calling the API has required
[admin-level meeting scopes](/docs/meetings#adminorganizat
- name: timezone
in: header
type: string
description: e.g. UTC
- name: siteUrl
in: header
type: string
description: e.g. example.webex.com
- name: deleterecordingbyrecordid
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: hostEmail
in: query
type: string
description: Email address for the meeting host. Only used if the user or application calling the API has the required
[admin-level meeting scopes](/docs/meetings#adminorgan
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: recordings-recordingId-accessList
path: /recordings/{recordingId}/accessList
operations:
- name: updaterecordingsharebyid
method: POST
description: Share 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
authentication:
type: bearer
token: '{{env.WEBEX_API_KEY}}'
exposes:
- type: rest
namespace: admin-recordings-rest
port: 8080
description: REST adapter for Webex Admin — Recordings. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/admin/recordings
name: admin-recordings
description: REST surface for admin-recordings.
operations:
- method: GET
name: listrecordingsforadminorcomplianceofficer
description: List Recordings For an Admin or Compliance Officer
call: admin-recordings.listrecordingsforadminorcomplianceofficer
with:
max: rest.max
from: rest.from
to: rest.to
meetingId: rest.meetingId
siteUrl: rest.siteUrl
integrationTag: rest.integrationTag
topic: rest.topic
format: rest.format
serviceType: rest.serviceType
status: rest.status
timezone: rest.timezone
outputParameters:
- type: object
mapping: $.
- path: /v1/admin/recordings/{recordingid}
name: admin-recordings-recordingid
description: REST surface for admin-recordings-recordingId.
operations:
- method: DELETE
name: admindeleterecordingbyid
description: Delete a Recording By an Admin
call: admin-recordings.admindeleterecordingbyid
with:
recordingId: rest.recordingId
outputParameters:
- type: object
mapping: $.
- path: /v1/group/recordings
name: group-recordings
description: REST surface for group-recordings.
operations:
- method: GET
name: listgrouprecordings
description: List Group Recordings
call: admin-recordings.listgrouprecordings
with:
personId: rest.personId
max: rest.max
from: rest.from
to: rest.to
siteUrl: rest.siteUrl
integrationTag: rest.integrationTag
topic: rest.topic
format: rest.format
serviceType: rest.serviceType
timezone: rest.timezone
hostEmail: rest.hostEmail
outputParameters:
- type: object
mapping: $.
- path: /v1/group/recordings/{recordingid}
name: group-recordings-recordingid
description: REST surface for group-recordings-recordingId.
operations:
- method: GET
name: getgrouprecordingbyid
description: Get Group Recording Details
call: admin-recordings.getgrouprecordingbyid
with:
personId: rest.personId
recordingId: rest.recordingId
timezone: rest.timezone
hostEmail: rest.hostEmail
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings
name: recordings
description: REST surface for recordings.
operations:
- method: GET
name: listrecordings
description: List Recordings
call: admin-recordings.listrecordings
with:
max: rest.max
from: rest.from
to: rest.to
meetingId: rest.meetingId
hostEmail: rest.hostEmail
siteUrl: rest.siteUrl
integrationTag: rest.integrationTag
topic: rest.topic
format: rest.format
serviceType: rest.serviceType
status: rest.status
timezone: rest.timezone
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/accesslist
name: recordings-accesslist
description: REST surface for recordings-accessList.
operations:
- method: POST
name: updaterecordingsharebylink
description: Share a Recording Link
call: admin-recordings.updaterecordingsharebylink
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/purge
name: recordings-purge
description: REST surface for recordings-purge.
operations:
- method: POST
name: bulkpurgerecordings
description: Purge Recordings from Recycle Bin
call: admin-recordings.bulkpurgerecordings
with:
hostEmail: rest.hostEmail
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/restore
name: recordings-restore
description: REST surface for recordings-restore.
operations:
- method: POST
name: bulkrestorerecordings
description: Restore Recordings from Recycle Bin
call: admin-recordings.bulkrestorerecordings
with:
hostEmail: rest.hostEmail
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/softdelete
name: recordings-softdelete
description: REST surface for recordings-softDelete.
operations:
- method: POST
name: bulksoftdeleterecordings
description: Move Recordings into the Recycle Bin
call: admin-recordings.bulksoftdeleterecordings
with:
hostEmail: rest.hostEmail
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/{recordingid}
name: recordings-recordingid
description: REST surface for recordings-recordingId.
operations:
- method: GET
name: getrecordbyrecordid
description: Get Recording Details
call: admin-recordings.getrecordbyrecordid
with:
recordingId: rest.recordingId
hostEmail: rest.hostEmail
timezone: rest.timezone
siteUrl: rest.siteUrl
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleterecordingbyrecordid
description: Delete a Recording
call: admin-recordings.deleterecordingbyrecordid
with:
recordingId: rest.recordingId
hostEmail: rest.hostEmail
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/recordings/{recordingid}/accesslist
name: recordings-recordingid-accesslist
description: REST surface for recordings-recordingId-accessList.
operations:
- method: POST
name: updaterecordingsharebyid
description: Share a Recording
call: admin-recordings.updaterecordingsharebyid
with:
recordingId: rest.recordingId
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: admin-recordings-mcp
port: 9090
transport: http
description: MCP adapter for Webex Admin — 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 an Admin or Compliance Officer
hints:
readOnly: true
destructive: false
idempotent: true
call: admin-recordings.listrecordingsforadminorcomplianceofficer
with:
max: tools.max
from: tools.from
to: tools.to
meetingId: tools.meetingId
siteUrl: tools.siteUrl
integrationTag: tools.integrationTag
topic: tools.topic
format: tools.format
serviceType: tools.serviceType
status: tools.status
timezone: tools.timezone
outputParameters:
- type: object
mapping: $.
- name: delete-recording-admin
description: Delete a Recording By an Admin
hints:
readOnly: false
destructive: true
idempotent: true
call: admin-recordings.admindeleterecordingbyid
with:
recordingId: tools.recordingId
outputParameters:
- type: object
mapping: $.
- name: list-group-recordings
description: List Group Recordings
hints:
readOnly: true
destructive: false
idempotent: true
call: admin-recordings.listgrouprecordings
with:
personId: tools.personId
max: tools.max
from: tools.from
to: tools.to
siteUrl: tools.siteUrl
integrationTag: tools.integrationTag
topic: tools.topic
format: tools.format
serviceType: tools.serviceType
timezone: tools.timezone
hostEmail: tools.hostEmail
outputParameters:
- type: object
mapping: $.
- name: get-group-recording-details
description: Get Group Recording Details
hints:
readOnly: true
destructive: false
idempotent: true
call: admin-recordings.getgrouprecordingbyid
with:
personId: tools.personId
recordingId: tools.recordingId
timezone: tools.timezone
hostEmail: tools.hostEmail
outputParameters:
- type: object
mapping: $.
- name: list-recordings
description: List Recordings
hints:
readOnly: true
destructive: false
idempotent: true
call: admin-recordings.listrecordings
with:
max: tools.max
from: tools.from
to: tools.to
meetingId: tools.meetingId
hostEmail: tools.hostEmail
siteUrl: tools.siteUrl
integrationTag: tools.integrationTag
topic: tools.topic
format: tools.format
serviceType: tools.serviceType
status: tools.status
timezone: tools.timezone
outputParameters:
- type: object
mapping: $.
- name: share-recording-link
description: Share a Recording Link
hints:
readOnly: false
destructive: false
idempotent: false
call: admin-recordings.updaterecordingsharebylink
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: purge-recordings-recycle-bin
description: Purge Recordings from Recycle Bin
hints:
readOnly: false
destructive: false
idempotent: false
call: admin-recordings.bulkpurgerecordings
with:
hostEmail: tools.hostEmail
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: admin-recordings.bulkrestorerecordings
with:
hostEmail: tools.hostEmail
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: admin-recordings.bulksoftdeleterecordings
with:
hostEmail: tools.hostEmail
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-recording-details
description: Get Recording Details
hints:
readOnly: true
destructive: false
idempotent: true
call: admin-recordings.getrecordbyrecordid
with:
recordingId: tools.recordingId
hostEmail: tools.hostEmail
timezone: tools.timezone
siteUrl: tools.siteUrl
outputParameters:
- type: object
mapping: $.
- name: delete-recording
description: Delete a Recording
hints:
readOnly: false
destructive: true
idempotent: true
call: admin-recordings.deleterecordingbyrecordid
with:
recordingId: tools.recordingId
hostEmail: tools.hostEmail
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: share-recording
description: Share a Recording
hints:
readOnly: false
destructive: false
idempotent: false
call: admin-recordings.updaterecordingsharebyid
with:
recordingId: tools.recordingId
body: tools.body
outputParameters:
- type: object
mapping: $.