openapi: 3.2.0
info:
title: Webex Recordings API
version: 1.0.0
description: 'Operations tagged Recordings across 3 of this provider''s published API definitions: webex-admin-openapi.json,
webex-meeting-openapi.json, webex-recordings-api-openapi.yml. Each path carries the servers of the definition it was published
in.'
x-provenance:
method: harvested
authored_by: Cisco Webex
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
provider_published: true
derived_view: Per-tag view of webex-admin-openapi.json, the provider's source document. Operations and schemas are the
provider's, unmodified; only the partition is ours.
derived_from: webex-admin-openapi.json
operation_coverage: 14/14
x-evidence:
- type: source
url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-admin.json
- type: raw
url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-admin.json
tags:
- name: Recordings
paths:
/recordings:
get:
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RecordingObject'
description: An array of recording objects.
example:
items:
- id: 4f914b1dfe3c4d11a61730f18c0f5387
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:35Z'
timeRecorded: '2020-07-13T17:05:35Z'
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=b91990e37417bda24986e46cf43345ab
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=69201a61d1d94a84aca18817261d1a73
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 18416
sizeBytes: 168103
shareToMe: false
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
- id: 3324fb76946249cfa07fc30b3ccbf580
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:34Z'
timeRecorded: '2020-07-13T17:05:35Z'
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=8a763939dec1fa26c565700d628fcb98
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=b05e9c4f773745e7b88725cc97bc3161
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 181562
sizeBytes: 199134
shareToMe: false
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
- id: 42b80117a2a74dcf9863bf06264f8075
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:33Z'
timeRecorded: '2020-07-13T17:05:35Z'
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=0edd48adbb183e7da97884a0a984e877
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=b64b28ebf70e4645954420c295a9fcad
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 181562
sizeBytes: 199134
shareToMe: true
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
try to reduce it.'
summary: List Recordings
operationId: listRecordings
description: '<div><Callout type="warning">This API is still supported and behaves the same as before, but will be deprecated
in the future. Due to limited support for special characters when filtering recordings by `topic`, it is recommended
to use the new [Query Recordings](/docs/api/v1/recordings/query-recordings) API instead.</Callout></div>
Lists recordings. You can specify a date range, a parent meeting ID, and the maximum number of recordings to return.
Only recordings of meetings hosted by or shared with the authenticated user will be listed.
The list returned is sorted in descending order by the date and time that the recordings were created.
Long result sets are split into [pages](/docs/basics#pagination).
* If `meetingId` is specified, only recordings associated with the specified meeting will be listed. **NOTE**: when
`meetingId` is specified, parameter of `siteUrl` will be ignored.
* If `siteUrl` is specified, recordings of the specified site will be listed; otherwise, the API lists recordings
of all the user''s sites. All available Webex sites and preferred site of the user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list)
API.
#### Request Header
* `timezone`: *[Time zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) in conformance with
the [IANA time zone database](https://www.iana.org/time-zones). The default is UTC if `timezone` is not defined.*'
tags:
- Recordings
parameters:
- name: max
in: query
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`.
schema:
type: number
default: 10
- name: from
in: query
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 `to`.
example: '2020-07-12T09:30:00+08:00'
schema:
type: string
default: If only `to` is specified, the default `from` value is 7 days before `to`; if no `to` or `from` is specified,
the default `from` value is 7 days before the current date and time.
- name: to
in: query
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 before `from`.
example: '2020-07-31T09:30:00+08:00'
schema:
type: string
default: If `from` is specified, the default value is 7 days after `from`; if `from` is not specified, the default
value is the current date and time.
- name: meetingId
in: query
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 specified, the operation returns an array of recordings for the specified
meeting series. If a scheduled meeting ID is specified, the operation returns an array of recordings for the specified
scheduled meeting. If a meeting instance ID is specified, the operation returns an array of recordings for the specified
meeting instance. If no ID is specified, the operation returns an array of recordings for all meetings of the current
user. When `meetingId` is specified, the `siteUrl` parameter is ignored.
example: f91b6edce9864428af084977b7c68291_I_166641849979635652
schema:
type: string
- name: hostEmail
in: query
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/meetings#adminorganization-level-authentication-and-scopes).
If set, the admin may specify the email of a user in a site they manage and the API will return recordings of that
user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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 the preferred site of the user can be retrieved by the
[Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.
example: example.webex.com
schema:
type: string
- name: integrationTag
in: query
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 its own domain, such as a Zendesk ticket ID, a Jira ID,
a Salesforce Opportunity ID, etc. An integrationTag created by one client cannot be accessed or used as a filtering
parameter by another client. For example, if a meeting has an `integrationTag` of "Sales" which is created by the
client behind the developer portal, then this integrationTag can't be accessed on the meeting or its recordings
by another client. Neither can it be used to filter meetings or recordings by a client other than the one that created
the integrationTag of "Sales".
example: dbaeceebea5c4a63ac9d5ef1edfe36b9
schema:
type: string
- name: topic
in: query
description: Recording's topic. If specified, the API filters recordings by topic in a case-insensitive manner.
example: John's Meeting
schema:
type: string
- name: format
in: query
description: Recording's file format. If specified, the API filters recordings by format.
example: ARF
schema:
type: string
enum:
- MP4
- ARF
- name: serviceType
in: query
description: The service type for recordings. If this item is specified, the API filters recordings by service-type.
example: MeetingCenter
schema:
type: string
enum:
- MeetingCenter
- EventCenter
- SupportCenter
- TrainingCenter
- name: status
in: query
description: Recording's status. If not specified or `available`, retrieves recordings that are available. Otherwise,
if specified as `deleted`, retrieves recordings that have been moved into the recycle bin. The `purged` status only
applies if the user calling the API is a Compliance Officer and `meetingId` is specified.
example: available
schema:
type: string
default: available
enum:
- available
- deleted
- purged
- name: timezone
in: header
description: e.g. UTC
required: false
schema:
type: string
example: UTC
/recordings/query:
post:
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RecordingObject'
description: An array of recording objects.
example:
items:
- id: 4f914b1dfe3c4d11a61730f18c0f5387
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: John's Meeting
createTime: '2020-07-13T17:11:35Z'
timeRecorded: '2020-07-13T17:05:35Z'
hostDisplayName: John Andersen
hostEmail: john.andersen@example.com
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=b91990e37417bda24986e46cf43345ab
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=69201a61d1d94a84aca18817261d1a73
format: ARF
serviceType: MeetingCenter
durationSeconds: 18416
sizeBytes: 168103
status: available
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that
specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has
been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before
a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact
the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the
request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please
try to reduce it.'
summary: Query Recordings
operationId: queryRecordings
description: 'Queries recordings with filters in the request body. You can specify a date range, a parent meeting ID,
the maximum number of recordings to return, and additional filters such as siteUrl, integrationTag, hostEmail, topic,
format, serviceType, and status.
Only recordings of meetings hosted by or shared with the authenticated user will be listed.
The list returned is sorted in descending order by the date and time that the recordings were created.
Long result sets are split into [pages](/docs/basics#pagination).
* If `meetingId` is specified, only recordings associated with the specified meeting will be listed. **NOTE**: when
`meetingId` is specified, parameter of `siteUrl` will be ignored.
* If `siteUrl` is specified, recordings of the specified site will be listed; otherwise, the API lists recordings
of all the user''s sites. All available Webex sites and preferred site of the user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list)
API.
#### Request Header
* `timezone`: *[Time zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) in conformance with
the [IANA time zone database](https://www.iana.org/time-zones). The default is UTC if `timezone` is not defined.*'
tags:
- Recordings
parameters:
- name: timezone
in: header
description: e.g. UTC
required: false
schema:
type: string
example: UTC
requestBody:
content:
application/json:
example:
max: 10
from: '2020-07-12T09:30:00+08:00'
to: '2020-07-31T09:30:00+08:00'
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
siteUrl: site4-example.webex.com
integrationTag: dbaeceebea5c4a63ac9d5ef1edfe36b9
hostEmail: john.andersen@example.com
topic: John's Meeting
format: ARF
serviceType: MeetingCenter
status: available
schema:
type: object
properties:
max:
type: number
default: 10
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`.
from:
type: string
example: '2020-07-12T09:30:00+08:00'
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 `to`.
to:
type: string
example: '2020-07-31T09:30:00+08:00'
description: Ending date and time (exclusive) for query recordings to return, in any [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
compliant format. `to` cannot be before `from`.
meetingId:
type: string
example: f91b6edce9864428af084977b7c68291_I_166641849979635652
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 specified, the operation returns an array
of recordings for the specified meeting series. If a scheduled meeting ID is specified, the operation
returns an array of recordings for the specified scheduled meeting. If a meeting instance ID is specified,
the operation returns an array of recordings for the specified meeting instance. If no ID is specified,
the operation returns an array of recordings for all meetings of the current user. When `meetingId` is
specified, the `siteUrl` parameter is ignored.
siteUrl:
type: string
example: example.webex.com
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 the preferred site of the user can
be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API.
integrationTag:
type: string
example: dbaeceebea5c4a63ac9d5ef1edfe36b9
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 its own domain, such as a Zendesk
ticket ID, a Jira ID, a Salesforce Opportunity ID, etc. An integrationTag created by one client cannot
be accessed or used as a filtering parameter by another client. For example, if a meeting has an `integrationTag`
of "Sales" which is created by the client behind the developer portal, then this integrationTag can't
be accessed on the meeting or its recordings by another client. Neither can it be used to filter meetings
or recordings by a client other than the one that created the integrationTag of "Sales".
hostEmail:
type: string
example: john.andersen@example.com
description: Email address for the meeting host. This property is only used if the caller has admin-level
meeting scopes. If set, the admin may specify the email of a user in a site they manage and the API will
return recordings of that user.
topic:
type: string
example: John's Meeting
description: Recording's topic. If specified, the API filters recordings by topic in a case-insensitive
manner.
format:
type: string
example: ARF
enum:
- MP4
- ARF
description: Recording's file format. If specified, the API filters recordings by format.
serviceType:
type: string
example: MeetingCenter
enum:
- MeetingCenter
- EventCenter
- SupportCenter
- TrainingCenter
description: The service type for recordings. If this item is specified, the API filters recordings by service-type.
status:
type: string
example: available
default: available
enum:
- available
- deleted
- purged
description: Recording's status. If not specified or `available`, retrieves recordings that are available.
Otherwise, if specified as `deleted`, retrieves recordings that have been moved into the recycle bin.
The `purged` status only applies if the user calling the API is a Compliance Officer and `meetingId` is
specified.
/admin/recordings:
get:
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/RecordingObjectForAdminAndCO'
description: An array of recording objects.
example:
items:
- id: 4f914b1dfe3c4d11a61730f18c0f5387
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:35Z'
timeRecorded: '2020-07-13T17:05:35Z'
hostDisplayName: John Andersen
hostEmail: john.andersen@example.com
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=b91990e37417bda24986e46cf43345ab
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=69201a61d1d94a84aca18817261d1a73
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 18416
sizeBytes: 168103
shareToMe: false
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
- id: 3324fb76946249cfa07fc30b3ccbf580
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:34Z'
timeRecorded: '2020-07-13T17:05:35Z'
hostDisplayName: John Andersen
hostEmail: john.andersen@example.com
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=8a763939dec1fa26c565700d628fcb98
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=b05e9c4f773745e7b88725cc97bc3161
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 181562
sizeBytes: 199134
shareToMe: false
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
- id: 42b80117a2a74dcf9863bf06264f8075
meetingId: f91b6edce9864428af084977b7c68291_I_166641849979635652
scheduledMeetingId: f91b6edce9864428af084977b7c68291_20200713T121500Z
meetingSeriesId: f91b6edce9864428af084977b7c68291
topic: Example Topic
createTime: '2020-07-13T17:11:33Z'
timeRecorded: '2020-07-13T17:05:35Z'
hostDisplayName: John Andersen
hostEmail: john.andersen@example.com
siteUrl: site4-example.webex.com
downloadUrl: https://site4-example.webex.com/site4/lsr.php?RCID=0edd48adbb183e7da97884a0a984e877
playbackUrl: https://site4-example.webex.com/site4/ldr.php?RCID=b64b28ebf70e4645954420c295a9fcad
password: '********'
format: ARF
serviceType: MeetingCenter
durationSeconds: 181562
sizeBytes: 199134
shareToMe: false
integrationTags:
- dbaeceebea5c4a63ac9d5ef1edfe36b9
- 85e1d6319aa94c0583a6891280e3437d
- 27226d1311b947f3a68d6bdf8e4e19a1
status: available
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message
will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist.
Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the
system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used
a media type that is not supported.'
'423':
description: 'Locked: The requested resourc
# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-recordings-api-openapi.yml