openapi: 3.0.0 info: title: Webex Admin Address Book Recordings API version: 1.0.0 description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling. 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: '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 /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 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 For an Admin or Compliance Officer operationId: listRecordingsForAdminOrComplianceOfficer description: 'List recordings for an admin or compliance officer. You can specify a date range, a parent meeting ID, and the maximum number of recordings to return. 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. Please note that when `meetingId` is specified, parameters of `siteUrl`, `from`, and `to` will be ignored. * If `siteUrl` is specified, all the recordings on the specified site are listed; otherwise, all the recordings on the admin user''s or compliance officer''s preferred site are listed. All the available Webex sites and the admin user''s or compliance officer''s preferred site can be retrieved by the [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`. The interval between `from` and `to` must be within 30 days. If `to` is specified, the default value for `from` is `to` minus 7 days. If `to` is also not specified, the default value for `from` is current date and time minus 7 days. example: '2020-07-12T09:30:00+08:00' schema: type: string - 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`. The interval between `from` and `to` must be within 30 days. If `from` is specified, the default value for `to` is `from` plus 7 days. If `from` is also not specified, the default value for `to` is the current date and time. example: '2020-07-31T09:30:00+08:00' schema: type: string - 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 not specified, the operation returns an array of recordings for all the current user's meetings. When `meetingId` is specified, the `siteUrl` parameter is ignored. example: f91b6edce9864428af084977b7c68291_I_166641849979635652 schema: type: string - name: siteUrl in: query 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 preferred site of the user can be retrieved by [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 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 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. If specified as `deleted`, retrieves recordings that have been moved to the recycle bin. Otherwise, if specified as `purged`, retrieves recordings that have been purged from the recycle bin. 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 /admin/recordings/{recordingId}: delete: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Delete a Recording By an Admin operationId: adminDeleteRecordingById description: 'Removes a recording with a specified recording ID by an admin. The deleted recording cannot be recovered. It will be inaccessible to regular users (host, attendees and shared) or an admin, but it will be still available to the Compliance Officer. Any recording on a site which is managed by the admin can be deleted by him. The `temporaryDirectDownloadLinks` of a recording which are retrieved by the [Get Recording Details](/docs/api/v1/recordings/get-recording-details) API are still available to Compliance Officers even if the recording has been deleted.' tags: - Recordings parameters: - name: recordingId in: path description: A unique identifier for the recording. required: true example: 4f914b1dfe3c4d11a61730f18c0f5387 schema: type: string /recordings/{recordingId}: get: responses: '200': description: OK headers: {} content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/RecordingObjectWithDirectDownloadLinks' example: 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: '********' temporaryDirectDownloadLinks: recordingDownloadLink: https://site4-example.webex.com/nbr/MultiThreadDownloadServlet?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAIUBSHkvL6Z5ddyBim5%2FHcJYcvn6IoXNEyCE2mAYQ5BlBg%3D%3D×tamp=1567125236465&islogin=yes&isprevent=no&ispwd=yes audioDownloadLink: https://site4-example.webex.com/nbr/downloadMedia.do?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAIXCIXsuBt%2BAgtK7WoQ2VhgeI608N4ZMIJ3vxQaQNZuLZA%3D%3D×tamp=1567125236708&islogin=yes&isprevent=no&ispwd=yes&mediaType=1 transcriptDownloadLink: https://site4-example.webex.com/nbr/downloadMedia.do?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAAJVUJDxeA08qKkF%2FlxlSkDxuEFPwgGT0XW1z21NhY%2BCvg%3D%3D×tamp=1567125236866&islogin=yes&isprevent=no&ispwd=yes&mediaType=2 expiration: '2022-05-01T10:30:25Z' format: ARF serviceType: MeetingCenter durationSeconds: 18416 sizeBytes: 168103 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 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: Get Recording Details operationId: getRecordByRecordId description: 'Retrieves details for a recording with a specified recording ID. Only recordings of meetings hosted by or shared with the authenticated user may be retrieved. #### 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.* * `siteUrl`: Optional request header parameter. If specified, retrieve the recording details from that site; otherwise, retrieve it from the site which is implied based on the recording ID.' tags: - Recordings parameters: - name: recordingId in: path description: A unique identifier for the recording. required: true example: 4f914b1dfe3c4d11a61730f18c0f5387 schema: type: string - name: hostEmail in: query 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#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 recording details of that user. example: john.andersen@example.com schema: type: string - name: timezone in: header description: e.g. UTC required: false schema: type: string example: UTC - name: siteUrl in: header description: e.g. example.webex.com required: false schema: type: string example: example.webex.com delete: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Delete a Recording operationId: deleteRecordingByRecordId description: 'Removes a recording with a specified recording ID. The deleted recording cannot be recovered. If a Compliance Officer deletes another user''s recording, the recording will be inaccessible to regular users (host, attendees and shared), but will be still available to the Compliance Officer. Only recordings of meetings hosted by the authenticated user can be deleted. The `temporaryDirectDownloadLinks` of a recording which are retrieved by the [Get Recording Details](/docs/api/v1/recordings/get-recording-details) API are still available to Compliance Officers even if the recording has been deleted.' tags: - Recordings parameters: - name: recordingId in: path description: A unique identifier for the recording. required: true example: 4f914b1dfe3c4d11a61730f18c0f5387 schema: type: string - name: hostEmail in: query 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#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 delete a recording of that user. example: john.andersen@example.com schema: type: string requestBody: content: application/json: example: reason: audit comment: Compliance Officer's optional explanation for deleting a recording schema: $ref: '#/components/schemas/DeleteRecordingObject' /recordings/softDelete: post: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Move Recordings into the Recycle Bin operationId: bulkSoftDeleteRecordings description: 'Move recordings into the recycle bin with recording IDs. Recordings in the recycle bin can be recovered by [Restore Recordings from Recycle Bin](/docs/api/v1/recordings/restore-recordings-from-recycle-bin) API. If you''d like to empty recordings from the recycle bin, you can use [Purge Recordings from Recycle Bin](/docs/api/v1/recordings/purge-recordings-from-recycle-bin) API to purge all or some of them. Only recordings of meetings hosted by the authenticated user can be moved into the recycle bin. * `recordingIds` should not be empty and its maximum size is `100`. * All the IDs of `recordingIds` should belong to the site of `siteUrl` or the user''s preferred site if `siteUrl` is not specified.' tags: - Recordings parameters: - name: hostEmail in: query 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#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 move recordings into recycle bin of that user example: john.andersen@example.com schema: type: string requestBody: content: application/json: example: recordingIds: - 4f914b1dfe3c4d11a61730f18c0f5387 siteUrl: example.webex.com schema: $ref: '#/components/schemas/BulkSoftDeleteRecordingObject' /recordings/restore: post: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Restore Recordings from Recycle Bin operationId: bulkRestoreRecordings description: 'Restore all or some recordings from the recycle bin. Only recordings of meetings hosted by the authenticated user can be restored from recycle bin. * If `restoreAll` is `true`, `recordingIds` should be empty. * If `restoreAll` is `false`, `recordingIds` should not be empty and its maximum size is `100`. * All the IDs of `recordingIds` should belong to the site of `siteUrl` or the user''s preferred site if `siteUrl` is not specified.' tags: - Recordings parameters: - 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 restore recordings of that user. example: john.andersen@example.com schema: type: string requestBody: content: application/json: example: restoreAll: false recordingIds: - 4f914b1dfe3c4d11a61730f18c0f5387 siteUrl: example.webex.com schema: $ref: '#/components/schemas/BulkRestoreRecordingObject' /recordings/purge: post: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Purge Recordings from Recycle Bin operationId: bulkPurgeRecordings description: 'Purge recordings from recycle bin with recording IDs or purge all the recordings that are in the recycle bin. Only recordings of meetings hosted by the authenticated user can be purged from recycle bin. * If `purgeAll` is `true`, `recordingIds` should be empty. * If `purgeAll` is `false`, `recordingIds` should not be empty and its maximum size is `100`. * All the IDs of `recordingIds` should belong to the site of `siteUrl` or the user''s preferred site if `siteUrl` is not specified.' tags: - Recordings parameters: - name: hostEmail in: query 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#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 purge recordings from recycle bin of that user. example: john.andersen@example.com schema: type: string requestBody: content: application/json: example: purgeAll: false recordingIds: - 4f914b1dfe3c4d11a61730f18c0f5387 siteUrl: example.webex.com schema: $ref: '#/components/schemas/BulkPurgeRecordingObject' /recordings/{recordingId}/accessList: post: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Share a Recording operationId: updateRecordingShareById description: Share or unshare a recording with other users by recording ID and email addresses. tags: - Recordings parameters: - name: recordingId in: path description: A unique identifier for the recording. required: true example: 4f914b1dfe3c4d11a61730f18c0f5387 schema: type: string requestBody: content: application/json: example: hostEmail: john.andersen@example.com addEmails: - alex@example.com - bob@example.com removeEmails: - cherry@example.com - danielle@example.com sendEmail: true schema: $ref: '#/components/schemas/ShareRecordingByIdObject' /recordings/accessList: post: responses: '204': description: No Content headers: {} content: {} '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 headers: {} content: {} '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: Share a Recording Link operationId: updateRecordingShareByLink description: Share or unshare a recording with other users by recording link and email addresses. tags: - Recordings requestBody: content: application/json: example: webShareLink: https://example.webex.com/webappng/sites/example/recording/9edff068a1cb4965ac640627161beed1/playback hostEmail: john.andersen@example.com addEmails: - alex@example.com - bob@example.com removeEmails: - cherry@example.com - danielle@example.com sendEmail: true schema: $ref: '#/components/schemas/ShareRecordingByLinkObject' /group/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' 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 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 Group Recordings operationId: listGroupRecordings description: 'List group recordings for a service app which has group recording access. You can specify a date range, the maximum number of recordings to return, and `personId` or `hostEmail` of whom the recordings will be retrieved. * The list returned is sorted in descending order by the date and time that the recordings were created. * Only recordings which are in the `available` status and not shared by others can be listed. Those in the `deleted` or `purged` status or shared by others can''t be listed. * Long result sets are split into [pages](/docs/basics#pagination). * If `siteUrl` is specified, the API lists group recordings on the specified site; otherwise, the API lists group recordings on all the sites managed by the service app. All the sites managed by a service app can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API. * One of the `personId` parameter and `hostEmail` header must be specified so that only recordings of meetings hosted by the person of `personId` or `hostEmail` will be returned. #### 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. * `hostEmail`: 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 specified.' tags: - Recordings parameters: - name: personId in: query 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/api/v1/people/list-people). Note that a person ID retrieved from the People APIs is a Base64-encoded string, e.g. `Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNDdiMmU3ZC01ZTBmLTRmNjktYWVmNC1lNGZmOTBhZWE3Yzk`. The person ID in the raw UUID format which is the last part of the Base64-decoded string, e.g. `d47b2e7d-5e0f-4f69-aef4-e4ff90aea7c9`, is also supported. The `personId` parameter is optional, but one of the `personId` parameter and `hostEmail` header must be specified. required: false example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNDdiMmU3ZC01ZTBmLTRmNjktYWVmNC1lNGZmOTBhZWE3Yzk schema: type: string - 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`. The interval between `from` and `to` must be within 30 days. 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 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`. The interval between `from` and `to` must be within 30 days. 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: siteUrl in: query 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 preferred site of the user can be retrieved by [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 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 specified, the API filters recordings by service type. example: MeetingCenter schema: type: string enum: - MeetingCenter - EventCenter - SupportCenter - TrainingCenter - name: timezone in: header description: e.g. UTC required: false schema: type: string example: UTC - name: hostEmail in: header 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 specified. required: false schema: type: string example: john.andersen@example.com /group/recordings/{recordingId}: get: responses: '200': description: OK headers: {} content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/RecordingObjectWithDirectDownloadLinks' example: 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: '********' temporaryDirectDownloadLinks: recordingDownloadLink: https://site4-example.webex.com/nbr/MultiThreadDownloadServlet?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAIUBSHkvL6Z5ddyBim5%2FHcJYcvn6IoXNEyCE2mAYQ5BlBg%3D%3D×tamp=1567125236465&islogin=yes&isprevent=no&ispwd=yes audioDownloadLink: https://site4-example.webex.com/nbr/downloadMedia.do?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAIXCIXsuBt%2BAgtK7WoQ2VhgeI608N4ZMIJ3vxQaQNZuLZA%3D%3D×tamp=1567125236708&islogin=yes&isprevent=no&ispwd=yes&mediaType=1 transcriptDownloadLink: https://site4-example.webex.com/nbr/downloadMedia.do?siteid=2062842&recordid=305462&confid=137735449369118342&language=en_US&userid=3516472&serviceRecordID=305492&ticket=SDJTSwAAAAJVUJDxeA08qKkF%2FlxlSkDxuEFPwgGT0XW1z21NhY%2BCvg%3D%3D×tamp=1567125236866&islogin=yes&isprevent=no&ispwd=yes&mediaType=2 expiration: '2022-05-01T10:30:25Z' format: ARF serviceType: MeetingCenter durationSeconds: 18416 sizeBytes: 168103 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 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: Get Group Recording Details operationId: getGroupRecordingById description: 'Retrieves details for a group recording for a service app which has group recording access. * Only recordings which are in the `available` status and not shared by others can be listed. Those in the `deleted` or `purged` status or shared by others can''t be listed. * One of the `personId` parameter and `hostEmail` header must be specified so that only recordings of meetings hosted by the person of `personId` or `hostEmail` will be returned. #### 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.* * `hostEmail`: 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 specified.' tags: - Recordings parameters: - name: personId in: query 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/api/v1/people/list-people). Note that a person ID retrieved from the People APIs is a Base64-encoded string, e.g. `Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNDdiMmU3ZC01ZTBmLTRmNjktYWVmNC1lNGZmOTBhZWE3Yzk`. The person ID in the raw UUID format which is the last part of the Base64-decoded string, e.g. `d47b2e7d-5e0f-4f69-aef4-e4ff90aea7c9`, is also supported. The `personId` parameter is optional, but one of the `personId` parameter and `hostEmail` header must be specified. required: false example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNDdiMmU3ZC01ZTBmLTRmNjktYWVmNC1lNGZmOTBhZWE3Yzk schema: type: string - name: recordingId in: path description: A unique identifier for the recording. required: true example: 4f914b1dfe3c4d11a61730f18c0f5387 schema: type: string - name: timezone in: header description: e.g. UTC required: false schema: type: string example: UTC - name: hostEmail in: header 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 specified. required: false schema: type: string example: john.andersen@example.com components: schemas: BulkRestoreRecordingObject: type: object properties: restoreAll: type: boolean description: If not specified or `false`, restores the recordings specified by `recordingIds`. If `true`, restores all recordings from the recycle bin. recordingIds: type: array items: type: string description: Recording IDs for recovering recordings from the recycle bin in batch. Note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified. siteUrl: type: string example: example.webex.com description: URL of the Webex site from which the API restores recordings. If not specified, the API restores recordings from a user's preferred site. All available Webex sites and preferred sites of a user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API. BulkPurgeRecordingObject: type: object properties: purgeAll: type: boolean description: If not specified or `false`, purges the recordings specified by `recordingIds`. If `true`, purges all recordings from the recycle bin. recordingIds: type: array items: type: string description: Recording IDs for purging recordings from the recycle bin in batch. Note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified. siteUrl: type: string example: example.webex.com description: URL of the Webex site from which the API purges recordings. If not specified, the API purges recordings from user's preferred site. All available Webex sites and preferred sites of the user can be retrieved by [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API. ShareRecordingByIdObject: type: object properties: hostEmail: type: string example: john.andersen@example.com description: Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin-level scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host. The field is not editable and is only used to share or unshare a recording on behalf of the real meeting host. addEmails: type: array items: type: string description: Email addresses of users to share the recording with. The maximum size of the array is `100`. removeEmails: type: array items: type: string description: Email addresses of users to unshare the recording with. The maximum size of the array is `100`. sendEmail: type: boolean description: Whether to send email notifications to the users being shared. The default is `true`. ShareRecordingByLinkObject: type: object properties: hostEmail: type: string example: john.andersen@example.com description: Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin-level scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host. The field is not editable and is only used to share or unshare a recording link on behalf of the real meeting host. webShareLink: type: string example: https://example.webex.com/recordingservice/sites/example/recording/playback/1234567890abcdef1234567890abcdef description: The link for the recording to be shared or unshared. addEmails: type: array items: type: string description: Email addresses of users to share the recording link with. The maximum size of the array is `100`. removeEmails: type: array items: type: string description: Email addresses of users to unshare the recording link with. The maximum size of the array is `100`. sendEmail: type: boolean description: Whether to send email notifications to the users being shared. The default is `true`. RecordingObjectForAdminAndCO: type: object required: - id - meetingId - topic - createTime - timeRecorded - hostDisplayName - hostEmail - siteUrl - downloadUrl - playbackUrl - format - serviceType - durationSeconds - sizeBytes - status properties: id: type: string example: 4f914b1dfe3c4d11a61730f18c0f5387 description: A unique identifier for the recording. meetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's ended meeting instance. scheduledMeetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's scheduled meeting instance. meetingSeriesId: type: string example: f91b6edce9864428af084977b7c68291 description: Unique identifier for the recording's meeting series. topic: type: string example: John's Meeting description: The recording's topic. createTime: type: string example: '2019-01-27T17:43:24Z' description: The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline. timeRecorded: type: string example: '2019-01-27T17:40:20Z' description: The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting. hostDisplayName: type: string example: John Andersen description: Display name for the meeting host. hostEmail: type: string example: john.andersen@example.com description: Email address for the meeting host. siteUrl: type: string example: site4-example.webex.com description: Site URL for the recording. downloadUrl: type: string example: https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7 description: The download link for recording. This attribute is not available if **Prevent downloading** has been turned on for the recording being requested. The **Prevent downloading** option can be viewed and set by a site admin on [Control Hub](https://help.webex.com/en-us/article/sxdj4ab/Manage-Security-for-a-Cisco-Webex-Site-in-Cisco-Webex-Control-Hub). playbackUrl: type: string example: https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19 description: The playback link for recording. format: type: string enum: - MP4 - ARF - UPLOADED description: " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" serviceType: type: string enum: - MeetingCenter - EventCenter - TrainingCenter - SupportCenter description: "The service type for the recording.\n * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" durationSeconds: type: number example: 4472 description: The duration of the recording, in seconds. sizeBytes: type: number example: 248023188 description: The size of the recording file, in bytes. integrationTags: type: array items: type: string description: External keys of the parent meeting created by an integration application. They could be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain. status: type: string enum: - available - deleted - purged description: " * `available` - Recording is available.\n * `deleted` - Recording has been moved into recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Please note that only a compliance officer can access recordings with a `purged` status.\n" RecordingObject: type: object required: - id - meetingId - topic - createTime - timeRecorded - siteUrl - downloadUrl - playbackUrl - password - format - serviceType - durationSeconds - sizeBytes - shareToMe - status properties: id: type: string example: 4f914b1dfe3c4d11a61730f18c0f5387 description: A unique identifier for the recording. meetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's ended meeting instance. scheduledMeetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's scheduled meeting instance. meetingSeriesId: type: string example: f91b6edce9864428af084977b7c68291 description: Unique identifier for the recording's meeting series. topic: type: string example: John's Meeting description: The recording's topic. createTime: type: string example: '2019-01-27T17:43:24Z' description: The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline. timeRecorded: type: string example: '2019-01-27T17:40:20Z' description: The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting. siteUrl: type: string example: site4-example.webex.com description: Site URL for the recording. downloadUrl: type: string example: https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7 description: The download link for recording. This attribute is not available if **Prevent downloading** has been turned on for the recording being requested. The **Prevent downloading** option can be viewed and set by a site admin on [Control Hub](https://help.webex.com/en-us/article/sxdj4ab/Manage-Security-for-a-Cisco-Webex-Site-in-Cisco-Webex-Control-Hub). playbackUrl: type: string example: https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19 description: The playback link for recording. password: type: string example: '********' description: The recording's password. format: type: string enum: - MP4 - ARF - UPLOADED description: " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" serviceType: type: string enum: - MeetingCenter - EventCenter - TrainingCenter - SupportCenter description: "The service type for the recording.\n * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" durationSeconds: type: number example: 4472 description: The duration of the recording, in seconds. sizeBytes: type: number example: 248023188 description: The size of the recording file, in bytes. shareToMe: type: boolean description: Whether or not the recording has been shared to the current user. This attribute is hidden if the user calling the API is a Compliance Officer and `hostEmail` is not specified. integrationTags: type: array items: type: string description: External keys of the parent meeting created by an integration application. They could be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain. status: type: string enum: - available - deleted - purged description: " * `available` - Recording is available.\n * `deleted` - Recording has been moved into recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Only applies if the user calling the API is a Compliance Officer and `meetingId` is specified.\n" BulkSoftDeleteRecordingObject: type: object required: - recordingIds properties: recordingIds: type: array items: type: string description: Recording IDs for removing recordings into the recycle bin in batch. Please note that all the recording IDs should belong to the site of `siteUrl` or the user's preferred site if `siteUrl` is not specified. siteUrl: type: string example: example.webex.com description: URL of the Webex site from which the API deletes recordings. If not specified, the API deletes recordings from the user's preferred site. All available Webex sites and preferred sites of a user can be retrieved by the [Get Site List](/docs/api/v1/meeting-preferences/get-site-list) API. RecordingObjectWithDirectDownloadLinks: type: object required: - id - meetingId - topic - createTime - timeRecorded - siteUrl - downloadUrl - playbackUrl - password - format - serviceType - durationSeconds - sizeBytes - shareToMe - status properties: id: type: string example: 7ee40776779243b4b3da448d941b34dc description: A unique identifier for recording. meetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's ended meeting instance. scheduledMeetingId: type: string example: f91b6edce9864428af084977b7c68291_I_166641849979635652 description: Unique identifier for the recording's scheduled meeting instance. meetingSeriesId: type: string example: f91b6edce9864428af084977b7c68291 description: Unique identifier for the recording's meeting series. topic: type: string example: John's Meeting description: The recording's topic. createTime: type: string example: '2019-01-27T17:43:24Z' description: The date and time recording was created in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. Please note that it's not the time the record button was clicked in meeting but the time the recording file was generated offline. timeRecorded: type: string example: '2019-01-27T17:40:20Z' description: The date and time recording started in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. It indicates when the record button was clicked in the meeting. siteUrl: type: string example: site4-example.webex.com description: Site URL for the recording. downloadUrl: type: string example: https://site4-example.webex.com/site4/lsr.php?RCID=60b864cc80aa5b44fc9769c8305b98b7 description: The download link for the recording. This attribute is not available if `prevent downloading` has been turned on for the recording being requested. The `prevent downloading` option can be viewed and set on page when editing a recording. playbackUrl: type: string example: https://site4-example.webex.com/site4/ldr.php?RCID=7a8a476b29a32cd1e06dfa6c81970f19 description: The playback link for recording. password: type: string example: '********' description: The recording's password. format: type: string enum: - MP4 - ARF - UPLOADED description: " * `MP4` - Recording file format is MP4.\n * `ARF` - Recording file format is ARF, a proprietary Webex recording format.\n * `UPLOADED` - The recording file is uploaded manually.\n" serviceType: type: string enum: - MeetingCenter - EventCenter - TrainingCenter - SupportCenter description: " * `MeetingCenter` - The service type for the recording is meeting.\n * `EventCenter` - The service type for the recording is the event.\n * `TrainingCenter` - The service type for the recording is the training session.\n * `SupportCenter` - The service type for the recording is the support meeting.\n" durationSeconds: type: number example: 4472 description: The duration of the recording in seconds. sizeBytes: type: number example: 248023188 description: The size of the recording file in bytes. shareToMe: type: boolean description: Whether or not the recording has been shared to the current user. temporaryDirectDownloadLinks: type: object properties: recordingDownloadLink: type: string description: The download link for recording MP4/ARF file without HTML page rendering in browser or HTTP redirect. Expires 3 hours after the API request. audioDownloadLink: type: string description: The download link for recording audio file without HTML page rendering in browser or HTTP redirect. This attribute is not available if **Prevent Downloading** has been turned on for the recording being requested. Expires 3 hours after the API request. transcriptDownloadLink: type: string description: The download link for recording transcript file without HTML page rendering in browser or HTTP redirect. This attribute is not available if **Prevent Downloading** has been turned on for the recording being requested. Expires 3 hours after the API request. expiration: type: string description: The date and time when `recordingDownloadLink`, `audioDownloadLink`, and `transcriptDownloadLink` expire in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) compliant format. description: The download links for MP4/ARF, audio, and transcript of the recording without HTML page rendering in browser or HTTP redirect. This attribute is not available if the user is not a [Compliance Officer](/docs/compliance#compliance) and **Prevent Downloading** has been turned on for the recording being requested. The Prevent Downloading option can be viewed and set on page when editing a recording. Note that there are various products in [Webex Suite](https://www.cisco.com/c/en/us/products/conferencing/product_comparison.html) such as "Webex Meetings", "Webex Training" and "Webex Events". integrationTags: type: array items: type: string description: External keys of the parent meeting created by an integration application. The key can be Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries recordings by a key in its own domain. status: type: string enum: - available - deleted - purged description: " * `available` - Recording is available.\n * `deleted` - Recording has been moved to the recycle bin.\n * `purged` - Recording has been purged from the recycle bin. Please note that only a compliance officer can access recordings with a `purged` status.\n" DeleteRecordingObject: type: object properties: reason: type: string example: audit description: Reason for deleting a recording. Only required when a Compliance Officer is operating on another user's recording. comment: type: string example: Maintain data privacy description: Compliance Officer's explanation for deleting a recording. The comment can be a maximum of 255 characters long. securitySchemes: oauth2: flows: authorizationCode: authorizationUrl: / scopes: {} tokenUrl: / type: oauth2 bearer-key: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT bearerAuth: type: oauth2 description: OAuth 2.0 Bearer token authentication flows: authorizationCode: authorizationUrl: https://webexapis.com/v1/authorize tokenUrl: https://webexapis.com/v1/access_token scopes: spark:applications_token: Create access tokens for Service Apps