wxc_sdk.converged_recordings package

class wxc_sdk.converged_recordings.ConvergedRecordingsApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

Converged Recordings

Not supported for Webex for Government (FedRAMP)

Webex Meetings and Webex Calling (with Webex as the Call Recording provider) leverage the same recording infrastructure. That ensures that users can use the same recording API to fetch call recordings and/or meeting recordings. This convergence allows the sharing of functionality (summaries, transcripts, etc.) across the Webex Suite and provides a consistent user experience.

This API is currently limited to Webex Calling i.e., providing details for call recordings but will later be extended to include Webex Meeting recordings.

When the recording is paused in a call, the recording does not contain the pause. If the recording is stopped and restarted in a call, several recordings are created. Those recordings will be consolidated and available all at once.

For information on the call recording feature, refer to Manage call recording for Webex Calling.

list(from_: str | datetime | None = None, to_: str | datetime | None = None, status: RecordingStatus | None = None, service_type: RecordingServiceType | None = None, format_: str | None = None, owner_id: str | None = None, owner_email: str | None = None, owner_type: RecordingOwnerType | None = None, storage_region: RecordingStorageRegion | None = None, location_id: str | None = None, **params) Generator[ConvergedRecording, None, None][source]

List Recordings for Compliance officer

List recordings for compliance officer. You can specify a date range, 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.

List recordings requires the spark-compliance:recordings_read scope.

Parameters:
  • from (Union[str, datetime]) – Starting date and time (inclusive) for recordings to return, in any ISO 8601 compliant format. from cannot be after to.

  • to (Union[str, datetime]) –

    Ending date and time (exclusive) for List recordings to return, in any ISO 8601 compliant format. to cannot be before from.

  • status (RecordingStatus) – 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.

  • service_type (RecordingServiceType) – Recording’s service-type. If this item is specified, the API filters recordings by service-type. Valid values are calling, or all.

  • format (RecordingObjectFormat) – Recording’s file format. If specified, the API filters recordings by format. Valid values are MP3.

  • owner_id (str) – Webex user Id to fetch recordings for a particular user.

  • owner_email (str) – Webex email address to fetch recordings for a particular user.

  • owner_type (RecordingOwnerType) – Recording based on type of user.

  • storage_region (RecordingStorageRegion) – Recording stored in certain Webex locations.

  • location_id (str) – Fetch recordings for users in a particular Webex Calling location (as configured in Control Hub).

Returns:

Generator yielding ConvergedRecording instances

details(recording_id: str) ConvergedRecordingWithDirectDownloadLinks[source]

Get Recording Details

Retrieves details for a recording with a specified recording ID.

Only recordings of owner with the authenticated user may be retrieved.

Get Recording Details requires the spark-compliance:recordings_read scope.

Parameters:

recording_id (str) – A unique identifier for the recording.

Return type:

ConvergedRecordingWithDirectDownloadLinks

delete(recording_id: str, reason: str | None = None, comment: str | None = None)[source]

Delete a Recording

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), and to Compliance officer also. This action purges the recordings from Webex.

Delete a Recording requires the spark-compliance:recordings_write scope.

Parameters:
  • recording_id (str) – A unique identifier for the recording.

  • reason (str) – Reason for deleting a recording. Only required when a Compliance Officer is operating on another user’s recording.

  • comment (str) – Compliance Officer’s explanation for deleting a recording. The comment can be a maximum of 255 characters long.

Return type:

None

metadata(recording_id: str, show_all_types: bool | None = None) ConvergedRecordingMeta[source]

Get Recording metadata

Retrieves metadata details for a recording with a specified recording ID. The recording must be owned by the authenticated user.

For information on the metadata fields, refer to Metadata Guide

Get Recording metadata requires the spark-compliance:recordings_read scope.

Parameters:
  • recording_id (str) – A unique identifier for the recording.

  • show_all_types (bool) –

    If showAllTypes is true, all attributes will be shown. If it’s false or not specified, the following attributes of the metadata will be hidden.

    • serviceData.callActivity.mediaStreams

    • serviceData.callActivity.participants

    • serviceData.callActivity.redirectInfo

    • serviceData.callActivity.redirectedCall

Return type:

None

reassign(reassign_owner_email: str, owner_email: str | None = None, recording_ids: List[str] | None = None)[source]

Reassign Recordings

Reassigns recordings to a new user. As an administrator, you can reassign a list of recordings or all recordings of a particular user to a new user.

The recordings can belong to an org user, a virtual line, or a workspace, but the destination user should only be a valid org user.

  • If only the ‘ownerEmail’ is provided, it indicates that all recordings owned by the “ownerEmail” will be

reassigned.

  • If only the ‘recordingIds’ are provided, it indicates that these ‘recordingIds’ will be reassigned.

  • If both the ‘ownerEmail’ and ‘recordingIds’ are provided, only the recordingIds belonging to the provided

‘ownerEmail’ will be reassigned.

The spark-admin:recordings_write scope is required to reassign recordings.

Parameters:
  • reassign_owner_email (str) – New owner of the recordings.

  • owner_email (str) – Recording owner email. Can be a user, a virtual line, or a workspace.

  • recording_ids (list[str]) – List of recording identifiers to be reassigned.

Return type:

None

base = ''
class wxc_sdk.converged_recordings.RecordingStorageRegion(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

us = 'US'
sg = 'SG'
gb = 'GB'
jp = 'JP'
de = 'DE'
au = 'AU'
in_ = 'IN'
ca = 'CA'
class wxc_sdk.converged_recordings.ConvergedRecording(*, id: str | None = None, topic: str | None = None, createTime: datetime | None = None, timeRecorded: datetime | None = None, format: RecordingFormat | None = None, serviceType: str | None = None, durationSeconds: int | None = None, sizeBytes: int | None = None, status: RecordingStatus | None = None, ownerId: str | None = None, ownerEmail: str | None = None, ownerType: RecordingOwnerType | None = None, storageRegion: str | None = None, serviceData: RecordingServiceData | None = None)[source]

Bases: ApiModel

id: str | None

A unique identifier for the recording.

topic: str | None

The recording’s topic.

create_time: datetime | None

The date and time recording was created in 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.

time_recorded: datetime | None

The date and time recording started in ISO 8601 compliant format. It indicates when the record button was clicked in the meeting.

format_: RecordingFormat | None
service_type: str | None
duration_seconds: int | None

The duration of the recording, in seconds.

size_bytes: int | None

The size of the recording file, in bytes.

status: RecordingStatus | None
owner_id: str | None

Webex UUID for recording owner/host.

owner_email: str | None

Webex email for recording owner/host.

owner_type: RecordingOwnerType | None
storage_region: str | None

Storage location for recording within Webex datacenters.

service_data: RecordingServiceData | None

Fields relevant to each service Type.

class wxc_sdk.converged_recordings.RecordingOwnerType(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

An enumeration.

user = 'user'

Recording belongs to a user.

place = 'place'

Recording belongs to a workspace device.

virtual_line = 'virtualLine'

Recording belongs to a workspace device.

class wxc_sdk.converged_recordings.RecordingServiceData(*, locationId: str | None = None, callSessionId: str | None = None, callRecordingId: str | None = None, personality: str | None = None, callingParty: RecordingParty | None = None, calledParty: RecordingParty | None = None, callId: str | None = None, session: RecordingSession | None = None, recordingType: str | None = None, recordingActions: list[dict] | None = None, callActivity: list[dict] | None = None)[source]

Bases: ApiModel

location_id: str | None

Webex calling location for recording user.

call_session_id: str | None

Call ID for which recording was done.

call_recording_id: str | None
personality: str | None
calling_party: RecordingParty | None
called_party: RecordingParty | None
call_id: str | None
session: RecordingSession | None
recording_type: str | None
recording_actions: list[dict] | None
call_activity: list[dict] | None

Bases: ApiModel

id: str | None

A unique identifier for recording.

topic: str | None

The recording’s topic.

create_time: datetime | None

The date and time recording was created in 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.

time_recorded: datetime | None

The date and time recording started in ISO 8601 compliant format. It indicates when the record button was clicked in the meeting.

format_: str | None
service_type: str | None
duration_seconds: int | None

The duration of the recording in seconds.

size_bytes: int | None

The size of the recording file in bytes.

“Webex Events”.

status: RecordingStatus | None
owner_id: str | None

Webex UUID for recording owner/host.

owner_email: str | None

Webex email for recording owner/host.

owner_type: RecordingOwnerType | None
storage_region: str | None

Storage location for recording within Webex datacenters.

service_data: RecordingServiceData | None

Fields relevant to each service Type.

class wxc_sdk.converged_recordings.ConvergedRecordingMeta(*, id: str | None = None, orgId: str | None = None, ownerId: str | None = None, ownerType: str | None = None, ownerName: str | None = None, ownerEmail: str | None = None, storageRegion: RecordingStorageRegion | None = None, serviceType: str | None = None, version: str | None = None, serviceData: RecordingServiceData | None = None)[source]

Bases: ApiModel

id: str | None
org_id: str | None
owner_id: str | None
owner_type: str | None
owner_name: str | None
owner_email: str | None
storage_region: RecordingStorageRegion | None
service_type: str | None
version: str | None
service_data: RecordingServiceData | None

Bases: ApiModel

The download link for recording audio file without HTML page rendering in browser or HTTP redirect. Expires 3 hours after the API request.

The download link for recording transcript file without HTML page rendering in browser or HTTP redirect. Expires 3 hours after the API request.

expiration: str | None

The date and time when recordingDownloadLink, audioDownloadLink, and transcriptDownloadLink expire in ISO 8601 compliant format.

class wxc_sdk.converged_recordings.RecordingSession(*, startTime: datetime | None = None)[source]

Bases: ApiModel

start_time: datetime | None
class wxc_sdk.converged_recordings.RecordingParty(*, actor: RecordingPartyActor | None, name: str | None = None, number: str | None = None)[source]

Bases: ApiModel

actor: RecordingPartyActor | None
name: str | None
number: str | None
class wxc_sdk.converged_recordings.RecordingPartyActor(*, id: str | None = None, type: str | None = None)[source]

Bases: ApiModel

id: str | None
type: str | None