wxc_sdk.as_api module

class wxc_sdk.as_api.AsAccessCodesApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for outgoing permission access codes: locations, persons, workspaces, virtual lines

feature: str | None = 'outgoingPermission/accessCodes'
async read(entity_id: str, org_id: str = None) AuthCodes[source]

Retrieve Access codes.

Access codes are used to bypass permissions.

This API requires a full or read-only administrator auth token with a scope of spark-admin:workspaces_read or a user auth token with spark:workspaces_read scope can be used to read entity settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

authorization codes

Return type:

AuthCodes

async modify(entity_id: str, use_custom_access_codes: bool = None, delete_codes: list[str | AuthCode] = None, org_id: str = None)[source]

Modify Access Codes

Access codes are used to bypass permissions.

This API requires a full or user administrator or location administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • use_custom_access_codes (bool) – When true, use custom settings for the access codes category of outgoing call permissions.

  • delete_codes (list[str]) – Indicates access codes to delete.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

async create(entity_id: str, code: str, description: str, org_id: str = None)[source]

Create new Access codes.

Access codes are used to bypass permissions.

This API requires a full or user administrator auth token with the spark-admin:workspaces_write scope or a user auth token with spark:workspaces_write scope can be used to update workspace settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • code (str) – Indicates an access code.

  • description (str) – Indicates the description of the access code.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async delete(entity_id: str, org_id: str = None)[source]

Delete Access Code

Deletes all Access codes for the given entity.

Access codes are used to bypass permissions.

This API requires a full or user administrator or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with spark:workspaces_write scope can be used to update entity settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsAdminAuditEventsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Admin Audit Events

Admin Audit Events are available to full administrators for certain events performed in Webex Control Hub.

Administrators with accounts created before 2019 who have never logged into Webex Control Hub will need to log into Webex Control Hub at least once to enable access to this API.

An administrator account with the audit:events_read scope is required to use this API.

list_events_gen(org_id: str, from_: str | datetime, to_: str | datetime, actor_id: str = None, event_categories: list[str] = None, **params) AsyncGenerator[AuditEvent, None][source]

List Admin Audit Events

List admin audit events in your organization. Several query parameters are available to filter the response.

Long result sets will be split into pages.

NOTE: A maximum of one year of audit events can be returned per request.

Parameters:
  • org_id (str) – List events in this organization, by ID.

  • from (Union[str, datetime]) – List events which occurred after a specific date and time.

  • to (Union[str, datetime]) – List events which occurred before a specific date and time.

  • actor_id (str) – List events performed by this person, by ID.

  • event_categories (list[str]) – List events, by event categories.

Returns:

Generator yielding AuditEvent instances

async list_events(org_id: str, from_: str | datetime, to_: str | datetime, actor_id: str = None, event_categories: list[str] = None, **params) list[AuditEvent][source]

List Admin Audit Events

List admin audit events in your organization. Several query parameters are available to filter the response.

Long result sets will be split into pages.

NOTE: A maximum of one year of audit events can be returned per request.

Parameters:
  • org_id (str) – List events in this organization, by ID.

  • from (Union[str, datetime]) – List events which occurred after a specific date and time.

  • to (Union[str, datetime]) – List events which occurred before a specific date and time.

  • actor_id (str) – List events performed by this person, by ID.

  • event_categories (list[str]) – List events, by event categories.

Returns:

Generator yielding AuditEvent instances

async list_event_categories() list[str][source]

List Admin Audit Event Categories

Get the list of all admin event categories.

Return type:

list[str]

base = 'adminAudit'
class wxc_sdk.as_api.AsAgentCallerIdApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API to manage agent caller id settings

Also used for virtual lines

feature: str | None = 'agent'
async available_caller_ids(entity_id: str, org_id: str = None) list[AgentCallerId][source]

Retrieve Agent’s List of Available Caller IDs

Get the list of call queues and hunt groups available for caller ID use by this person, virtual line, or workspace as an agent.

This API requires a full, user, or read-only administrator or location administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the person, virtual line, or workspace.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

list[AvailableCallerIdObject]

async read(entity_id: str) AgentCallerId[source]

Retrieve Agent’s Caller ID Information

Retrieve the Agent’s Caller ID Information.

Each agent will be able to set their outgoing Caller ID as either the Call Queue’s Caller ID, Hunt Group’s Caller ID or their own configured Caller ID.

This API requires a full admin or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

entity_id (str) – Unique identifier for the person, virtual line, or workspace

Return type:

AgentCallerId

async configure(entity_id: str, selected_caller_id: str = None)[source]

Modify Agent’s Caller ID Information.

Each Agent will be able to set their outgoing Caller ID as either the designated Call Queue’s Caller ID or Hunt Group’s Caller ID or their own configured Caller ID

This API requires a full or user administrator or location administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the person, virtual line, or workspace

  • selected_caller_id (str) – The unique identifier of the call queue or hunt group to use for the agent’s caller ID. Set to null to use the agent’s own caller ID.

Return type:

None

base = ''
class wxc_sdk.as_api.AsAnnouncementApi(*, session: AsRestSession)[source]

Bases: object

API for call queue Announcements

__init__(*, session: AsRestSession)[source]
list_gen(location_id: str, queue_id: str, org_id: str = None) AsyncGenerator[Announcement, None][source]

Read the List of Call Queue Announcement Files

List file info for all Call Queue announcement files associated with this Call Queue.

Call Queue announcement files contain messages and music that callers hear while waiting in the queue. A call queue can be configured to play whatever subset of these announcement files is desired.

Retrieving this list of files requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Note that uploading of announcement files via API is not currently supported, but is available via Webex Control Hub.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Retrieve announcement files for the call queue with this identifier.

  • org_id (str) – Retrieve announcement files for a call queue from this organization.

async list(location_id: str, queue_id: str, org_id: str = None) list[Announcement][source]

Read the List of Call Queue Announcement Files

List file info for all Call Queue announcement files associated with this Call Queue.

Call Queue announcement files contain messages and music that callers hear while waiting in the queue. A call queue can be configured to play whatever subset of these announcement files is desired.

Retrieving this list of files requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Note that uploading of announcement files via API is not currently supported, but is available via Webex Control Hub.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Retrieve announcement files for the call queue with this identifier.

  • org_id (str) – Retrieve announcement files for a call queue from this organization.

async delete_announcement(location_id: str, queue_id: str, file_name: str, org_id: str = None) None[source]

Delete a Call Queue Announcement File

Delete an announcement file for the designated Call Queue.

Call Queue announcement files contain messages and music that callers hear while waiting in the queue. A call queue can be configured to play whatever subset of these announcement files is desired.

Deleting an announcement file for a call queue requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Delete an announcement for a call queue in this location.

  • queue_id (str) – Delete an announcement for the call queue with this identifier.

  • org_id (str) – Delete call queue announcement from this organization.

Return type:

None

class wxc_sdk.as_api.AsAnnouncementsRepositoryApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Not supported for Webex for Government (FedRAMP)

Features: Announcement Repository support reading and writing of Webex Calling Announcement Repository settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read. Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

list_gen(location_id: str = None, order: str = None, file_name: str = None, file_type: str = None, media_file_type: str = None, name: str = None, org_id: str = None, **params) AsyncGenerator[RepoAnnouncement, None][source]

List Announcements

Fetch a list of binary announcement greetings at an organization as well as location level.

An admin can upload a file at an organization level. This file will be uploaded to the announcement repository.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of enterprise or Location announcement files. Without this parameter, the Enterprise level announcements are returned. Possible values: all, locations, Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx

  • order (str) – Sort the list according to fileName or fileSize. The default sort will be in Ascending order.

  • file_name (str) – Return the list of announcements with the given fileName.

  • file_type (str) – Return the list of announcement files for this fileType.

  • media_file_type (str) – Return the list of announcement files for this mediaFileType.

  • name (str) – Return the list of announcement files for this announcement label.

  • org_id (str) – Create an announcement in this organization.

Returns:

yields RepoAnnouncement objects

async list(location_id: str = None, order: str = None, file_name: str = None, file_type: str = None, media_file_type: str = None, name: str = None, org_id: str = None, **params) list[RepoAnnouncement][source]

List Announcements

Fetch a list of binary announcement greetings at an organization as well as location level.

An admin can upload a file at an organization level. This file will be uploaded to the announcement repository.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of enterprise or Location announcement files. Without this parameter, the Enterprise level announcements are returned. Possible values: all, locations, Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx

  • order (str) – Sort the list according to fileName or fileSize. The default sort will be in Ascending order.

  • file_name (str) – Return the list of announcements with the given fileName.

  • file_type (str) – Return the list of announcement files for this fileType.

  • media_file_type (str) – Return the list of announcement files for this mediaFileType.

  • name (str) – Return the list of announcement files for this announcement label.

  • org_id (str) – Create an announcement in this organization.

Returns:

yields RepoAnnouncement objects

async upload_announcement(name: str, file_uri: str = None, file: BufferedReader | str = None, upload_as: str = None, is_text_to_speech: bool = False, location_id: str = None, org_id: str = None) str[source]
async usage(location_id: str = None, org_id: str = None) RepositoryUsage[source]

Fetch repository usage for announcements for an organization or location

Retrieves repository usage for announcements for an organization or location

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier of a location

  • org_id (str) – Create an announcement in this organization.

async details(announcement_id: str, location_id: str = None, org_id: str = None) RepoAnnouncement[source]

Fetch details of a binary announcement greeting at the organization or location level

Fetch details of a binary announcement greeting by its ID at an organization level.

An admin can upload a file at an organization level. This file will be uploaded to the announcement repository. This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier of a location

  • announcement_id (str) – Unique identifier of an announcement.

  • org_id (str) – Get details of an announcement in this organization.

async delete(announcement_id: str, location_id: str = None, org_id: str = None)[source]

Delete an announcement greeting.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • announcement_id (str) – Unique identifier of an announcement.

  • location_id (str) – Unique identifier of a location where announcement is being deleted.

  • org_id (str) – Delete an announcement in this organization.

async modify(announcement_id: str, name: str, file_uri: str = None, file: BufferedReader | str = None, upload_as: str = None, is_text_to_speech: bool = False, location_id: str = None, org_id: str = None)[source]
base = 'telephony/config'
class wxc_sdk.as_api.AsAnonCallsApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for anonymous call reject settings; so far only used for workspaces and users

feature: str | None = 'anonymousCallReject'
async read(entity_id: str, org_id: str = None) bool[source]

Retrieve Anonymous Call Settings for an entity.

Anonymous Call Rejection, when enabled, blocks all incoming calls from unidentified or blocked caller IDs.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

bool

async configure(entity_id: str, enabled: bool, org_id: str = None)[source]

Modify Anonymous Call Settings for an entity.

Anonymous Call Rejection, when enabled, blocks all incoming calls from unidentified or blocked caller IDs.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • enabled (bool) – true if the Anonymous Call Rejection feature is enabled.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsApiChild(*, session: AsRestSession, base: str = None)[source]

Bases: object

Base class for child APIs of WebexSimpleApi

__init__(*, session: AsRestSession, base: str = None)[source]
session: AsRestSession

REST session

ep(path: str = None) str[source]

endpoint URL for given path

Parameters:

path (str) – path after APIChild subclass specific endpoint URI prefix

Returns:

endpoint URL

Return type:

str

async get(*args: Any, **kwargs: Any) str | dict[str, Any][source]

GET request

Parameters:
  • args

  • kwargs

Returns:

async post(*args: Any, **kwargs: Any) str | dict[str, Any][source]

POST request

Parameters:
  • args

  • kwargs

Returns:

async put(*args: Any, **kwargs: Any) str | dict[str, Any][source]

PUT request

Parameters:
  • args

  • kwargs

Returns:

async delete(*args: Any, **kwargs: Any) str | dict[str, Any][source]

DELETE request

Parameters:
  • args

  • kwargs

async patch(*args: Any, **kwargs: Any) str | dict[str, Any][source]

PATCH request

Parameters:
  • args

  • kwargs

class wxc_sdk.as_api.AsAppServicesApi(*, session: AsRestSession)[source]

Bases: AsApiChild

API for person’s app services settings

__init__(*, session: AsRestSession)[source]
shared_line: AsAppSharedLineApi
async read(person_id: str, org_id: str = None) AppServicesSettings[source]

Retrieve a person’s Application Services Settings New

Gets mobile and PC applications settings for a user.

Application services let you determine the ringing behavior for calls made to people in certain scenarios. You can also specify which devices can download the Webex Calling app.

Requires a full, user, or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

AppServicesSettings

async configure(person_id: str, settings: AppServicesSettings, org_id: str = None)[source]

Modify a person’s Application Services Settings

Application services let you determine the ringing behavior for calls made to users in certain scenarios. You can also specify which devices users can download the Webex Calling app on.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (AppServicesSettings) – settings for update

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsAppSharedLineApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Webex app shared line API

search_members_gen(person_id: str, order: str = None, location: str = None, name: str = None, phone_number: str = None, extension: str = None, **params) AsyncGenerator[AvailableMember, None][source]

Search Shared-Line Appearance Members

Get members available for shared-line assignment to a Webex Calling Apps.

Like most hardware devices, applications support assigning additional shared lines which can monitored and utilized by the application.

This API requires a full, user, or location administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • order (str) – Order the Route Lists according to number, ascending or descending.

  • location (str) – Location ID for the user.

  • name (str) – Search for users with names that match the query.

  • phone_number (str) – Search for users with numbers that match the query.

  • extension (str) – Search for users with extensions that match the query.

Returns:

Generator yielding AvailableSharedLineMember instances

async search_members(person_id: str, order: str = None, location: str = None, name: str = None, phone_number: str = None, extension: str = None, **params) list[AvailableMember][source]

Search Shared-Line Appearance Members

Get members available for shared-line assignment to a Webex Calling Apps.

Like most hardware devices, applications support assigning additional shared lines which can monitored and utilized by the application.

This API requires a full, user, or location administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • order (str) – Order the Route Lists according to number, ascending or descending.

  • location (str) – Location ID for the user.

  • name (str) – Search for users with names that match the query.

  • phone_number (str) – Search for users with numbers that match the query.

  • extension (str) – Search for users with extensions that match the query.

Returns:

Generator yielding AvailableSharedLineMember instances

async members_count(person_id: str, location_id: str = None, member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None) int[source]

Get Count of Shared-Line Appearance Members

Get the count of members available for shared-line assignment to Webex Calling Apps.

Shared-line appearance allows multiple devices or applications to share a single line for call handling.

This API requires a full, user, or location administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • location_id (str) – Location ID for the person.

  • member_name (str) – Search for people with names that match the query.

  • phone_number (str) – Search for people with numbers that match the query.

  • extension (str) – Search for people with extensions that match the query.

  • org_id (str) – Organization ID for the person.

Return type:

int

async get_members(person_id: str) DeviceMembersResponse[source]

Get Shared-Line Appearance Members

Get primary and secondary members assigned to a shared line on a Webex Calling Apps.

Like most hardware devices, applications support assigning additional shared lines which can monitored and utilized by the application.

This API requires a full, user, or location administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:

person_id (str) – A unique identifier for the person.

Return type:

DeviceMembersResponse

async update_members(person_id: str, members: list[DeviceMember | AvailableMember] = None)[source]

Put Shared-Line Appearance Members New

Add or modify primary and secondary users assigned to shared-lines on a Webex Calling Apps.

Like most hardware devices, applications support assigning additional shared lines which can monitored and utilized by the application.

This API requires a full, user, or location administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • members (list[Union[DeviceMember, AvailableMember]]) – List of members to be added or modified for shared-line assignment to a Webex Calling Apps.

Return type:

None

base = 'telephony/config/people'
class wxc_sdk.as_api.AsApplyLineKeyTemplatesJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async apply(action: ApplyLineKeyTemplateAction, template_id: str = None, location_ids: list[str] = None, exclude_devices_with_custom_layout: bool = None, include_device_tags: list[str] = None, exclude_device_tags: list[str] = None, advisory_types: LineKeyTemplateAdvisoryTypes = None, org_id: str = None) ApplyLineKeyTemplateJobDetails[source]

Apply a Line key Template

Apply a Line Key Template or reset devices to their factory Line Key settings.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display.

A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model.

This API allows users to apply a line key template or apply factory default Line Key settings to devices in a set of locations or across all locations in the organization.

Applying a Line Key Template or resetting devices to their default Line Key configuration requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • action (PostApplyLineKeyTemplateRequestAction) – Line key Template action to perform.

  • template_id (str) – templateId is required for APPLY_TEMPLATE action.

  • location_ids (list[str]) – Used to search for devices only in the given locations.

  • exclude_devices_with_custom_layout (bool) – Indicates whether to exclude devices with custom layout.

  • include_device_tags (list[str]) – Include devices only with these tags.

  • exclude_device_tags (list[str]) – Exclude devices with these tags.

  • advisory_types (LineKeyTemplateAdvisoryTypes) – Refine search with advisories.

  • org_id (str) – Apply Line Key Template for this organization.

Return type:

ApplyLineKeyTemplateJobDetails

async list(org_id: str = None) list[ApplyLineKeyTemplateJobDetails][source]

Get List of Apply Line Key Template jobs

Get the list of all apply line key templates jobs in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve all the apply line key templates jobs in an organization.

Retrieving the list of apply line key templates jobs in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of line key templates jobs in this organization.

Return type:

list[ApplyLineKeyTemplateJobDetails]

async status(job_id: str, org_id: str = None) ApplyLineKeyTemplateJobDetails[source]

Get the job status of an Apply Line Key Template job

Get the status of an apply line key template job by its job ID.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to check the status of an apply line key templates job by job ID in an organization.

Checking the the status of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Check a line key template job status in this organization.

Return type:

ApplyLineKeyTemplateJobDetails

errors_gen(job_id: str, org_id: str = None) AsyncGenerator[JobErrorItem, None][source]

Get job errors for an Apply Line Key Template job

GET job errors for an apply Line Key Template job in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve all the errors of an apply line key templates job by job ID in an organization.

Retrieving all the errors of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for an apply line key template job in this organization.

async errors(job_id: str, org_id: str = None) list[JobErrorItem][source]

Get job errors for an Apply Line Key Template job

GET job errors for an apply Line Key Template job in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve all the errors of an apply line key templates job by job ID in an organization.

Retrieving all the errors of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for an apply line key template job in this organization.

base = 'telephony/config/jobs/devices/applyLineKeyTemplate'
class wxc_sdk.as_api.AsAttachmentActionsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Users create attachment actions by interacting with message attachments such as clicking on a submit button in a card.

async details(action_id: str) AttachmentAction[source]

Shows details for a attachment action, by ID. Specify the attachment action ID in the id URI parameter.

Parameters:

action_id (str) – A unique identifier for the attachment action.

async create(type: str, message_id: str, inputs: dict[str, Any]) AttachmentAction[source]

Create an Attachment Action

Create a new attachment action.

Parameters:
  • type (str) – The type of action to perform.

  • message_id (str) – The ID of the message which contains the attachment.

  • inputs (SubmitCardActionInputs) – The attachment action’s inputs.

Return type:

AttachmentAction

base = 'attachment/actions'
class wxc_sdk.as_api.AsAuthorizationsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Authorizations

This is an admin API. As a partner admin revoking tokens for your customer users, you must be a Full Admin. As an admin in your own org revoking tokens for your home org users, you must have either of the following roles: Full Admin, Device Admin, Or user Admin. Read-only admins are not supported.

Regular users can manage their tokens via the following GUI

Authorizations are user grants to applications to act on the user’s behalf. Authorizations are how Integrations get authorized with specific access scopes in the oAuth client life-cycle. Integrations and some of the Webex service portals, like developer.webex.com, are all oAuth clients, each with their unique clientId.

Your application receives an API access token and a refresh token used to call Webex APIs for which the user authorized the scopes. Access tokens expire reasonably frequently, while refresh tokens (when being regularly used) will be refreshed to last forever (see `Using the Refresh Token for details).

In this API an authorization is synonymous with an API access token.

To provide admins with fine-grained token management control, you use the /authorizations API with the DELETE HTTP method to revoke access and refresh tokens.

Deleting a refresh token will revoke all associated access tokens as well. Deleting an access token will revoke the developer’s ability to call the APIs with it. Webex subsystems may cache the token’s validity briefly after the authorization is deleted.

Admins can revoke user authorizations for users in their organization. When an admin deletes their own token, the clientId used to authorize the request must match the clientId used to generate the token.

To use the authorizations API in an Integration the scopes must include: identity:tokens_write, identity:tokens_read.

async list(person_id: str = None, person_email: str = None) list[Authorization][source]

Lists all authorizations for a user. Either personId or personEmail must be provided. This API does not support pagination.

Parameters:
  • person_id – List authorizations for this user id.

  • person_email – List authorizations for this user email.

Returns:

List of Authorizations

async get_token_expiration_status() int[source]

Get expiration status for a token

Epoch-based expiration time for the token.

Return type:

int

async delete(authorization_id: str = None, client_id: str = None, org_id: str = None)[source]

Deletes an authorization, by authorization ID or client ID and org ID.

Specify the authorization Id in the authorizationId parameter in the URI which was listed in the list resource. The client_id parameter can be combined with org_id.

Parameters:
  • authorization_id (str) – The unique identifier for the authorization

  • client_id (str) – The unique oAuth client id.

  • org_id (str) – The ID of the organization. If no orgId is specified, use orgId from the OAuth token.

base = 'authorizations'
class wxc_sdk.as_api.AsAutoAttendantApi(session: AsRestSession)[source]

Bases: AsApiChild

Features: Auto Attendant

Features: Auto Attendant support reading and writing of Webex Calling Auto Attendant settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

__init__(session: AsRestSession)[source]
forwarding: AsForwardingApi
list_gen(org_id: str = None, location_id: str = None, name: str = None, phone_number: str = None, **params) AsyncGenerator[AutoAttendant, None][source]

Read the List of Auto Attendants

List all Auto Attendants for the organization.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – List auto attendants for this organization.

  • location_id (str) – Return the list of auto attendants for this location.

  • name (str) – Only return auto attendants with the matching name.

  • phone_number (str) – Only return auto attendants with the matching phone number.

Returns:

yields AutoAttendant objects

async list(org_id: str = None, location_id: str = None, name: str = None, phone_number: str = None, **params) list[AutoAttendant][source]

Read the List of Auto Attendants

List all Auto Attendants for the organization.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – List auto attendants for this organization.

  • location_id (str) – Return the list of auto attendants for this location.

  • name (str) – Only return auto attendants with the matching name.

  • phone_number (str) – Only return auto attendants with the matching phone number.

Returns:

yields AutoAttendant objects

async by_name(name: str, location_id: str = None, org_id: str = None) AutoAttendant | None[source]

Get auto attendant info by name

Parameters:
  • location_id

  • name

  • org_id

Returns:

async details(location_id: str, auto_attendant_id: str, org_id: str = None) AutoAttendant[source]

Get Details for an Auto Attendant

Retrieve an Auto Attendant details.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Retrieving an auto attendant details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve an auto attendant details in this location.

  • auto_attendant_id (str) – Retrieve the auto attendant with the matching ID.

  • org_id (str) – Retrieve auto attendant details from this organization.

Returns:

auto attendant details

Return type:

AutoAttendant

async create(location_id: str, settings: AutoAttendant, org_id: str = None) str[source]

Create an Auto Attendant

Create new Auto Attendant for the given location.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Creating an auto attendant requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the auto attendant for this location.

  • settings (AutoAttendant) – auto attendant settings for new auto attendant

  • org_id (str) – Create the auto attendant for this organization.

Returns:

ID of the newly created auto attendant.

Return type:

str

async update(location_id: str, auto_attendant_id: str, settings: AutoAttendant, org_id: str = None)[source]

Update an Auto Attendant

Update the designated Auto Attendant.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Updating an auto attendant requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this auto attendant exists.

  • auto_attendant_id (str) – Update an auto attendant with the matching ID.

  • settings (AutoAttendant) – auto attendant settings for the update

  • org_id (str) – Create the auto attendant for this organization.

Return type:

None

async delete_auto_attendant(location_id: str, auto_attendant_id: str, org_id: str = None) None[source]

Delete an Auto Attendant

Delete the designated Auto Attendant.

Auto attendants play customized prompts and provide callers with menu options for routing their calls through your system.

Deleting an auto attendant requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete an auto attendant.

  • auto_attendant_id (str) – Delete the auto attendant with the matching ID.

  • org_id (str) – Delete the auto attendant from this organization.

Return type:

None

primary_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Auto Attendant Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s primary phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async primary_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Auto Attendant Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s primary phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

alternate_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Auto Attendant Alternate Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s alternate number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async alternate_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Auto Attendant Alternate Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s alternate number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

call_forward_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Auto Attendant Call Forward Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s call forward number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async call_forward_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Auto Attendant Call Forward Available Phone Numbers

List service and standard numbers that are available to be assigned as the auto attendant’s call forward number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async list_announcement_files(location_id: str, auto_attendant_id: str, org_id: str = None) list[AnnAudioFile][source]

Read the List of Auto Attendant Announcement Files

List file info for all auto attendant announcement files associated with this auto attendant.

Auto attendant announcement files contain messages and music that callers hear while waiting in the queue. A auto attendant can be configured to play whatever subset of these announcement files is desired.

Retrieving this list of files requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Note that uploading of announcement files via API is not currently supported, but is available via Webex Control Hub.

Parameters:
  • location_id (str) – Location in which this auto attendant exists.

  • auto_attendant_id (str) – Retrieve announcement files for the auto attendant with this identifier.

  • org_id (str) – Retrieve announcement files for a auto attendant from this organization.

Return type:

list[AnnAudioFile]

async delete_announcement_file(location_id: str, auto_attendant_id: str, file_name: str, org_id: str = None) None[source]

Delete an Auto Attendant Announcement File

Delete an announcement file for the designated auto attendant.

Auto Attendant announcement files contain messages and music that callers hear while waiting in the queue. A auto attendant can be configured to play whatever subset of these announcement files is desired.

Deleting an announcement file for a auto attendant requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Delete an announcement for a auto attendant in this location.

  • auto_attendant_id (str) – Delete an announcement for the auto attendant with this identifier.

  • file_name (str)

  • org_id (str) – Delete auto attendant announcement from this organization.

Return type:

None

base = 'telephony/config/autoAttendants'
class wxc_sdk.as_api.AsAvailableNumbersApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsApiChild

API for person’s available numbers

Also used for virtual lines, workspaces

Available methods

Method

Virtual Lines

Workspaces

User

GET Call Forward Available Phone Numbers

X

X

X

GET ECBN Available Phone Numbers

X

X

X

GET Fax Message Available Phone Numbers

X

X

GET Available Phone Numbers

X

X

Get Call Intercept Available Phone Numbers

X

X

GET Primary Available Phone Numbers

X

GET Secondary Available Phone Numbers

X

X

existing = {'': {'virtualLines', 'workspaces'}, 'callForwarding': {'people', 'virtualLines', 'workspaces'}, 'callIntercept': {'people', 'workspaces'}, 'emergencyCallbackNumber': {'people', 'virtualLines', 'workspaces'}, 'faxMessage': {'people', 'virtualLines', 'workspaces'}, 'primary': {'people'}, 'secondary': {'people', 'workspaces'}}
__init__(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]
primary_gen(location_id: str = None, phone_number: list[str] = None, license_type: AvailablePhoneNumberLicenseType = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Person Primary Available Phone Numbers

Available for: user

List numbers that are available to be assigned as a person’s primary phone number. By default, this API returns standard and mobile numbers from all locations that are unassigned. The parameters licenseType and locationId must align with the person’s settings to determine the appropriate number for assignment. Failure to provide these parameters may result in the unsuccessful assignment of the returned number.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • license_type (AvailablePhoneNumberLicenseType) – This is used to search numbers according to the person’s licenseType to which the number will be assigned. Possible input values

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async primary(location_id: str = None, phone_number: list[str] = None, license_type: AvailablePhoneNumberLicenseType = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Person Primary Available Phone Numbers

Available for: user

List numbers that are available to be assigned as a person’s primary phone number. By default, this API returns standard and mobile numbers from all locations that are unassigned. The parameters licenseType and locationId must align with the person’s settings to determine the appropriate number for assignment. Failure to provide these parameters may result in the unsuccessful assignment of the returned number.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • license_type (AvailablePhoneNumberLicenseType) – This is used to search numbers according to the person’s licenseType to which the number will be assigned. Possible input values

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

secondary_gen(entity_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Person Secondary Available Phone Numbers

Available for: user, workspace

List standard numbers that are available to be assigned as a person’s secondary phone number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async secondary(entity_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Person Secondary Available Phone Numbers

Available for: user, workspace

List standard numbers that are available to be assigned as a person’s secondary phone number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

fax_message_gen(entity_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Fax Message Available Phone Numbers

Available for: user, virtual line, workspace

List standard numbers that are available to be assigned as a FAX message number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding PersonSecondaryAvailableNumberObject instances

async fax_message(entity_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Fax Message Available Phone Numbers

Available for: user, virtual line, workspace

List standard numbers that are available to be assigned as a FAX message number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding PersonSecondaryAvailableNumberObject instances

call_forward_gen(entity_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Call Forward Available Phone Numbers

Available for: user, virtual line, workspace

List service and standard numbers that are available to be assigned as call forward number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async call_forward(entity_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Call Forward Available Phone Numbers

Available for: user, virtual line, workspace

List service and standard numbers that are available to be assigned as call forward number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

ecbn_gen(entity_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get ECBN Available Phone Numbers

Available for: user, virtual line, workspace

List standard numbers that are available to be assigned as emergency callback number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async ecbn(entity_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get ECBN Available Phone Numbers

Available for: user, virtual line, workspace

List standard numbers that are available to be assigned as emergency callback number. These numbers are associated with the location of the person specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

available_gen(location_id: str = None, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Available Phone Numbers

Available for: virtual line, workspace

List standard numbers that are available to be assigned as phone number. By default, this API returns numbers from all locations that are unassigned. To select the suitable number for assignment, ensure the entities location ID is provided as the locationId request parameter.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async available(location_id: str = None, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Available Phone Numbers

Available for: virtual line, workspace

List standard numbers that are available to be assigned as phone number. By default, this API returns numbers from all locations that are unassigned. To select the suitable number for assignment, ensure the entities location ID is provided as the locationId request parameter.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

call_intercept_gen(entity_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Call Intercept Available Phone Numbers

Available for: user, workspace

List service and standard numbers that are available to be assigned as call intercept number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async call_intercept(entity_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Call Intercept Available Phone Numbers

Available for: user, workspace

List service and standard numbers that are available to be assigned as call intercept number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

base = 'telephony/config'
class wxc_sdk.as_api.AsBargeApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for barge settings; also used for virtual lines and workspaces

feature: str | None = 'bargeIn'
async read(entity_id: str, org_id: str = None) BargeSettings[source]

Retrieve Barge In Settings

The Barge In feature enables you to use a Feature Access Code (FAC) to answer a call that was directed to another subscriber, or barge-in on the call if it was already answered. Barge In can be used across locations.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read or a user auth token with spark:people_read scope can be used by an entity to read their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

barge settings for specific user

Return type:

BargeSettings

async configure(entity_id: str, barge_settings: BargeSettings, org_id: str = None)[source]

Configure Barge In Settings

The Barge In feature enables you to use a Feature Access Code (FAC) to answer a call that was directed to another subscriber, or barge-in on the call if it was already answered. Barge In can be used across locations.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by an entity to update their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • barge_settings (BargeSettings) – new setting to be applied

  • org_id – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsCQPolicyApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async holiday_service_details(location_id: str, queue_id: str, org_id: str = None) HolidayService[source]

Get Details for a Call Queue Holiday Service

Retrieve Call Queue Holiday Service details.

Configure the call queue to route calls differently during the holidays.

Retrieving call queue holiday service details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve settings for a call queue in this location.

  • queue_id (str) – Retrieve settings for the call queue with this identifier.

  • org_id (str) – Retrieve call queue settings from this organization.

Returns:

Call Queue Holiday Service details

Return type:

HolidayService

async holiday_service_update(location_id: str, queue_id: str, update: HolidayService, org_id: str = None)[source]

Update a Call Queue Holiday Service

Update the designated Call Queue Holiday Service.

Configure the call queue to route calls differently during the holidays.

Updating a call queue holiday service requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Update setting for the call queue with the matching ID.

  • update (HolidayService) – holiday service settings.

  • org_id (str) – Update call queue settings from this organisation.

async night_service_detail(location_id: str, queue_id: str, org_id: str = None) NightService[source]

Get Details for a Call Queue Night Service

Retrieve Call Queue Night service details.

Configure the call queue to route calls differently during the hours when the queue is not in service. This is determined by a schedule that defines the business hours of the queue.

Retrieving call queue details requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve settings for a call queue in this location.

  • queue_id (str) – Retrieve settings for the call queue night service with this identifier.

  • org_id (str) – Retrieve call queue night service settings from this organisation

Return type:

NightService

async night_service_update(location_id: str, queue_id: str, update: NightService, org_id: str = None)[source]

Update a Call Queue Night Service

Update Call Queue Night Service details.

Configure the call queue to route calls differently during the hours when the queue is not in service. This is determined by a schedule that defines the business hours of the queue.

Updating call queue night service details requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update settings for a call queue in this location.

  • queue_id (str) – Update settings for the call queue night service with this identifier.

  • update (NightService) – new night service settings

  • org_id (str) – update call queue night service settings from this organisation.

async stranded_calls_details(location_id: str, queue_id: str, org_id: str = None) StrandedCalls[source]

Get Details for a Call Queue Stranded Calls

Allow admin to view default/configured Stranded Calls settings.

Stranded-All agents logoff Policy: If the last agent staffing a queue “unjoins” the queue or signs out, then all calls in the queue become stranded. Stranded-Unavailable Policy: This policy allows for the configuration of the processing of calls that are in a staffed queue when all agents are unavailable.

Retrieving call queue Stranded Calls details requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve settings for a call queue in this location.

  • queue_id (str) – Retrieve settings for the call queue with this identifier.

  • org_id (str) – Retrieve call queue settings from this organization.

Returns:

Stranded Calls settings

Return type:

StrandedCalls

async stranded_calls_update(location_id: str, queue_id: str, update: StrandedCalls, org_id: str = None)[source]

Update a Call Queue Stranded Calls service

Update the designated Call Stranded Calls Service.

Allow admin to modify configured Stranded Calls settings.

Updating a call queue stranded calls requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Update setting for the call queue with the matching ID.

  • update (StrandedCalls) – Call Stranded Calls settings

  • org_id (str) – Update call queue settings from this organisation.

async forced_forward_details(location_id: str, queue_id: str, org_id: str = None) ForcedForward[source]

Get Details for a Call Queue Forced Forward

Retrieve Call Queue policy Forced Forward details.

This policy allows calls to be temporarily diverted to a configured destination.

Retrieving call queue Forced Forward details requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve settings for a call queue in this location.

  • queue_id (str) – Retrieve settings for the call queue with this identifier.

  • org_id (str) – Retrieve call queue settings from this organization.

Returns:

Call Queue policy Forced Forward details.

Return type:

ForcedForward

async forced_forward_update(location_id: str, queue_id: str, update: ForcedForward, org_id: str = None)[source]

Update a Call Queue Forced Forward service

Update the designated Forced Forward Service.

If the option is enabled, then incoming calls to the queue are forwarded to the configured destination. Calls that are already in the queue remain queued. The policy can be configured to play an announcement prior to proceeding with the forward.

Updating a call queue Forced Forward service requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Update setting for the call queue with the matching ID.

  • update (ForcedForward) – new call queue Forced Forward settings

  • org_id (str) – Update call queue settings from this organisation.

base = ''
class wxc_sdk.as_api.AsCallBridgeApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

User Call Settings with Call Bridge Feature

Also used for virtual lines

Not supported for Webex for Government (FedRAMP)

Person Call Settings supports modifying Webex Calling settings for a specific person.

Viewing People requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read or, for select APIs, a user auth token with spark:people_read scope can be used by a person to read their own settings.

Configuring People settings requires a full or user administrator auth token with the spark-admin:people_write scope or, for select APIs, a user auth token with spark:people_write scope can be used by a person to update their own settings.

feature: str | None = 'callBridge'
async read(entity_id: str, org_id: str = None) CallBridgeSetting[source]

Read Call Bridge Settings

Retrieve Bridge settings.

This API requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

:class:’CallBridgeSetting’

async configure(entity_id: str, setting: CallBridgeSetting, org_id: str = None)[source]

Configure Call Bridge Settings

Configure Call Bridge settings.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • setting (:class:'CallBridgeSetting') – new call bridge settings

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsCallControlsMembersApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Controls Members

Call Control Members APIs in support of Webex Calling. All GET commands require the spark-admin:calls_read scope while all other commands require the spark-admin:calls_write scope.

Notes:

These APIs support 3rd Party Call Control only.

The Call Control APIs are only for use by Webex Calling Multi Tenant users and not applicable for users hosted on UCM, including Dedicated Instance users.

async answer(member_id: str, call_id: str, endpoint_id: str = None, org_id: str = None)[source]

Answer by Member ID

Answer an incoming call. When no endpointId is specified, the call is answered on the user’s primary device. When an endpointId is specified, the call is answered on the device or application identified by the endpointId. The answer API is rejected if the device is not alerting for the call or the device does not support answer via API.

Parameters:
  • member_id (str) – Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual line

  • call_id (str) – The call identifier of the call to be answered.

  • endpoint_id (str) – The ID of the device or application to answer the call on. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API.

  • org_id (str) – Id of the organization to which the member belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

None

async list_calls(member_id: str, org_id: str = None) list[TelephonyCall][source]

List Calls by Member ID

Get the list of details for all active calls associated with the member.

Parameters:
  • member_id (str) – Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual line

  • org_id (str) – Id of the organization to which the member belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

list[TelephonyCall]

async get_call_details(member_id: str, call_id: str, org_id: str = None) TelephonyCall[source]

Get Call Details by Member ID

Get the details of the specified active call for the member.

Parameters:
  • member_id (str) – Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual line

  • call_id (str) – The call identifier of the call.

  • org_id (str) – Id of the organization to which the member belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

TelephonyCall

async dial(member_id: str, destination: str, endpoint_id: str = None, single_number_reach_phone_number: str = None, org_id: str = None) CallInfo[source]

Dial by Member ID

Initiate an outbound call to a specified destination. This is also commonly referred to as Click to Call or Click to Dial. Alerts occur on all the devices belonging to a user unless an optional endpointId is specified in which case only the device or application identified by the endpointId is alerted. When a user answers an alerting device, an outbound call is placed from that device to the destination.

Parameters:
  • member_id (str) – Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual line

  • destination (str) – The destination to be dialed. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, and sip:user@company.domain.

  • endpoint_id (str) –

    The ID of the device or application to use for the call. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually

    exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the call. Mutually exclusive with endpointId.

  • org_id (str) – Id of the organization to which the member belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

CallInfo

async hangup(member_id: str, call_id: str, org_id: str = None)[source]

Hangup by Member ID

Hangup a call. If used on an unanswered incoming call, the call is rejected and sent to busy.

Parameters:
  • member_id (str) – Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual line

  • call_id (str) – The call identifier of the call to hangup.

  • org_id (str) – Id of the organization to which the member belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

None

base = 'telephony/calls/members'
class wxc_sdk.as_api.AsCallInterceptApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for call intercept settings

Also used for virtual lines and workspaces

feature: str | None = 'intercept'
async read(entity_id: str, org_id: str = None) InterceptSetting[source]

Read Call Intercept Settings

Retrieves Call Intercept Settings

The intercept feature gracefully takes an entity’s phone out of service, while providing callers with informative announcements and alternative routing options. Depending on the service configuration, none, some, or all incoming calls to the specified entity are intercepted. Also depending on the service configuration, outgoing calls are intercepted or rerouted to another location.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

user’s call intercept settings

Return type:

InterceptSetting

async configure(entity_id: str, intercept: InterceptSetting, org_id: str = None)[source]

Configure Call Intercept Settings

Configures Call Intercept Settings

The intercept feature gracefully takes an entity’s phone out of service, while providing callers with informative announcements and alternative routing options. Depending on the service configuration, none, some, or all incoming calls to the specified entity are intercepted. Also depending on the service configuration, outgoing calls are intercepted or rerouted to another location.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • intercept (InterceptSetting) – new intercept settings

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async greeting(entity_id: str, content: BufferedReader | str, upload_as: str = None, org_id: str = None)[source]

Configure Call Intercept Greeting

ConfigureCall Intercept Greeting by uploading a Waveform Audio File Format, .wav, encoded audio file.

Your request will need to be a multipart/form-data request rather than JSON, using the audio/wav Content-Type.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by an entity to update their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • content (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • upload_as (str) – filename for the content. Only required if content is a reader; has to be a .wav file name.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsCallParkApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Call Park

Features: Call Park supports reading and writing of Webex Calling Call Park settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

list_gen(location_id: str, order: str = None, name: str = None, org_id: str = None, **params) AsyncGenerator[CallPark, None][source]

Read the List of Call Parks

List all Call Parks for the organization.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Park ID will change upon modification of the Call Park name.

Parameters:
  • location_id (str) – Return the list of call parks for this location.

  • order (str) – Sort the list of call parks by name, either ASC or DSC. Default is ASC.

  • name (str) – Return the list of call parks that contains the given name. The maximum length is 80.

  • org_id (str) – List call park extensions for this organization.

Returns:

yields CallPark objects

async list(location_id: str, order: str = None, name: str = None, org_id: str = None, **params) list[CallPark][source]

Read the List of Call Parks

List all Call Parks for the organization.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Park ID will change upon modification of the Call Park name.

Parameters:
  • location_id (str) – Return the list of call parks for this location.

  • order (str) – Sort the list of call parks by name, either ASC or DSC. Default is ASC.

  • name (str) – Return the list of call parks that contains the given name. The maximum length is 80.

  • org_id (str) – List call park extensions for this organization.

Returns:

yields CallPark objects

async create(location_id: str, settings: CallPark, org_id: str = None) str[source]

Create a Call Park Extension

Create new Call Park Extensions for the given location.

Call Park Extension enables a call recipient to park a call to an extension, so someone else within the same Organization can retrieve the parked call by dialing that extension. Call Park Extensions can be added as monitored lines by users’ Cisco phones, so users can park and retrieve calls by pressing the associated phone line key.

Creating a call park extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the call park for this location.

  • settings (CallPark) – settings for new call park

  • org_id – Create the call park for this organization.

Returns:

ID of the newly created call park.

Return type:

str

async delete_callpark(location_id: str, callpark_id: str, org_id: str = None)[source]

Delete a Call Park

Delete the designated Call Park.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Deleting a call park requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Park ID will change upon modification of the Call Park name.

Parameters:
  • location_id (str) – Location from which to delete a call park.

  • callpark_id (str) – Delete the call park with the matching ID.

  • org_id (str) – Delete the call park from this organization.

async details(location_id: str, callpark_id: str, org_id: str = None) CallPark[source]

Get Details for a Call Park

Retrieve Call Park details.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving call park details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Park ID will change upon modification of the Call Park name.

Parameters:
  • location_id (str) – Retrieve settings for a call park in this location.

  • callpark_id (str) – Retrieve settings for a call park with the matching ID.

  • org_id (str) – Retrieve call park settings from this organization.

Returns:

call park info

Return type:

CallPark

async update(location_id: str, callpark_id: str, settings: CallPark, org_id: str = None) str[source]

Update a Call Park

Update the designated Call Park.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Updating a call park requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Park ID will change upon modification of the Call Park name.

Parameters:
  • location_id (str) – RLocation in which this call park exists.

  • callpark_id (str) – Update settings for a call park with the matching ID.

  • settings (CallPark) – updates

  • org_id (str) – Update call park settings from this organization.

available_agents_gen(location_id: str, call_park_name: str = None, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[PersonPlaceAgent, None][source]

Get available agents from Call Parks

Retrieve available agents from call parks for a given location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving available agents from call parks requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available agents for this location.

  • call_park_name (str) – Only return available agents from call parks with the matching name.

  • name (str) – Only return available agents with the matching name.

  • phone_number (str) – Only return available agents with the matching primary number.

  • order (str) – Order the available agents according to the designated fields. Up to three vertical bar (|) separated sort order fields may be specified. Available sort fields: fname, lname, number and extension. The maximum supported sort order value is 3.

  • org_id (str) – Return the available agents for this organization.

Returns:

yields PersonPlaceCallPark objects

async available_agents(location_id: str, call_park_name: str = None, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) list[PersonPlaceAgent][source]

Get available agents from Call Parks

Retrieve available agents from call parks for a given location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving available agents from call parks requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available agents for this location.

  • call_park_name (str) – Only return available agents from call parks with the matching name.

  • name (str) – Only return available agents with the matching name.

  • phone_number (str) – Only return available agents with the matching primary number.

  • order (str) – Order the available agents according to the designated fields. Up to three vertical bar (|) separated sort order fields may be specified. Available sort fields: fname, lname, number and extension. The maximum supported sort order value is 3.

  • org_id (str) – Return the available agents for this organization.

Returns:

yields PersonPlaceCallPark objects

available_recalls_gen(location_id: str, name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[AvailableRecallHuntGroup, None][source]

Get available recall hunt groups from Call Parks

Retrieve available recall hunt groups from call parks for a given location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving available recall hunt groups from call parks requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available recall hunt groups for this location.

  • name (str) – Only return available recall hunt groups with the matching name.

  • order – Order the available recall hunt groups according to the designated fields. Available sort fields: lname.

  • order – str

  • org_id (str) – Return the available recall hunt groups for this organization.

Returns:

yields AvailableRecallHuntGroup objects

async available_recalls(location_id: str, name: str = None, order: str = None, org_id: str = None, **params) list[AvailableRecallHuntGroup][source]

Get available recall hunt groups from Call Parks

Retrieve available recall hunt groups from call parks for a given location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving available recall hunt groups from call parks requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available recall hunt groups for this location.

  • name (str) – Only return available recall hunt groups with the matching name.

  • order – Order the available recall hunt groups according to the designated fields. Available sort fields: lname.

  • order – str

  • org_id (str) – Return the available recall hunt groups for this organization.

Returns:

yields AvailableRecallHuntGroup objects

async call_park_settings(location_id: str, org_id: str = None) LocationCallParkSettings[source]

Get Call Park Settings

Retrieve Call Park Settings from call parks for a given location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Retrieving settings from call parks requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the call park settings for this location.

  • org_id (str) – Return the call park settings for this organization.

Returns:

async update_call_park_settings(location_id: str, settings: LocationCallParkSettings, org_id: str = None)[source]

Update Call Park settings

Update Call Park settings for the designated location.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

Updating call park settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location for which call park settings will be updated.

  • settings (LocationCallParkSettings) – update settings

  • org_id (str) – Update call park settings from this organization.

base = 'telephony/config/callParks'
class wxc_sdk.as_api.AsCallPickupApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Pickup API

list_gen(location_id: str, order: Literal['ASC', 'DSC'] = None, name: str = None, org_id: str = None, **params) AsyncGenerator[CallPickup, None][source]

Read the List of Call Pickups

List all Call Pickups for the organization.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Retrieving this list requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Return the list of call pickups for this location.

  • order (str) – Sort the list of call pickups by name, either ASC or DSC. Default is ASC.

  • name (str) – Return the list of call pickups that contains the given name. The maximum length is 80.

  • org_id (str) – List call pickups for this organization.

Returns:

yields CallPickup objects

async list(location_id: str, order: Literal['ASC', 'DSC'] = None, name: str = None, org_id: str = None, **params) list[CallPickup][source]

Read the List of Call Pickups

List all Call Pickups for the organization.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Retrieving this list requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Return the list of call pickups for this location.

  • order (str) – Sort the list of call pickups by name, either ASC or DSC. Default is ASC.

  • name (str) – Return the list of call pickups that contains the given name. The maximum length is 80.

  • org_id (str) – List call pickups for this organization.

Returns:

yields CallPickup objects

async create(location_id: str, settings: CallPickup, org_id: str = None) str[source]

Create a Call Pickup

Create new Call Pickups for the given location.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Creating a call pickup requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Create the call pickup for this location.

  • settings (CallPickup) – settings for new call pickup

  • org_id – Create the call pickup for this organization.

Returns:

ID of the newly created call pickup.

Return type:

str

async delete_pickup(location_id: str, pickup_id: str, org_id: str = None)[source]

Delete a Call Pickup

Delete the designated Call Pickup.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Deleting a call pickup requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Location from which to delete a call pickup.

  • pickup_id (str) – Delete the call pickup with the matching ID.

  • org_id (str) – Delete the call pickup from this organization.

async details(location_id: str, pickup_id: str, org_id: str = None) CallPickup[source]

Get Details for a Call Pickup

Retrieve Call Pickup details.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Retrieving call pickup details requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Retrieve settings for a call pickup in this location.

  • pickup_id (str) – Retrieve settings for a call pickup with the matching ID.

  • org_id (str) – Retrieve call pickup settings from this organization.

Returns:

call pickup info

Return type:

CallPickup

async update(location_id: str, pickup_id: str, settings: CallPickup, org_id: str = None) str[source]

Update a Call Pickup

Update the designated Call Pickup.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Updating a call pickup requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Pickup ID will change upon modification of the Call Pickup name.

Parameters:
  • location_id (str) – Location in which this call pickup exists.

  • pickup_id (str) – Update settings for a call pickup with the matching ID.

  • settings (CallPickup) – updates

  • org_id (str) – Update call pickup settings from this organization.

available_agents_gen(location_id: str, call_pickup_name: str = None, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[PersonPlaceAgent, None][source]

Get available agents from Call Pickups

Retrieve available agents from call pickups for a given location.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Retrieving available agents from call pickups requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available agents for this location.

  • call_pickup_name (str) – Only return available agents from call pickups with the matching name.

  • name (str) – Only return available agents with the matching name.

  • phone_number (str) – Only return available agents with the matching primary number.

  • order (str) – Order the available agents according to the designated fields. Up to three vertical bar (|) separated sort order fields may be specified. Available sort fields: fname, lname, number and extension. The maximum supported sort order value is 3.

  • org_id (str) – Return the available agents for this organization.

Returns:

yields PersonPlaceCallPark objects

async available_agents(location_id: str, call_pickup_name: str = None, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) list[PersonPlaceAgent][source]

Get available agents from Call Pickups

Retrieve available agents from call pickups for a given location.

Call Pickup enables a user(agent) to answer any ringing line within their pickup group.

Retrieving available agents from call pickups requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the available agents for this location.

  • call_pickup_name (str) – Only return available agents from call pickups with the matching name.

  • name (str) – Only return available agents with the matching name.

  • phone_number (str) – Only return available agents with the matching primary number.

  • order (str) – Order the available agents according to the designated fields. Up to three vertical bar (|) separated sort order fields may be specified. Available sort fields: fname, lname, number and extension. The maximum supported sort order value is 3.

  • org_id (str) – Return the available agents for this organization.

Returns:

yields PersonPlaceCallPark objects

base = 'telephony/config/callPickups'
class wxc_sdk.as_api.AsCallPolicyApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for call policy settings.

For now only used for workspaces

base = ''
feature: str | None = 'callPolicies'
async read(entity_id: str, org_id: str = None) PrivacyOnRedirectedCalls[source]

Read Call Policy Settings for an entity

Retrieve Call Policies settings.

The call policy feature enables administrator to configure call policy settings such as Connected Line Identification Privacy on Redirected Calls for a professional workspace.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:workspaces_read scope can be used to read workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

PrivacyOnRedirectedCalls

async configure(entity_id: str, connected_line_id_privacy_on_redirected_calls: PrivacyOnRedirectedCalls, org_id: str = None)[source]

Configure Call Policy Settings for an entity

Configure Call Policies settings.

The call policy feature enables administrator to configure call policy settings such as Connected Line Identification Privacy on Redirected Calls for a professional workspace.

This API requires a full or user administrator or location administrator auth token with the spark-admin:workspaces_write scope can be used to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • connected_line_id_privacy_on_redirected_calls (PrivacyOnRedirectedCalls) – Specifies the connection type to be used.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

class wxc_sdk.as_api.AsCallQueueAgentsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Queue Agents API

list_gen(location_id: str = None, queue_id: str = None, name: str = None, phone_number: str = None, join_enabled: bool = None, has_cx_essentials: bool = None, order: str = None, org_id: str = None, **params) AsyncGenerator[CallQueueAgent, None][source]

Read the List of Call Queue Agents with Customer Assist

List all Call Queues Agents for the organization.

Agents can be users, workplace or virtual lines assigned to a call queue. Calls from the call queue are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Note: The decoded value of the agent’s id, and the type returned in the response, are always returned as PEOPLE, even when the agent is a workspace or virtual line. This will be addressed in a future release.

Parameters:
  • location_id (str) – Return only the call queue agents in this location.

  • queue_id (str) – Only return call queue agents with the matching queue ID.

  • name (str) – Returns only the list of call queue agents that match the given name.

  • phone_number (str) – Returns only the list of call queue agents that match the given phone number or extension.

  • join_enabled (bool) – Returns only the list of call queue agents that match the given joinEnabled value.

  • has_cx_essentials (bool) – Returns only the list of call queues with Customer Assist license when true, otherwise returns the list of Customer Experience Basic call queues.

  • order (str) – Sort results alphabetically by call queue agent’s name, in ascending or descending order.

  • org_id (str) – List call queues agents in this organization.

Returns:

Generator yielding ListCallQueueAgentObject instances

async list(location_id: str = None, queue_id: str = None, name: str = None, phone_number: str = None, join_enabled: bool = None, has_cx_essentials: bool = None, order: str = None, org_id: str = None, **params) list[CallQueueAgent][source]

Read the List of Call Queue Agents with Customer Assist

List all Call Queues Agents for the organization.

Agents can be users, workplace or virtual lines assigned to a call queue. Calls from the call queue are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Note: The decoded value of the agent’s id, and the type returned in the response, are always returned as PEOPLE, even when the agent is a workspace or virtual line. This will be addressed in a future release.

Parameters:
  • location_id (str) – Return only the call queue agents in this location.

  • queue_id (str) – Only return call queue agents with the matching queue ID.

  • name (str) – Returns only the list of call queue agents that match the given name.

  • phone_number (str) – Returns only the list of call queue agents that match the given phone number or extension.

  • join_enabled (bool) – Returns only the list of call queue agents that match the given joinEnabled value.

  • has_cx_essentials (bool) – Returns only the list of call queues with Customer Assist license when true, otherwise returns the list of Customer Experience Basic call queues.

  • order (str) – Sort results alphabetically by call queue agent’s name, in ascending or descending order.

  • org_id (str) – List call queues agents in this organization.

Returns:

Generator yielding ListCallQueueAgentObject instances

async details(id: str, has_cx_essentials: bool = None, max_: int = 50, start: int = 0, org_id: str = None) CallQueueAgentDetail[source]

Get Details for a Call Queue Agent with Customer Assist

Retrieve details of a particular Call queue agent based on the agent ID.

Agents can be users, workplace or virtual lines assigned to a call queue. Calls from the call queue are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

Retrieving a call queue agent’s details require a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Note: The agent’s type returned in the response and in the decoded value of the agent’s id, is always of type PEOPLE, even if the agent is a workspace or virtual line. This` will be corrected in a future release.

Parameters:
  • id (str) – Retrieve call queue agents with this identifier.

  • max (int) – Limit the number of objects returned to this maximum count.

  • start (int) – Start at the zero-based offset in the list of matching objects.

  • has_cx_essentials (bool) – Must be set to true to view the details of an agent with Customer Assist license. This can otherwise be ommited or set to false.

  • org_id (str) – Retrieve call queue agents from this organization.

Return type:

CallQueueAgentDetail

async update_call_queue_settings(id: str, settings: list[AgentCallQueueSetting], has_cx_essentials: bool = None, org_id: str = None) None[source]

Update an Agent’s Settings of One or More Call Queues with Customer Assist

Modify an agent’s call queue settings for an organization.

Calls from the call queue are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

This operation requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • id (str) – Identifier of the agent to be updated.

  • settings (list[ModifyAgentsForCallQueueObjectSettingsItem])

  • has_cx_essentials (bool) – Must be set to true to modify an agent that has Customer Assist license. This can otherwise be ommited or set to false.

  • org_id (str) – Update the settings of an agent in this organization.

Return type:

None

base = 'telephony/config/queues/agents'
class wxc_sdk.as_api.AsCallQueueApi(session: AsRestSession)[source]

Bases: AsApiChild

Features: Call Queue

Features: Call Queue supports reading and writing of Webex Calling Call Queue settings for a specific organization.

Supervisors are users who manage agents and who perform functions including monitoring, coaching, and more.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

__init__(session: AsRestSession)[source]
agents: AsCallQueueAgentsApi
forwarding: AsForwardingApi
announcement: AsAnnouncementApi
policy: AsCQPolicyApi
list_gen(location_id: str = None, name: str = None, phone_number: str = None, department_id: str = None, department_name: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) AsyncGenerator[CallQueue, None][source]

Read the List of Call Queues with Customer Assist

List all Call Queues for the organization.

Call queues temporarily hold calls in the cloud, when all agents assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent, when not on an active call. Each call queue is assigned a lead number, which is a telephone number that external callers can dial to reach the users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach the users assigned to the call queue.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Returns the list of call queues in this location.

  • name (str) – Returns only the call queues matching the given name.

  • phone_number (str) – Returns only the call queues matching the given primary phone number or extension.

  • department_id (str) – Returns only call queues matching the given department ID.

  • department_name (str) – Returns only call queues matching the given department name.

  • has_cx_essentials (bool) – Returns only the list of call queues with Customer Assist license when true, otherwise returns the list of Customer Experience Basic call queues.

  • org_id (str) – Returns the list of call queues in this organization.

Returns:

yields CallQueue objects

async list(location_id: str = None, name: str = None, phone_number: str = None, department_id: str = None, department_name: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) list[CallQueue][source]

Read the List of Call Queues with Customer Assist

List all Call Queues for the organization.

Call queues temporarily hold calls in the cloud, when all agents assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent, when not on an active call. Each call queue is assigned a lead number, which is a telephone number that external callers can dial to reach the users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach the users assigned to the call queue.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Returns the list of call queues in this location.

  • name (str) – Returns only the call queues matching the given name.

  • phone_number (str) – Returns only the call queues matching the given primary phone number or extension.

  • department_id (str) – Returns only call queues matching the given department ID.

  • department_name (str) – Returns only call queues matching the given department name.

  • has_cx_essentials (bool) – Returns only the list of call queues with Customer Assist license when true, otherwise returns the list of Customer Experience Basic call queues.

  • org_id (str) – Returns the list of call queues in this organization.

Returns:

yields CallQueue objects

async by_name(name: str, location_id: str = None, has_cx_essentials: bool = None, org_id: str = None) CallQueue | None[source]

Get queue info by name

Parameters:
  • location_id

  • has_cx_essentials

  • name

  • org_id

Returns:

async create(location_id: str, settings: CallQueue, has_cx_essentials: bool = None, org_id: str = None) str[source]

Create a Call Queue

Create new Call Queues for the given location.

Call queues temporarily hold calls in the cloud, when all agents assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent, when not on an active call. Each call queue is assigned a lead number, which is a telephone number that external callers can dial to reach the users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach the users assigned to the call queue.

Creating a call queue requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the call queue for this location.

  • settings (CallQueue) – parameters for queue creation.

  • has_cx_essentials (bool) – Creates a Customer Assist call queue, when true. This requires Customer Assist licensed agents. If this parameter is not set, the has_cx_essentials attribute of the settings object is considered.

  • org_id (str) – Create the call queue for this organization.

Returns:

queue id

Return type:

str

Example

settings = CallQueue(name=new_name,
                     extension=extension,
                     call_policies=CallQueueCallPolicies.default(),
                     queue_settings=QueueSettings.default(queue_size=10),
                     agents=[Agent(agent_id=user.person_id) for user in members])

# create new queue
queue_id = api.telephony.callqueue.create(location_id=target_location.location_id,
                                          settings=settings)
async delete_queue(location_id: str, queue_id: str, org_id: str = None)[source]

Delete a Call Queue

Delete the designated Call Queue.

Call queues temporarily hold calls in the cloud when all agents, which can be users or agents, assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent when not on an active call. Each call queue is assigned a Lead Number, which is a telephone number outside callers can dial to reach users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach users assigned to the call queue.

Deleting a call queue requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete a call queue.

  • queue_id (str) – Delete the call queue with the matching ID.

  • org_id (str) – Delete the call queue from this organization.

Return type:

None

async details(location_id: str, queue_id: str, has_cx_essentials: bool = None, org_id: str = None) CallQueue[source]

Get Details for a Call Queue with Customer Assist

Retrieve Call Queue details.

Call queues temporarily hold calls in the cloud, when all agents assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent, when not on an active call. Each call queue is assigned a lead number, which is a telephone number that external callers can dial to reach the users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach the users assigned to the call queue.

Retrieving call queue details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieves the details of a call queue in this location.

  • queue_id (str) – Retrieves the details of call queue with this identifier.

  • has_cx_essentials (bool) – Must be set to true, to view the details of a call queue with Customer Assist license. This can otherwise be omitted or set to false.

  • org_id (str) – Retrieves the details of a call queue in this organization.

Returns:

call queue details

Return type:

CallQueue

async update(location_id: str, queue_id: str, update: CallQueue, org_id: str = None)[source]

Update a Call Queue

Update the designated Call Queue.

Call queues temporarily hold calls in the cloud when all agents, which can be users or agents, assigned to receive calls from the queue are unavailable. Queued calls are routed to an available agent when not on an active call. Each call queue is assigned a Lead Number, which is a telephone number outside callers can dial to reach users assigned to the call queue. Call queues are also assigned an internal extension, which can be dialed internally to reach users assigned to the call queue.

Updating a call queue requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this call queue exists.

  • queue_id (str) – Update setting for the call queue with the matching ID.

  • update (CallQueue) – updates

  • org_id – Update call queue settings from this organization.

Examples:

api = WebexSimpleApi()

# shortcut
cq = api.telephony.callqueue

# disable a call queue
update = CallQueue(enabled=False)
cq.update(location_id=...,
          queue_id=...,
          update=update)

# set the call routing policy to SIMULTANEOUS
update = CallQueue(call_policies=CallPolicies(policy=Policy.simultaneous))
cq.update(location_id=...,
          queue_id=...,
          update=update)
# don't bounce calls after the set number of rings.
update = CallQueue(
    call_policies=CallPolicies(
        call_bounce=CallBounce(
            enabled=False)))
cq.update(location_id=...,
          queue_id=...,
          update=update)

Alternatively you can also read call queue details, update them in place and then call update().

details = cq.details(location_id=...,
                     queue_id=...)
details.call_policies.call_bounce.agent_unavailable_enabled=False
details.call_policies.call_bounce.on_hold_enabled=False
cq.update(location_id=...,
          queue_id=...,
          update=details)
async get_call_queue_settings(org_id: str = None) CallQueueSettings[source]

Get Call Queue Settings

Retrieve Call Queue Settings for a specific organization.

Call Queue Settings configure organization-wide defaults for call queues, including supervisor tone notifications for barge in, silent monitoring, and coaching; optimized simultaneous-ring handling that preserves caller queue position; and bounced-call handling for Customer Assist agents. Individual call queues can use the organization-level tone defaults or override them with queue-specific playToneToAgent* settings.

Retrieving Call Queue Settings requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Call Queue Settings for this organization.

Return type:

CallQueueSettings

async update_call_queue_settings(settings: CallQueueSettings, org_id: str = None)[source]

Update Call Queue Settings

Update Call Queue Settings for a specific organization.

Call Queue Settings configure organization-wide defaults for call queues, including supervisor tone notifications for barge in, silent monitoring, and coaching; optimized simultaneous-ring handling that preserves caller queue position; and bounced-call handling for Customer Assist agents. Individual call queues can use the organization-level tone defaults or override them with queue-specific playToneToAgent* settings.

Updating Call Queue Settings requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings – Call Queue Settings for this organization.

  • org_id (str) – update Call Queue Settings for this organization.

Return type:

None

primary_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Call Queue Primary Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s primary phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding CallQueuePrimaryAvailableNumberObject instances

async primary_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Call Queue Primary Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s primary phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding CallQueuePrimaryAvailableNumberObject instances

alternate_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Call Queue Alternate Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s alternate phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async alternate_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Call Queue Alternate Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s alternate phone number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

call_forward_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Call Queue Call Forward Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s call forward number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async call_forward_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Call Queue Call Forward Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the call queue’s call forward number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

available_agents_gen(location_id: str, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[AvailableAgent, None][source]

Get Call Queue Available Agents

List all available users, workspaces, or virtual lines that can be assigned as call queue agents.

Available agents are users (excluding users with Webex Calling Standard license), workspaces, or virtual lines that can be assigned to a call queue. Calls from the call queue are routed to assigned agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – The location ID of the call queue. Temporary mandatory query parameter, used for performance reasons only and not a filter.

  • name (str) – Search based on name (user first and last name combination).

  • phone_number (str) – Search based on number or extension.

  • order (str) – Order the available agents according to the designated fields. Up to three comma-separated sort order fields may be specified. Available sort fields are: userId, fname, firstname, lname, lastname, dn, and extension. Sort order can be added together with each field using a hyphen, -. Available sort orders are: asc, and desc.

  • org_id (str) – List available agents for this organization.

Returns:

Generator yielding AvailableAgentObject instances

async available_agents(location_id: str, name: str = None, phone_number: str = None, order: str = None, org_id: str = None, **params) list[AvailableAgent][source]

Get Call Queue Available Agents

List all available users, workspaces, or virtual lines that can be assigned as call queue agents.

Available agents are users (excluding users with Webex Calling Standard license), workspaces, or virtual lines that can be assigned to a call queue. Calls from the call queue are routed to assigned agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – The location ID of the call queue. Temporary mandatory query parameter, used for performance reasons only and not a filter.

  • name (str) – Search based on name (user first and last name combination).

  • phone_number (str) – Search based on number or extension.

  • order (str) – Order the available agents according to the designated fields. Up to three comma-separated sort order fields may be specified. Available sort fields are: userId, fname, firstname, lname, lastname, dn, and extension. Sort order can be added together with each field using a hyphen, -. Available sort orders are: asc, and desc.

  • org_id (str) – List available agents for this organization.

Returns:

Generator yielding AvailableAgentObject instances

base = ''
class wxc_sdk.as_api.AsCallRecordingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for recording settings

Also used for virtual lines, workspaces

feature: str | None = 'callRecording'
async read(entity_id: str, org_id: str = None) CallRecordingSetting[source]

Read Call Recording Settings

Retrieve Call Recording Settings

The Call Recording feature provides a hosted mechanism to record the calls placed and received on the Carrier platform for replay and archival. This feature is helpful for quality assurance, security, training, and more.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async configure(entity_id: str, recording: CallRecordingSetting, org_id: str = None)[source]

Configure Call Recording Settings for a entity

Configure Call Recording Settings

The Call Recording feature provides a hosted mechanism to record the calls placed and received on the Carrier platform for replay and archival. This feature is helpful for quality assurance, security, training, and more.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • recording (CallRecordingSetting) – the new recording settings

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsCallRecordingJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(org_id: str = None, **params) AsyncGenerator[CallRecordingJobStatus, None][source]

List Call Recording Jobs

Get the list of all call recording jobs in an organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List call recording jobs in this organization.

Returns:

Generator yielding CallRecordingJobStatus instances

async list(org_id: str = None, **params) list[CallRecordingJobStatus][source]

List Call Recording Jobs

Get the list of all call recording jobs in an organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List call recording jobs in this organization.

Returns:

Generator yielding CallRecordingJobStatus instances

async status(job_id: str, org_id: str = None) CallRecordingJobStatus[source]

Get the Job Status of a Call Recording Job

Get the details of a call recording job by its job ID.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Retrieve job status in this organization.

Return type:

CallRecordingJobStatus

errors_gen(job_id: str, org_id: str = None, **params) AsyncGenerator[JobErrorItem, None][source]

Get Job Errors for a Call Recording Job

Get errors for a call recording job in an organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this job.

  • org_id (str) – Retrieve job errors for a call recording job in this organization.

Returns:

Generator yielding ItemObject instances

async errors(job_id: str, org_id: str = None, **params) list[JobErrorItem][source]

Get Job Errors for a Call Recording Job

Get errors for a call recording job in an organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this job.

  • org_id (str) – Retrieve job errors for a call recording job in this organization.

Returns:

Generator yielding ItemObject instances

base = 'telephony/config/jobs/callRecording'
class wxc_sdk.as_api.AsCallRecordingSettingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Call Recording

Not supported for Webex for Government (FedRAMP)

Features: Call Recording supports reading and writing of Webex Calling Call Recording settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async read(org_id: str = None) CallRecordingInfo[source]

Get Call Recording Settings

Retrieve call recording settings for the organization.

The Call Recording feature enables authorized agents to record any active call that Webex Contact Center manages.

Retrieving call recording settings requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve call recording settings from this organization.

Return type:

CallRecordingInfo

async update(enabled: bool, org_id: str = None)[source]

Update Call Recording Settings

Update call recording settings for the organization.

The Call Recording feature enables authorized agents to record any active call that Webex Contact Center manages.

Updating call recording settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: This API is for Cisco partners only.

Parameters:
  • enabled (bool) – Whether or not the call recording is enabled.

  • org_id (str) – Retrieve call recording settings from this organization.

Return type:

None

async read_terms_of_service(vendor_id: str, org_id: str = None) CallRecordingTermsOfService[source]

Get Call Recording Terms Of Service Settings

Retrieve call recording terms of service settings for the organization.

The Call Recording feature enables authorized agents to record any active call that Webex Contact Center manages.

Retrieving call recording terms of service settings requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • vendor_id (str) – Retrieve call recording terms of service details for the given vendor.

  • org_id (str) – Retrieve call recording terms of service details from this organization.

Return type:

CallRecordingTermsOfService

async update_terms_of_service(vendor_id: str, enabled: bool, org_id: str = None)[source]

Update Call Recording Terms Of Service Settings

Update call recording terms of service settings for the given vendor.

The Call Recording feature enables authorized agents to record any active call that Webex Contact Center manages.

Updating call recording terms of service settings requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • vendor_id (str) – Update call recording terms of service settings for the given vendor.

  • enabled (bool) – Whether or not the call recording terms of service are enabled.

  • org_id (str) – Update call recording terms of service settings from this organization.

Return type:

None

async read_org_compliance_announcement(org_id: str = None) OrgComplianceAnnouncement[source]

Get details for the organization Compliance Announcement Setting

Retrieve the organization compliance announcement settings.

The Compliance Announcement feature interacts with the Call Recording feature, specifically with the playback of the start/stop announcement. When the compliance announcement is played to the PSTN party, and the PSTN party is connected to a party with call recording enabled, then the start/stop announcement is inhibited.

Retrieving organization compliance announcement setting requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve compliance announcement setting from this organization.

Return type:

OrgComplianceAnnouncement

async update_org_compliance_announcement(settings: OrgComplianceAnnouncement, org_id: str = None)[source]

Update the organization compliance announcement

The Compliance Announcement feature interacts with the Call Recording feature, specifically with the playback of the start/stop announcement. When the compliance announcement is played to the PSTN party, and the PSTN party is connected to a party with call recording enabled, then the start/stop announcement is inhibited.

Updating the organization compliance announcement requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings (OrgComplianceAnnouncement) – new settings

  • org_id (str) – Update the compliance announcement setting from this organization.

Return type:

None

async read_location_compliance_announcement(location_id: str, org_id: str = None) LocationComplianceAnnouncement[source]

Get details for the Location Compliance Announcement Setting

Retrieve the location compliance announcement settings.

The Compliance Announcement feature interacts with the Call Recording feature, specifically with the playback of the start/stop announcement. When the compliance announcement is played to the PSTN party, and the PSTN party is connected to a party with call recording enabled, then the start/stop announcement is inhibited.

Retrieving location compliance announcement setting requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve compliance announcement settings for this location.

  • org_id (str) – Retrieve compliance announcement setting from this organization.

Return type:

LocationComplianceAnnouncement

async update_location_compliance_announcement(location_id: str, settings: LocationComplianceAnnouncement, org_id: str = None)[source]

Update the location compliance announcement

The Compliance Announcement feature interacts with the Call Recording feature, specifically with the playback of the start/stop announcement. When the compliance announcement is played to the PSTN party, and the PSTN party is connected to a party with call recording enabled, then the start/stop announcement is inhibited.

Updating the location compliance announcement requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update the compliance announcement settings for this location.

  • settings (LocationComplianceAnnouncement) – new settings

  • org_id (str) – Update the compliance announcement setting from this organization.

Return type:

None

async get_call_recording_regions(org_id: str = None) list[CallRecordingRegion][source]

Get Call Recording Regions

Retrieve all the call recording regions that are available for an organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve call recording regions for this organization.

Return type:

list[Regions]

list_org_users_gen(standard_user_only: bool = None, org_id: str = None, **params) AsyncGenerator[RecordingUser, None][source]

Get Call Recording Vendor Users

Retrieve call recording vendor users of an organization. This API is used to get the list of users who are assigned to the default call-recording vendor of the organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • standard_user_only (bool) – If true, results only include Webex Calling standard users.

  • org_id (str) – Retrieve call recording vendor users for this organization.

async list_org_users(standard_user_only: bool = None, org_id: str = None, **params) list[RecordingUser][source]

Get Call Recording Vendor Users

Retrieve call recording vendor users of an organization. This API is used to get the list of users who are assigned to the default call-recording vendor of the organization.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • standard_user_only (bool) – If true, results only include Webex Calling standard users.

  • org_id (str) – Retrieve call recording vendor users for this organization.

async set_location_vendor(location_id: str, id: str = None, org_default_enabled: bool = None, storage_region: str = None, org_storage_region_enabled: bool = None, failure_behavior: FailureBehavior = None, org_failure_behavior_enabled: bool = None, org_id: str = None) str[source]

Set Call Recording Vendor for a Location

Assign a call recording vendor to a location of an organization. Response will be 204 if the changes can be applied immediatley otherwise 200 with a job ID is returned.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update the call recording vendor for this location

  • id (str) – Unique identifier of the call recording vendor.

  • org_default_enabled (bool) – Vendor is enabled by default.

  • storage_region (str) – Regions where call recordings are stored.

  • org_storage_region_enabled (bool) – Region-based call recording storage is enabled.

  • failure_behavior (FailureBehavior) – Type of failure behavior.

  • org_failure_behavior_enabled (bool) – Failure behavior is enabled.

  • org_id (str) – Update the call recording vendor for this organization.

Return type:

str

async get_location_vendors(location_id: str, org_id: str = None) CallRecordingLocationVendors[source]

Get Location Call Recording Vendors

Retrieve details of the call recording vendor that the location is assigned and also a list of vendors.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve vendor details for this location.

  • org_id (str) – Retrieve vendor details for this organization.

Return type:

CallRecordingLocationVendors

list_location_users_gen(location_id: str, standard_user_only: bool = None, org_id: str = None, **params) AsyncGenerator[RecordingUser, None][source]

Get Call Recording Vendor Users for a Location

Retrieve call recording vendor users of a location. This API is used to get the list of users assigned to the call recording vendor of the location.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve vendor users for this location.

  • standard_user_only (bool) – If true, results only include Webex Calling standard users.

  • org_id (str) – Retrieve vendor users for this organization.

async list_location_users(location_id: str, standard_user_only: bool = None, org_id: str = None, **params) list[RecordingUser][source]

Get Call Recording Vendor Users for a Location

Retrieve call recording vendor users of a location. This API is used to get the list of users assigned to the call recording vendor of the location.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve vendor users for this location.

  • standard_user_only (bool) – If true, results only include Webex Calling standard users.

  • org_id (str) – Retrieve vendor users for this organization.

async get_org_vendors(org_id: str = None) CallRecordingVendors[source]

Get Organization Call Recording Vendors

Returns what the current vendor is as well as a list of all the available vendors.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve call recording settings from this organization.

Return type:

CallRecordingVendors

async set_org_vendor(vendor_id: str, storage_region: str = None, failure_behavior: FailureBehavior = None, org_id: str = None) str[source]

Set Organization Call Recording Vendor

Returns a Job ID that you can use to get the status of the job.

The Call Recording feature supports multiple third-party call recording providers, or vendors, to capture and manage call recordings. An organization is configured with an overall provider, but locations can be configured to use a different vendor than the overall organization default.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write, spark-admin:telephony_config_read, and spark-admin:people_write.

Parameters:
  • vendor_id (str) – Unique identifier of the vendor.

  • storage_region (str) – Call recording storage region. Only applicable for Webex as a vendor and isn’t used for other vendors.

  • failure_behavior (FailureBehavior) – Call recording failure behavior.

  • org_id (str) – Modify call recording settings from this organization.

Return type:

str

base = 'telephony/config'
class wxc_sdk.as_api.AsCallRoutingApi(session: AsRestSession)[source]

Bases: AsApiChild

Call Routing Api

__init__(session: AsRestSession)[source]
tp: AsTranslationPatternsApi

translation patterns

base = 'telephony/config'
class wxc_sdk.as_api.AsCallWaitingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s call waiting settings

Also used for virtual lines, workspaces

feature: str | None = 'callWaiting'
async read(entity_id: str, org_id: str = None) bool[source]

Read Call Waiting Settings for

Retrieve Call Waiting Settings

With this feature, an entity can place an active call on hold and answer an incoming call. When enabled, while you are on an active call, a tone alerts you of an incoming call and you can choose to answer or ignore the call.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

call waiting setting

Return type:

bool

async configure(entity_id: str, enabled: bool, org_id: str = None)[source]

Configure Call Waiting Settings

Configure an entity’s Call Waiting Settings

With this feature, a entity can place an active call on hold and answer an incoming call. When enabled, while you are on an active call, a tone alerts you of an incoming call and you can choose to answer or ignore the call.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • enabled (bool) – true if the Call Waiting feature is enabled.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsCallerIdApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for caller id settings

Also used for: virtual lines, workspaces

feature: str | None = 'callerId'
async read(entity_id: str, org_id: str = None) CallerId[source]

Retrieve Caller ID Settings

Caller ID settings control how a entity’s information is displayed when making outgoing calls.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read or a user auth token with spark:people_read scope can be used by a entity to read their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async configure(entity_id: str, org_id: str = None, selected: CallerIdSelectedType = None, custom_number: str = None, first_name: str = None, last_name: str = None, external_caller_id_name_policy: ExternalCallerIdNamePolicy = None, custom_external_caller_id_name: str = None)[source]

Configure a Caller ID Settings

Caller ID settings control how a entity’s information is displayed when making outgoing calls.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a entity to update their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

  • selected (CallerIdSelectedType) – Which type of outgoing Caller ID will be used.

  • custom_number (str) – This value must be an assigned number from the entity’s location.

  • first_name (str) – entity’s Caller ID first name. Characters of %, +, `, “ and Unicode characters are not allowed.

  • last_name (str) – entity’s Caller ID last name. Characters of %, +, `, “ and Unicode characters are not allowed.

  • external_caller_id_name_policy (ExternalCallerIdNamePolicy) – Designates which type of External Caller ID Name policy is used. Default is DIRECT_LINE.

  • custom_external_caller_id_name (str) – Custom External Caller Name, which will be shown if External Caller ID Name is OTHER.

async configure_settings(entity_id: str, settings: CallerId, org_id: str = None)[source]

Configure a Caller ID Settings

Caller ID settings control how a entity’s information is displayed when making outgoing calls.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a entity to update their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (CallerId) – new settings

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Example

api = self.api.telephony.virtual_lines.caller_id
caller_id_settings = api.read(entity_id=self.target.id)
caller_id_settings.block_in_forward_calls_enabled = True
api.configure_settings(entity_id=self.target.id, settings=caller_id_settings)
base = ''
class wxc_sdk.as_api.AsCallerReputationProviderApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Webex Calling Integration with calling reputation provider

Webex Calling integrates with telephony Calling Reputation Providers to enhance call security and reduce unwanted or fraudulent calls.

Webex Calling offers a comprehensive, secure, and reliable cloud PBX solution with several features that support call quality and security.

async get(organization_id: str = None) ReputationProviderSettings[source]

Get Caller Reputation Provider Service Settings

Retrieves the configuration and status of the caller reputation provider service for Webex Calling.

Parameters:

organization_id (str) – Unique identifier for the organization.

Return type:

ReputationProviderSettings

async update(settings: ReputationProviderSettings, organization_id: str = None)[source]

Update Caller Reputation Provider Service Settings

Updates the configuration of the caller reputation provider service for Webex Calling.

Parameters:
  • settings (ReputationProviderSettings) – New settings for caller reputation provider service

  • organization_id (str) – Unique identifier for the organization.

Return type:

None

async unlock(rep_id: str, organization_id: str = None)[source]

Unlock Caller Reputation Provider

Unlocks the caller reputation provider for Webex Calling.

Parameters:
  • rep_id (str) – Unique identifier for the reputation provider.

  • organization_id (str) – Unique identifier for the organization.

Return type:

None

async providers(organization_id: str = None) list[CallerReputationProviderProvider][source]

Get Caller Reputation Provider Providers

Retrieves the list of available caller reputation providers and their regions for Webex Calling.

Parameters:

organization_id (str) – Unique identifier for the organization.

Return type:

list[CallerReputationProviderProvider]

async status(organization_id: str = None) ReputationProviderStatus[source]

Get Caller Reputation Provider Status

Retrieves the current status of the caller reputation provider integration for Webex Calling.

Parameters:

organization_id (str) – Unique identifier for the organization.

Return type:

ReputationProviderStatus

base = 'telephony/config/serviceSettings/callerReputationProvider'
class wxc_sdk.as_api.AsCallingBehaviorApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s calling behavior settings

feature: str | None = 'callingBehavior'
async read(person_id: str, org_id: str = None) CallingBehavior[source]

Read Person’s Calling Behavior

Retrieves the calling behavior and UC Manager Profile settings for the person which includes overall calling behavior and calling UC Manager Profile ID.

Webex Calling Behavior controls which Webex telephony application is to be used.

An organization has an organization-wide default Calling Behavior that may be overridden for individual persons.

In addition, UC Manager Profiles are applicable if your organization uses Jabber in Team Messaging mode or Calling in Webex Teams (Unified CM).

The UC Manager Profile also has an organization-wide default and may be overridden for individual persons.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

calling behavior setting

Return type:

CallingBehavior

async configure(person_id: str, settings: CallingBehavior, org_id: str = None)[source]

Configure a Person’s Calling Behavior

Modifies the calling behavior settings for the person which includes overall calling behavior and UC Manager Profile ID.

Webex Calling Behavior controls which Webex telephony application is to be used.

An organization has an organization-wide default Calling Behavior that may be overridden for individual persons.

In addition, UC Manager Profiles are applicable if your organization uses Jabber in Team Messaging mode or Calling in Webex Teams (Unified CM).

The UC Manager Profile also has an organization-wide default and may be overridden for individual persons.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (CallingBehavior) – new settings

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsCallparkExtensionApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Park Extension API

list_gen(extension: str = None, name: str = None, location_id: str = None, location_name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[CallParkExtension, None][source]

Read the List of Call Park Extensions

List all Call Park Extensions for the organization.

The Call Park service, enabled for all users by default, allows a user to park a call against an available user’s extension or to a Call Park Extension. Call Park Extensions are extensions defined within the Call Park service for holding parked calls.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • extension (str) – Only return call park extensions with the matching extension.

  • name (str) – Only return call park extensions with the matching name.

  • location_id (str) – Only return call park extensions with matching location ID.

  • location_name (str) – Only return call park extensions with matching location name.

  • order (str) – Order the available agents according to the designated fields. Available sort fields: groupName, callParkExtension, callParkExtensionName, callParkExtensionExternalId.

  • org_id (str) – List call park extensions for this organization.

  • params – additional parameters

Returns:

yields wxc_sdk.common.CallParkExtension instances

async list(extension: str = None, name: str = None, location_id: str = None, location_name: str = None, order: str = None, org_id: str = None, **params) list[CallParkExtension][source]

Read the List of Call Park Extensions

List all Call Park Extensions for the organization.

The Call Park service, enabled for all users by default, allows a user to park a call against an available user’s extension or to a Call Park Extension. Call Park Extensions are extensions defined within the Call Park service for holding parked calls.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • extension (str) – Only return call park extensions with the matching extension.

  • name (str) – Only return call park extensions with the matching name.

  • location_id (str) – Only return call park extensions with matching location ID.

  • location_name (str) – Only return call park extensions with matching location name.

  • order (str) – Order the available agents according to the designated fields. Available sort fields: groupName, callParkExtension, callParkExtensionName, callParkExtensionExternalId.

  • org_id (str) – List call park extensions for this organization.

  • params – additional parameters

Returns:

yields wxc_sdk.common.CallParkExtension instances

async details(location_id: str, cpe_id: str, org_id: str = None) CallParkExtension[source]

Get Details for a Call Park Extension

Retrieve Call Park Extension details.

The Call Park service, enabled for all users by default, allows a user to park a call against an available user’s extension or to a Call Park Extension. Call Park Extensions are extensions defined within the Call Park service for holding parked calls.

Retrieving call park extension details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve details for a call park extension in this location.

  • cpe_id (str) – Retrieve details for a call park extension with the matching ID.

  • org_id (str) – Retrieve call park extension details from this organization

Returns:

call park extension details

Return type:

wxc_sdk.common.CallParkExtension instance (only name and extension are set)

async create(location_id: str, name: str, extension: str, org_id: str = None) str[source]

Create a Call Park Extension

Create new Call Park Extensions for the given location.

Call Park Extension enables a call recipient to park a call to an extension, so someone else within the same Organization can retrieve the parked call by dialing that extension. Call Park Extensions can be added as monitored lines by users’ Cisco phones, so users can park and retrieve calls by pressing the associated phone line key.

Creating a call park extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the call park extension for this location.

  • name (str) – Name for the call park extension. The maximum length is 30.

  • extension (str) – Unique extension which will be assigned to call park extension. The minimum length is 2, maximum length is 10.

  • org_id (str) – Create the call park extension for this organization.

Returns:

id of the new call park extension

Return type:

str

async delete(location_id: str, cpe_id: str, org_id: str = None)[source]

Delete a Call Park Extension

Delete the designated Call Park Extension.

Call Park Extension enables a call recipient to park a call to an extension, so someone else within the same Organization can retrieve the parked call by dialing that extension. Call Park Extensions can be added as monitored lines by users’ Cisco phones, so users can park and retrieve calls by pressing the associated phone line key.

Deleting a call park extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete a call park extension.

  • cpe_id (str) – Delete the call park extension with the matching ID.

  • org_id (str) – Delete the call park extension from this organization.

async update(location_id: str, cpe_id: str, name: str = None, extension: str = None, org_id: str = None)[source]

Update a Call Park Extension

Update the designated Call Park Extension.

Call Park Extension enables a call recipient to park a call to an extension, so someone else within the same Organization can retrieve the parked call by dialing that extension. Call Park Extensions can be added as monitored lines by users’ Cisco phones, so users can park and retrieve calls by pressing the associated phone line key.

Updating a call park extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this call park extension exists.

  • cpe_id (str) – Update a call park extension with the matching ID.

  • name (str) – Name for the call park extension. The maximum length is 30.

  • extension (str) – Unique extension which will be assigned to call park extension. The minimum length is 2, maximum length is 10.

  • org_id (str) – Update a call park extension from this organization.

base = 'telephony'
class wxc_sdk.as_api.AsCallsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Controls

Call Control APIs in support of Webex Calling. All GET commands require the spark:calls_read scope while all other commands require the spark:calls_write scope.

Notes:

  • These APIs support 3rd Party Call Control only.

  • The Call Control APIs are only for use by Webex Calling Multi Tenant users and not applicable for users hosted on UCM, including Dedicated Instance users.

  • The Call Control APIs are not supported by Service Apps. Please see Call Control Members APIs for Service Apps support.

async list_calls(line_owner_id: str = None) list[TelephonyCall][source]

List Calls

Get the list of details for all active calls associated with the user.

Parameters:

line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

list[Call]

async answer(call_id: str, endpoint_id: str = None, line_owner_id: str = None)[source]

Answer

Answer an incoming call. When no endpointId is specified, the call is answered on the user’s primary device. When an endpointId is specified, the call is answered on the device or application identified by the endpointId. The answer API is rejected if the device is not alerting for the call or the device does not support answer via API.

Parameters:
  • call_id (str) – The call identifier of the call to be answered.

  • endpoint_id (str) –

    The ID of the device or application to answer the call on. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async barge_in(target: str, endpoint_id: str = None, single_number_reach_phone_number: str = None, line_owner_id: str = None) CallInfo[source]

Barge In

Barge-in on another user’s answered call. A new call is initiated to perform the barge-in in a similar manner to the dial command.

Parameters:
  • target (str) – Identifies the user to barge-in on. The target can be digits or a URI. Some examples for target include: 1234, 2223334444, +12223334444, tel:+12223334444, user@company.domain, sip:user@company.domain

  • endpoint_id (str) –

    The ID of the device or application to use for the barge-in. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the barge-in. Mutually exclusive with endpointId.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async dial(destination: str, endpoint_id: str = None, single_number_reach_phone_number: str = None, line_owner_id: str = None) CallInfo[source]

Dial

Initiate an outbound call to a specified destination. This is also commonly referred to as Click to Call or Click to Dial. Alerts occur on all the devices belonging to a user unless an optional endpointId is specified in which case only the device or application identified by the endpointId is alerted. When a user answers an alerting device, an outbound call is placed from that device to the destination.

Parameters:
  • destination (str) – The destination to be dialed. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, and sip:user@company.domain.

  • endpoint_id (str) –

    The ID of the device or application to use for the call. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the call. Mutually exclusive with endpointId.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async divert(call_id: str, destination: str = None, to_voicemail: bool = None, line_owner_id: str = None)[source]

Divert

Divert a call to a destination or a user’s voicemail. This is also commonly referred to as a Blind Transfer.

Parameters:
  • call_id (str) – The call identifier of the call to divert.

  • destination (str) – The destination to divert the call to. If toVoicemail is false, destination is required. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain

  • to_voicemail (bool) – If set to true, the call is diverted to voicemail. If no destination is specified, the call is diverted to the user’s own voicemail. If a destination is specified, the call is diverted to the specified user’s voicemail.

  • line_owner_id – str = None

Return type:

None

async hangup(call_id: str, line_owner_id: str = None)[source]

Hangup

Hangup a call. If used on an unanswered incoming call, the call is rejected and sent to busy.

Parameters:
  • call_id (str) – The call identifier of the call to hangup.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async call_history(history_type: HistoryType = None) list[CallHistoryRecord][source]

List Call History

Get the list of call history records for the user. A maximum of 20 call history records per type (placed, missed, received) are returned.

Parameters:

history_type (CallHistoryRecordTypeEnum) – The type of call history records to retrieve. If not specified, then all call history records are retrieved.

Return type:

list[CallHistoryRecord]

async hold(call_id: str, line_owner_id: str = None)[source]

Hold

Hold a connected call.

Parameters:
  • call_id (str) – The call identifier of the call to hold.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async mute(call_id: str, line_owner_id: str = None)[source]

Mute

Mute a call. This API can only be used for a call that reports itself as mute capable via the muteCapable field in the call details.

Parameters:
  • call_id (str) – The call identifier of the call to mute.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async park(call_id: str, destination: str = None, is_group_park: bool = None, line_owner_id: str = None) TelephonyParty[source]

Park

Park a connected call. The number field in the response can be used as the destination for the retrieve command to retrieve the parked call.

Parameters:
  • call_id (str) – The call identifier of the call to park.

  • destination (str) – Identifes where the call is to be parked. If not provided, the call is parked against the parking user. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain

  • is_group_park (bool) – If set to`true`, the call is parked against an automatically selected member of the user’s call park group and the destination parameter is ignored.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

TelephonyParty

async pause_recording(call_id: str = None, line_owner_id: str = None)[source]

Pause Recording

Pause recording on a call. Use of this API is only valid when a call is being recorded and the user’s call recording mode is set to “On Demand” or “Always with Pause/Resume”.

Parameters:
  • call_id (str) – The call identifier of the call to pause recording.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async pickup(target: str = None, endpoint_id: str = None, single_number_reach_phone_number: str = None, line_owner_id: str = None) CallInfo[source]

Pickup

Picks up an incoming call to another user. A new call is initiated to perform the pickup in a similar manner to the dial command. When target is not present, the API pickups up a call from the user’s call pickup group. When target is present, the API pickups an incoming call from the specified target user.

Parameters:
  • target (str) – Identifies the user to pickup an incoming call from. If not provided, an incoming call to the user’s call pickup group is picked up. The target can be digits or a URI. Some examples for target include: 1234, 2223334444, +12223334444, tel:+12223334444, user@company.domain, sip:user@company.domain

  • endpoint_id (str) –

    The ID of the device or application to use for the pickup. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the pickup. Mutually exclusive with endpointId.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async pull(endpoint_id: str = None, line_owner_id: str = None) CallInfo[source]

Pull

Pull a call from one device to another. A temporary new call is initiated to perform the call pull in a similar manner to the dial command. When a user answers an alerting device, the device is connected to the pulled call and the new call created for the call pull is released.

Parameters:
  • endpoint_id (str) –

    The ID of the device or application to use for the retrieval. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async push(call_id: str = None, line_owner_id: str = None)[source]

Push

Pushes a call from the assistant to the executive the call is associated with. Use of this API is only valid when the assistant’s call is associated with an executive.

Parameters:
  • call_id (str) – The call identifier of the call to push.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async reject(call_id: str, action: RejectAction = None, line_owner_id: str = None)[source]

Reject

Reject an unanswered incoming call.

Parameters:
  • call_id (str) – The call identifier of the call to be rejected.

  • action (RejectAction) – The rejection action to apply to the call. The busy action is applied if no specific action is provided.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async resume(call_id: str, line_owner_id: str = None)[source]

Resume

Resume a held call.

Parameters:
  • call_id (str) – The call identifier of the call to resume.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async resume_recording(call_id: str = None, line_owner_id: str = None)[source]

Resume Recording

Resume recording a call. Use of this API is only valid when a call’s recording is paused and the user’s call recording mode is set to “On Demand” or “Always with Pause/Resume”.

Parameters:
  • call_id (str) – The call identifier of the call to resume recording.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async retrieve(destination: str = None, endpoint_id: str = None, single_number_reach_phone_number: str = None, line_owner_id: str = None) CallInfo[source]

Retrieve

Retrieve a parked call. A new call is initiated to perform the retrieval in a similar manner to the dial command. The number field from the park command response can be used as the destination for the retrieve command.

Parameters:
  • destination (str) – Identifies where the call is parked. The number field from the park command response can be used as the destination for the retrieve command. If not provided, the call parked against the retrieving user is retrieved. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, sip:user@company.domain

  • endpoint_id (str) –

    The ID of the device or application to use for the retrieval. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the retrieval. Mutually exclusive with endpointId.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async start_recording(call_id: str = None, line_owner_id: str = None)[source]

Start Recording

Start recording a call. Use of this API is only valid when the user’s call recording mode is set to “On Demand”.

Parameters:
  • call_id (str) – The call identifier of the call to start recording.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async stop_recording(call_id: str = None, line_owner_id: str = None)[source]

Stop Recording

Stop recording a call. Use of this API is only valid when a call is being recorded and the user’s call recording mode is set to “On Demand”.

Parameters:
  • call_id (str) – The call identifier of the call to stop recording.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async transfer(call_id1: str = None, call_id2: str = None, destination: str = None, line_owner_id: str = None) CallInfo[source]

Transfer

Transfer two calls together.

Unanswered incoming calls cannot be transferred but can be diverted using the divert API.

If the user has only two calls and wants to transfer them together, the callId1 and callId2 parameters are optional and when not provided the calls are automatically selected and transferred.

If the user has more than two calls and wants to transfer two of them together, the callId1 and callId2 parameters are mandatory to specify which calls are being transferred. Those are also commonly referred to as Attended Transfer, Consultative Transfer, or Supervised Transfer and will return a 204 response.

If the user wants to transfer one call to a new destination but only when the destination responds, the callId1 and destination parameters are mandatory to specify the call being transferred and the destination.

This is referred to as a Mute Transfer and is similar to the divert API with the difference of waiting for the destination to respond prior to transferring the call. If the destination does not respond, the call is not transferred. This will return a 201 response.

Parameters:
  • call_id1 (str) – The call identifier of the first call to transfer. This parameter is mandatory if either callId2 or destination is provided.

  • call_id2 (str) – The call identifier of the second call to transfer. This parameter is mandatory if callId1 is provided and destination is not provided.

  • destination (str) – The destination to be transferred to. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, tel:+12223334444, user@company.domain, sip:user@company.domain. This parameter is mandatory if callId1 is provided and callId2 is not provided.

  • line_owner_id (str:rtype: CallInfo) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async transmit_dtmf(call_id: str = None, dtmf: str = None, line_owner_id: str = None)[source]

Transmit DTMF

Transmit DTMF digits to a call.

Parameters:
  • call_id (str) – The call identifier of the call to transmit DTMF digits for.

  • dtmf (str) – The DTMF digits to transmit. Each digit must be part of the following set: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D]. A comma “,” may be included to indicate a pause between digits. For the value “1,234”, the DTMF 1 digit is initially sent. After a pause, the DTMF 2, 3, and 4 digits are sent successively.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async unmute(call_id: str, line_owner_id: str = None)[source]

Unmute

Unmute a call. This API can only be used for a call that reports itself as mute capable via the muteCapable field in the call details.

Parameters:
  • call_id (str) – The call identifier of the call to unmute.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async call_details(call_id: str, line_owner_id: str = None) TelephonyCall[source]

Get Call Details

Get the details of the specified active call for the user.

Parameters:
  • call_id (str) – The call identifier of the call.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

Call

async update_external_voicemail_mwi(id: str, action: ExternalVoicemailMwiAction, org_id: str = None)[source]

Set or Clear Message Waiting Indicator (MWI) Status

Enables an external voicemail service to SET or CLEAR the Message Waiting Indicator (MWI) for a person or workspace.

Invoke the API using a bearer token from a Service App in the target organization, created by a full admin with the scope spark-admin:calls_write.

Specify the target user or workspace with the required id query parameter.

Optionally, use the orgId parameter to indicate the organization; if omitted, the Service App’s organization is used.

If orgId is provided, it must match the Service App’s organization or be a managed organization.

Set the desired action (SET or CLEAR) in the message body’s action field.

Learn more about using Webex Service Apps.

Parameters:
  • id (str) – Unique identifier for the user or workspace.

  • action (ExternalVoicemailMwiAction) – Indicates whether to SET or CLEAR the MWI status.

  • org_id (str) – Id of the organization to which the user or workspace belongs. If not provided, the orgId of the Service App is used. If provided, the organization must be the same as or managed by the Service App’s organization.

Return type:

None

base = 'telephony/calls'
class wxc_sdk.as_api.AsConferenceControlsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Conference Controls

Conference Control APIs in support of Webex Calling.

All GET commands require the spark:calls_read scope while all other commands require the spark:calls_write scope.

async release_conference(line_owner_id: str = None)[source]

Release Conference

Release the conference (the host and all participants). Note that for a 3WC (three-way call) the Transfer API can be used to perform an attended transfer so that the participants remain connected.

Parameters:

line_owner_id (str:rtype: None) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async get_conference_details(line_owner_id: str = None) ConferenceDetails[source]

Get Conference Details

Get the details of the conference. An empty JSON object body is returned if there is no conference.

Parameters:

line_owner_id – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.:rtype: ConferenceDetails

async start_conference(call_ids: list[str], line_owner_id: str = None)[source]

Start Conference

Join the user’s calls into a conference. A minimum of two call IDs are required. Each call ID identifies an existing call between the user and a participant to be added to the conference.

Parameters:
  • call_ids (list[str]) – List of call identifiers of the participants to join into the conference. A minimum of two call IDs are required.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async add_participant(call_id: str, line_owner_id: str = None)[source]

Add Participant

Adds a participant to an existing conference. The request body contains the participant’s call ID.

Parameters:
  • call_id (str) – The call identifier of the participant to add.

  • line_owner_id (str:rtype: None) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async deafen_participant(call_id: str)[source]

Deafen Participant

Deafens a participant (i.e. media stream will not be transmitted to the participant). The request body contains the call ID of the participant to deafen

Parameters:

call_id (str) – The call identifier of the participant to deafen.

Return type:

None

async hold(line_owner_id: str = None)[source]

Hold

Hold the conference host. There is no request body.

Parameters:

line_owner_id (str:rtype: None) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async mute(call_id: str = None)[source]

Mute

Mutes the host or a participant. Mutes the host when no request body is provided (i.e. media stream from the host will not be transmitted to the conference). Mutes a participant when the request body contains the participant’s call ID (i.e. media stream from the participant will not be transmitted to the conference).

Parameters:

call_id (str) – The call identifier of the participant to mute. The conference host is muted when this attribute is not provided.

Return type:

None

async resume(line_owner_id: str = None)[source]

Resume

Resumes the held conference host. There is no request body.

Parameters:

line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async undeafen_participant(call_id: str)[source]

Undeafen Participant

Undeafens a participant (i.e. resume transmitting the conference media stream to the participant). The request body contains the call ID of the participant to undeafen.

Parameters:

call_id (str) – The call identifier of the participant to undeafen.

Return type:

None

async unmute(call_id: str = None)[source]

Unmute

Unmutes the host or a participant. Unmutes the host when no request body is provided (i.e. media stream from the host will be transmitted to the conference). Unmutes a participant when the request body contains the participant’s call ID (i.e. media stream from the participant will be transmitted to the conference).

Parameters:

call_id (str) – The call identifier of the participant to unmute. The conference host is unmuted when this attribute is not provided.

Return type:

None

base = 'telephony/conference'
class wxc_sdk.as_api.AsConvergedRecordingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Converged Recordings

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.

The access token needs the following scopes:

User: spark:recordings_read spark:recordings_write

Admin: spark-admin:recordings_read spark-admin:recordings_write

Compliance officer: spark-compliance:recordings_read spark-compliance:recordings_write

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_for_admin_or_compliance_officer_gen(from_: str | datetime = None, to_: str | datetime = None, status: RecordingStatus = None, service_type: RecordingServiceType = None, format_: str = None, owner_id: str = None, owner_email: str = None, owner_type: RecordingOwnerType = None, storage_region: RecordingStorageRegion = None, location_id: str = None, topic: str = None, timezone: str = None, **params) AsyncGenerator[ConvergedRecording, None][source]

List Recordings for Admin or Compliance officer

List recordings for an admin or 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.

Long result sets are split into pages.

List recordings requires the spark-compliance:recordings_read scope for compliance officer and spark-admin:recordings_read scope for admin.

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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • 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 specified, the API filters recordings by service-type. Valid values are calling and customerAssist.

  • format (str) – 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).

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • timezone (str) – e.g. UTC

Returns:

Generator yielding ConvergedRecording instances

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

List Recordings for Admin or Compliance officer

List recordings for an admin or 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.

Long result sets are split into pages.

List recordings requires the spark-compliance:recordings_read scope for compliance officer and spark-admin:recordings_read scope for admin.

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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • 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 specified, the API filters recordings by service-type. Valid values are calling and customerAssist.

  • format (str) – 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).

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • timezone (str) – e.g. UTC

Returns:

Generator yielding ConvergedRecording instances

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

List Recordings

List recordings. 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.

Long result sets are split into pages.

List recordings requires the spark: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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • 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 specified, the API filters recordings by service-type. Valid values are calling and customerAssist.

  • 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).

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • timezone (str) – e.g. UTC

Returns:

Generator yielding ConvergedRecording instances

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

List Recordings

List recordings. 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.

Long result sets are split into pages.

List recordings requires the spark: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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • 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 specified, the API filters recordings by service-type. Valid values are calling and customerAssist.

  • 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).

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • timezone (str) – e.g. UTC

Returns:

Generator yielding ConvergedRecording instances

async purge_recordings_from_recycle_bin(purge_all: bool = None, owner_email: str = None, recording_ids: list[str] = None)[source]

Purge Recordings from Recycle Bin

Purge recordings from the recycle bin with recording IDs or purge all the recordings that are in the recycle bin. A recording once purged cannot be restored.

Only the following two entities can use this API

  • Administrator: A user or an application with the scope spark-admin:recordings_write.

  • User: An authenticated user who does not have the scope spark-admin:recordings_write but has spark:recordings_write.

As an administrator, you can purge a list of recordings or all recordings of a particular user within the org you manage from the recycle bin.

As a user, you can purge a list of your own recordings or all your recordings from the recycle bin.

  • If purgeAll is true:

  • recordingIds should be empty.

  • If the caller of this API is an administrator, ownerEmail should not be empty and all recordings owned the ownerEmail will be purged from the recycle bin.

  • If the caller of this API is a user, ownerEmail should be empty and all recordings owned by the caller will be purged from the recycle bin.

  • If purgeAll is false:

  • ownerEmail should be empty.

  • recordingIds should not be empty and its maximum size is 100.

Parameters:
  • purge_all (bool) – If not specified or false, purges the recordings specified by recordingIds from the recycle bin. If true, purges all recordings owned by the caller in case of user, and all recordings owned by ownerEmail in case of administrator from the recycle bin.

  • owner_email (str) – Email address for the recording owner. This parameter is only used if purgeAll is set to true and the user or application calling the API has the required administrator scope spark-admin:recordings_write. The administrator may specify the email of a user from an org they manage and the API will purge all the recordings of that user from the recycle bin.

  • recording_ids (list[str]) – Recording IDs for purging recordings from the recycle bin in batch.

Return type:

None

async reassign(reassign_owner_email: str, owner_email: str = None, recording_ids: list[str] = 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

async restore_recordings_from_recycle_bin(restore_all: bool = None, owner_email: str = None, recording_ids: list[str] = None)[source]

Restore Recordings from Recycle Bin

Restore recordings from the recycle bin with recording IDs or restore all the recordings that are in the recycle bin.

Only the following two entities can use this API

  • Administrator: A user or an application with the scope spark-admin:recordings_write.

  • User: An authenticated user who does not have the scope spark-admin:recordings_write but has spark:recordings_write.

As an administrator, you can restore a list of recordings or all recordings of a particular user within the org you manage from the recycle bin.

As a user, you can restore a list of your own recordings or all your recordings from the recycle bin.

  • If restoreAll is true:

  • recordingIds should be empty.

  • If the caller of this API is an administrator, ownerEmail should not be empty and all recordings owned by the ownerEmail will be restored from the recycle bin.

  • If the caller of this API is a user, ownerEmail should be empty and all recordings owned by the caller will be restored from the recycle bin.

  • If restoreAll is false:

  • ownerEmail should be empty.

  • recordingIds should not be empty and its maximum size is 100.

Parameters:
  • restore_all (bool) – If not specified or false, restores the recordings specified by recordingIds from the recycle bin. If true, restores all recordings owned by the caller in case of user, and all recordings owned by ownerEmail in case of administrator from the recycle bin.

  • owner_email (str) – Email address for the recording owner. This parameter is only used if restoreAll is set to true and the user or application calling the API has the required administrator scope spark-admin:recordings_write. The administrator may specify the email of a user from an org they manage and the API will restore all the recordings of that user from the recycle bin.

  • recording_ids (list[str]) – Recording IDs for restoring recordings from the recycle bin in batch.

Return type:

None

async move_recordings_into_the_recycle_bin(trash_all: bool = None, owner_email: str = None, recording_ids: list[str] = None)[source]

Move Recordings into the Recycle Bin

Move recordings into the recycle bin with recording IDs or move all the recordings to the recycle bin.

Only the following two entities can use this API

  • Administrator: A user or an application with the scope spark-admin:recordings_write.

  • User: An authenticated user who does not have the scope spark-admin:recordings_write but has spark:recordings_write.

As an administrator, you can move a list of recordings or all recordings of a particular user within the org you manage to the recycle bin.

As a user, you can move a list of your own recordings or all your recordings to the recycle bin.

Recordings in the recycle bin can be recovered by 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 API to purge all or some of them.

  • If trashAll is true:

  • recordingIds should be empty.

  • If the caller of this API is an administrator, ownerEmail should not be empty and all recordings owned by the ownerEmail will be moved to the recycle bin.

  • If the caller of this API is a user, ownerEmail should be empty and all recordings owned by the caller will be moved to the recycle bin.

  • If trashAll is false:

  • ownerEmail should be empty.

  • recordingIds should not be empty and its maximum size is 100.

Parameters:
  • trash_all (bool) – If not specified or false, moves the recordings specified by recordingIds to the recycle bin. If true, moves all recordings owned by the caller in case of user, and all recordings owned by ownerEmail in case of administrator to the recycle bin.

  • owner_email (str) – Email address for the recording owner. This parameter is only used if trashAll is set to true and the user or application calling the API has the required administrator scope spark-admin:recordings_write. The administrator may specify the email of a user from an org they manage and the API will move all the recordings of that user into the recycle bin.

  • recording_ids (list[str]) – Recording IDs for moving recordings to the recycle bin in batch.

Return type:

None

async delete(recording_id: str, reason: str = None, comment: str = 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

async 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 for compliance officer, spark-admin:recordings_read scope for admin and spark:recordings_read scope for user.

Parameters:

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

Return type:

ConvergedRecordingWithDirectDownloadLinks

async metadata(recording_id: str, show_all_types: bool = 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 for compliance officer, spark-admin:recordings_read for admin and spark:recordings_read for user.

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

base = ''
class wxc_sdk.as_api.AsCustomerExperienceEssentialsApi(session: AsRestSession)[source]

Bases: AsApiChild

Features: Customer Assist Features: Customer Assist

Webex Customer Assist APIs provide the core capabilities of the Webex Contact Center solution. These APIs allow you to manage Customer Assist features such as supervisor configuration, agent configuration, and call queue configuration, which are distinct from the Customer Experience Basic suite.

Learn more about the Customer Assist suite.

Viewing the read-only Customer Assist APIs requires a full, device or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying the Customer Assist APIs requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Webex Customer Experience Basic is an offering available as part of the Webex Suite or Webex Calling Professional license at no additional cost. It includes a simple and powerful set of features which are bundled together to deliver the call center functionalities. The features such as Voice Queues, skill-based routing, call queue monitoring and analytics, multi call window, and more, help users to engage with customers efficiently. Also, with our Webex Calling for Microsoft Teams integration, the Microsoft Teams users can access the features directly from Teams.

Webex Customer Assist provides the fundamental capabilities of the Webex Contact Center solution. It includes all the Webex Calling professional capabilities, Customer Experience Basic features, and some additional key features accessible through the Webex App for both agents and supervisors. The features like screen pop, supervisor experience in Webex App, and real-time and historical agent and queue view make the Customer Assist distinct from Customer Experience Basic.

Webex Customer Assist APIs allows you to manage Customer Assist features such as supervisor configuration, agent configuration, and call queue configuration, which are distinct from Customer Experience Basic.

Learn more about the Customer Assist suite Learn more about the customer Experience Basic suite

__init__(session: AsRestSession)[source]
callqueue_recording: AsQueueCallRecordingSettingsApi
wrapup_reasons: AsWrapupReasonApi
async get_screen_pop_configuration(location_id: str = None, queue_id: str = None, org_id: str = None) ScreenPopConfiguration[source]

Get Screen Pop configuration for a Call Queue in a Location

Screen pop lets agents view customer-related info in a pop-up window. This API returns the screen pop configuration for a call queue in a location.

Parameters:
  • location_id (str) – The location ID where the call queue resides.

  • queue_id (str) – The call queue ID for which screen pop configuration is modified.

  • org_id (str) – The organization ID of the customer or partner’s organization.

Return type:

None

async modify_screen_pop_configuration(location_id: str, queue_id: str, settings: ScreenPopConfiguration, org_id: str = None)[source]

Modify Screen Pop configuration for a Call Queue in a Location

Screen pop lets agents view customer-related info in a pop-up window. This API allows you to modify the screen pop configuration for a call queue in a location.

Parameters:
  • location_id (str) – The location ID where the call queue resides.

  • queue_id (str) – The call queue ID for which screen pop configuration is modified.

  • settings (ScreenPopConfiguration) – The screen pop configuration settings.

  • org_id (str) – The organization ID of the customer or partner’s organization.

Return type:

None

available_agents_gen(location_id: str, has_cx_essentials: bool = None, org_id: str = None) AsyncGenerator[AvailableAgent, None][source]

List Available Agents

Return a list of available agents with Customer Assist license in a location.

Retrieving the list of available agents requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve the list of avaiilable agents in this location.

  • has_cx_essentials (bool) – Returns only the list of available agents with Customer Assist license when true, otherwise returns the list of available agents with Customer Experience Basic license.

  • org_id (str) – The organization ID of the customer or partner’s organization.

Returns:

Generator yielding AvailableAgent instances

async available_agents(location_id: str, has_cx_essentials: bool = None, org_id: str = None) list[AvailableAgent][source]

List Available Agents

Return a list of available agents with Customer Assist license in a location.

Retrieving the list of available agents requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve the list of avaiilable agents in this location.

  • has_cx_essentials (bool) – Returns only the list of available agents with Customer Assist license when true, otherwise returns the list of available agents with Customer Experience Basic license.

  • org_id (str) – The organization ID of the customer or partner’s organization.

Returns:

Generator yielding AvailableAgent instances

base = 'telephony/config'
class wxc_sdk.as_api.AsDECTDevicesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

DECT Devices Settings

Not supported for Webex for Government (FedRAMP)

DECT APIs allow the admin to create a DECT network, and add base stations and handsets to the DECT network. People, places and virtual lines member types are supported on handset lines in the DECT network. Currently, APIs support Cisco DECT device models only.

Viewing and searching DECT settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Adding and modifying these DECT settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

async device_type_list(org_id: str = None) list[DectDevice][source]

Read the DECT device type list

Not supported for Webex for Government (FedRAMP).

Get DECT device type list with base stations and line ports supported count. This is a static list.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Return type:

list[DectDevice]

async create_dect_network(location_id: str, name: str, model: DECTNetworkModel, default_access_code_enabled: bool, default_access_code: str, display_name: str = None, org_id: str = None) str[source]

Create a DECT Network

Create a multi-cell DECT network for a given location.

Creating a DECT network requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create a DECT network in this location.

  • name (str) – Name of the DECT network. Min and max length supported for the DECT network name are 1 and 40 respectively.

  • model (DECTNetworkModel) – Select a device model type depending on the number of base stations and handset lines needed in the DECT network.

  • default_access_code_enabled (bool) – If set to true, need to provide a default access code that will be shared for all users in this network to pair their lines to the next available handset. Otherwise, each user will get a unique 4-digit access code that will be auto-generated. Note: There is currently no public API to retrieve the auto generated access codes for handsets. Use Control Hub instead.

  • default_access_code (str) – If defaultAccessCodeEnabled is set to true, then provide a default access code that needs to be a 4-numeric digit. The access code should be unique to the DECT network for the location.

  • display_name (str) – Add a default name (11 characters max) to display for all handsets. If left blank, the default name will be an indexed number followed by the DECT network name.

  • org_id (str) – Create a DECT network in this organization

Return type:

str

async list_dect_networks(name: str = None, location_id: str = None, org_id: str = None) list[DECTNetworkDetail][source]

Get the List of DECT Networks for an organization

Retrieves the list of DECT networks for an organization.

DECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – List of DECT networks with this name.

  • location_id (str) – List of DECT networks at this location.

  • org_id (str) – List of DECT networks in this organization.

Return type:

list[DECTNetworkDetail]

async dect_network_details(location_id: str, dect_network_id: str, org_id: str = None) DECTNetworkDetail[source]

Get DECT Network Details

Retrieves the details of a DECT network.

DECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Details of the DECT network at this location.

  • dect_network_id (str) – Details of the specified DECT network.

  • org_id (str) – Details of the DECT network in this organization.

Return type:

DECTNetworkDetail

async update_dect_network(location_id: str, dect_network_id: str, name: str, default_access_code_enabled: bool, default_access_code: str = None, display_name: str = None, org_id: str = None)[source]

Update DECT Network

Update the details of a DECT network.

DECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update DECT network details in the specified location.

  • dect_network_id (str) – Update DECT network details in the specified DECT network.

  • name (str) – Name of the DECT network. This should be unique across the location.

  • default_access_code_enabled (bool) – Default access code is enabled. If true, the default access code is mandatory. If false, an auto-generated access code is used.

  • default_access_code (str) – Default access code for the DECT network. The default access code should be unique within the same location to avoid the handset accidentally registering with base stations from different DECT networks in range. This is mandatory when defaultAccessCodeEnabled is true.

  • display_name (str) – DECT network name that will be displayed on the handset.

  • org_id (str) – Update DECT network details in the specified organization.

Return type:

None

async update_dect_network_settings(settings: DECTNetworkDetail, org_id: str = None)[source]

Update DECT Network from settings

Update the details of a DECT network from settings.

DECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings – DECT Network to update. location.id and id are used to address the DECT network to be updated. Only name, display_name, default_access_code_enabled, default_access_code are considered for the update

  • org_id (str) – Update DECT network details in the specified organization.

Return type:

None

async delete_dect_network(location_id: str, dect_network_id: str, org_id: str = None)[source]

Delete DECT Network

Delete a DECT network.

DECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Delete the DECT network in the specified location.

  • dect_network_id (str) – Delete the specified DECT network.

  • org_id (str) – Delete the DECT network in the specified organization.

Return type:

None

async create_base_stations(location_id: str, dect_id: str, base_station_macs: list[str], org_id: str = None) list[BaseStationResponse][source]

Create Multiple Base Stations

This API is used to create multiple base stations in a DECT network in an organization.

Creating base stations in a DECT network requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create a base station in this location.

  • dect_id (str) – Create a base station for the DECT network.

  • base_station_macs (list[str]) – Array of base stations.

  • org_id (str) – Create a base station for a DECT network in this organization.

Return type:

list[BaseStationResponse]

async list_base_stations(location_id: str, dect_network_id: str, org_id: str = None) list[BaseStationsResponse][source]

Get a list of DECT Network Base Stations

Retrieve a list of base stations in a DECT Network.

A DECT network supports 2 types of base stations, DECT DBS-110 Single-Cell and DECT DBS-210 Multi-Cell. A DECT DBS-110 allows up to 30 lines of registration and supports 1 base station only. A DECT DBS-210 can have up to 254 base stations and supports up to 1000 lines of registration.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Retrieve the list of base stations in the specified DECT network ID.

  • org_id (str) – Organization containing the DECT network.

Return type:

list[BaseStationsResponse]

async base_station_details(location_id: str, dect_network_id: str, base_station_id: str, org_id: str = None) BaseStationDetail[source]

Get the details of a specific DECT Network Base Station

Retrieve details of a specific base station in the DECT Network.

A DECT network supports 2 types of base stations, DECT DBS-110 Single-Cell and DECT DBS-210 Multi-Cell. A DECT DBS-110 allows up to 30 lines of registration and supports 1 base station only. A DECT DBS-210 can have up to 254 base stations and supports up to 1000 lines of registration.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Retrieve details of a specific base station in the specified DECT network ID.

  • base_station_id (str) – Retrieve details of the specific DECT base station ID.

  • org_id (str) – Organization containing the DECT network.

Return type:

BaseStationDetail

async delete_bulk_base_stations(location_id: str, dect_network_id: str, org_id: str = None)[source]

Delete bulk DECT Network Base Stations

Delete all the base stations in the DECT Network.

A DECT network supports 2 types of base stations, DECT DBS-110 Single-Cell and DECT DBS-210 Multi-Cell. A DECT DBS-110 allows up to 30 lines of registration and supports 1 base station only. A DECT DBS-210 can have up to 254 base stations and supports up to 1000 lines of registration.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Delete all the base stations in the specified DECT network ID.

  • org_id (str) – Organization containing the DECT network.

Return type:

None

async delete_base_station(location_id: str, dect_network_id: str, base_station_id: str, org_id: str = None)[source]

Delete a specific DECT Network Base Station

Delete a specific base station in the DECT Network.

A DECT network supports 2 types of base stations, DECT DBS-110 Single-Cell and DECT DBS-210 Multi-Cell. A DECT DBS-110 allows up to 30 lines of registration and supports 1 base station only. A DECT DBS-210 can have up to 254 base stations and supports up to 1000 lines of registration.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Delete a specific base station in the specified DECT network ID.

  • base_station_id (str) – Delete the specific DECT base station ID.

  • org_id (str) – Organization containing the DECT network.

Return type:

None

async add_a_handset(location_id: str, dect_network_id: str, line1_member_id: str, line2_member_id: str = None, custom_display_name: str = None, org_id: str = None)[source]

Add a Handset to a DECT Network

Add a handset to a DECT network in a location in an organization.

Adding a handset to a DECT network requires a full administrator auth token with a scope of spark-admin:telephony_config_write

Adding a DECT handset to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

Adding or removing handsets to the DECT network in less than 90 seconds may result in base station not having the latest configuration until the base station is rebooted.

Parameters:
  • location_id (str) – Add handset in this location.

  • dect_network_id (str) – A unique identifier for the DECT network.

  • line1_member_id (str) – ID of the member on line1 of the handset. Members can be PEOPLE or PLACE.

  • line2_member_id (str) – ID of the member on line2 of the handset. Members can be PEOPLE, PLACE, or VIRTUAL_LINE.

  • custom_display_name (str) – Custom display name on the handset. Min and max length supported for the custom display name is 1 and 16 respectively. Mandatory parameter.

  • org_id (str) – Add handset in this organization.

Return type:

None

async add_list_of_handsets(location_id: str, dect_network_id: str, items: list[AddDECTHandset], org_id: str = None) list[AddDECTHandsetBulkResponse][source]

Add a List of Handsets to a DECT Network

Add a list of up to 50 handsets to a DECT network in a location.

A DECT network acts as a container that can support up to 1,000 lines across all handsets, with each handset capable of handling up to two lines. Once the network is created, you can add bases, handsets, and assign users or lines as needed.

Adding a list of handsets to a DECT network requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Adding a DECT handset to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

Adding or removing handsets to the DECT network in less than 90 seconds may result in base station not having the latest configuration until the base station is rebooted.

Parameters:
  • location_id (str) – Add handsets in this location.

  • dect_network_id (str) – A unique identifier for the DECT network.

  • items (list[AddDECTHandset]) – List of handsets that are to be added to the DECT network.

  • org_id (str) – Add handsets in this organization.

Return type:

list[AddDECTHandsetBulkResponse]

async list_handsets(location_id: str, dect_network_id: str, basestation_id: str = None, member_id: str = None, org_id: str = None) DECTHandsetList[source]

Get List of Handsets for a DECT Network ID

List all the handsets associated with a DECT Network ID.

A handset can have up to two lines, and a DECT network supports a total of 120 lines across all handsets. A member on line1 of a DECT handset can be of type PEOPLE or PLACE while a member on line2 of a DECT handset can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Search handset details in the specified DECT network ID.

  • basestation_id (str) – Search handset details in the specified DECT base station ID.

  • member_id (str) – ID of the member of the handset. Members can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

  • org_id (str) – Organization containing the DECT network.

Return type:

DECTHandsetList

async handset_details(location_id: str, dect_network_id: str, handset_id: str, org_id: str = None) DECTHandsetItem[source]

Get Specific DECT Network Handset Details

List the specific DECT Network handset details.

A handset can have up to two lines, and a DECT network supports a total of 120 lines across all handsets. A member on line1 of a DECT handset can be of type PEOPLE or PLACE while a member on line2 of a DECT handset can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Search handset details in the specified DECT network ID.

  • handset_id (str) – A unique identifier for the handset.

  • org_id (str) – Organization containing the DECT network.

Return type:

DECTHandsetGet

async update_handset(location_id: str, dect_network_id: str, handset_id: str, line1_member_id: str, custom_display_name: str, line2_member_id: str = None, org_id: str = None)[source]

Update DECT Network Handset

Update the line assignment on a handset.

A handset can have up to two lines, and a DECT network supports a total of 120 lines across all handsets. A member on line1 of a DECT handset can be of type PEOPLE or PLACE while a member on line2 of a DECT handset can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

Updating a DECT Network handset requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Update handset details in the specified DECT network.

  • handset_id (str) – A unique identifier for the handset.

  • line1_member_id (str) – ID of the member on line1 of the handset. Members can be PEOPLE or PLACE.

  • custom_display_name (str) – Custom display name on the handset.

  • line2_member_id (str) – ID of the member on line2 of the handset. Members can be PEOPLE, PLACE, or VIRTUAL_LINE.

  • org_id (str) – Organization containing the DECT network.

Return type:

None

async delete_handset(location_id: str, dect_network_id: str, handset_id: str, org_id: str = None)[source]

Delete specific DECT Network Handset Details

Delete a specific DECT Network handset.

A handset can have up to two lines, and a DECT network supports a total of 120 lines across all handsets. A member on line1 of a DECT handset can be of type PEOPLE or PLACE while a member on line2 of a DECT handset can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Delete handset details in the specified DECT network ID.

  • handset_id (str) – A unique identifier for the handset.

  • org_id (str) – Organization containing the DECT network.

Return type:

None

async delete_handsets(location_id: str, dect_network_id: str, handset_ids: list[str], delete_all: bool = None, org_id: str = None)[source]

Delete multiple handsets

Delete multiple handsets or all of them.

A handset can have up to two lines, and a DECT network supports a total of 120 lines across all handsets. A member on line1 of a DECT handset can be of type PEOPLE or PLACE while a member on line2 of a DECT handset can be of type PEOPLE, PLACE, or VIRTUAL_LINE.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Deleting a DECT handset from a person with a Webex Calling Standard license will enable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

Adding or removing handsets to the DECT network in less than 90 seconds may result in base station not having the latest configuration until the base station is rebooted.

Parameters:
  • location_id (str) – Location containing the DECT network.

  • dect_network_id (str) – Delete handset details in the specified DECT network ID.

  • handset_ids (list[str]) – Array of the handset IDs to be deleted.

  • delete_all (bool) – If present the items array is ignored and all items in the context are deleted.

  • org_id (str) – Organization containing the DECT network.

Return type:

None

async dect_networks_associated_with_person(person_id: str, org_id: str = None) list[AssignedDectNetwork][source]

GET List of DECT networks associated with a Person

Retrieves the list of DECT networks for a person in an organization.

DECT Network provides roaming voice services via base stations and wireless handsets. DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – List of DECT networks associated with this person.

  • org_id (str) – List of DECT networks associated with a person in this organization.

Return type:

list[AssignedDectNetwork]

async dect_networks_associated_with_workspace(workspace_id: str, org_id: str = None) list[AssignedDectNetwork][source]

GET List of DECT networks associated with a workspace

Retrieves the list of DECT networks for a workspace in an organization.

DECT Network provides roaming voice services via base stations and wireless handsets. DECT network can be provisioned up to 1000 lines across up to 254 base stations.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – List of DECT networks associated with this workspace.

  • org_id (str) – List of DECT networks associated with a workspace in this organization.

Return type:

list[AssignedDectNetwork]

async dect_networks_associated_with_virtual_line(virtual_line_id: str, org_id: str = None) list[AssignedDectNetwork][source]

Get List of Dect Networks Handsets for a Virtual Line

Retrieve DECT Network details assigned for a virtual line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Retrieving the assigned device detials for a virtual line requires a full or user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • virtual_line_id (str) – Retrieve settings for a virtual line with the matching ID.

  • org_id (str) – Retrieve virtual line settings from this organization.

Return type:

list[AssignedDectNetwork]

available_members_gen(member_name: str = None, phone_number: str = None, extension: str = None, location_id: str = None, order: str = None, exclude_virtual_line: bool = None, usage_type: UsageType = None, org_id: str = None, **params) AsyncGenerator[AvailableMember, None][source]

Search Available Members

List the members that are available to be assigned to DECT handset lines.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • location_id (str) – List members for the location ID.

  • order (str) – Sort the list of available members on the device in ascending order by name, using either last name lname or first name fname. Default sort is the last name in ascending order.

  • exclude_virtual_line (bool) – If true, search results will exclude virtual lines in the member list. NOTE: Virtual lines cannot be assigned as the primary line.

  • usage_type (UsageType) – Search for members eligible to become the owner of the device, or share line on the device.

  • org_id (str) – Search members in this organization.

Returns:

Generator yielding AvailableMember instances

async available_members(member_name: str = None, phone_number: str = None, extension: str = None, location_id: str = None, order: str = None, exclude_virtual_line: bool = None, usage_type: UsageType = None, org_id: str = None, **params) list[AvailableMember][source]

Search Available Members

List the members that are available to be assigned to DECT handset lines.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • location_id (str) – List members for the location ID.

  • order (str) – Sort the list of available members on the device in ascending order by name, using either last name lname or first name fname. Default sort is the last name in ascending order.

  • exclude_virtual_line (bool) – If true, search results will exclude virtual lines in the member list. NOTE: Virtual lines cannot be assigned as the primary line.

  • usage_type (UsageType) – Search for members eligible to become the owner of the device, or share line on the device.

  • org_id (str) – Search members in this organization.

Returns:

Generator yielding AvailableMember instances

async generate_and_enable_dect_serviceability_password(location_id: str, dect_network_id: str, org_id: str = None) str[source]

Generate and Enable DECT Serviceability Password

Generates and enables a 16-character DECT serviceability password.

Generating a password and transmitting it to the DECT network can reboot the entire network. Be sure you choose an appropriate time to generate a new password.

The DECT serviceability password, also known as the admin override password, provides read/write access to DECT base stations for performing system serviceability and troubleshooting functions.

This API requires either a full administrator auth token with the scope spark-admin:telephony_config_write, or a device administrator token with the scope of spark-admin:devices_write.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • dect_network_id (str) – Unique identifier for the DECT network.

  • org_id (str) – Unique identifier for the organization.

Return type:

str

async get_dect_serviceability_password_status(location_id: str, dect_network_id: str, org_id: str = None) bool[source]

Get DECT Serviceability Password status

Retrieves the DECT serviceability password status.

If the serviceability password is enabled but has not been generated, the enabled status will be returned as true even though there is no active serviceability password.

The DECT serviceability password, also known as the admin override password, provides read/write access to DECT base stations for performing system serviceability and troubleshooting functions.

This API requires an auth token with either a full, read-only token with the scope of spark-admin:telephony_config_read, or a device administrator token with the scope of spark-admin:devices_read.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • dect_network_id (str) – Unique identifier for the DECT network.

  • org_id (str) – Unique identifier for the organization.

Return type:

bool

async update_dect_serviceability_password_status(location_id: str, dect_network_id: str, enabled: bool, org_id: str = None)[source]

Update DECT Serviceability Password status

Enables or disables the DECT serviceability password.

Enabling or disabling the password and transmitting it to the DECT network can reboot the entire network. Be sure you choose an appropriate time for this action.

If enabling is requested, but the serviceability password has not been generated, we will not actively reject the request even though there is no serviceability password.

The DECT serviceability password, also known as the admin override password, provides read/write access to DECT base stations for performing system serviceability and troubleshooting functions.

This API requires either a full administrator auth token with the scope spark-admin:telephony_config_write, or a device administrator token with the scope of spark-admin:devices_write.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • dect_network_id (str) – Unique identifier for the DECT network.

  • enabled (bool) – DECT serviceability password status. When enabled is set to true, the serviceability password can be used to manage DECT. When enabled is set to false, the serviceability password is disabled and the password owned and known by Cisco is required to perform serviceability and troubleshooting.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

base = 'telephony/config'
class wxc_sdk.as_api.AsDetailedCDRApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Reports: Detailed Call History

The base URL for these APIs is analytics-calling.webexapis.com (or analytics-calling-gov.webexapis.com for Government). These endpoints are not compatible with the API reference’s Try It feature. For questions or assistance, please contact the Webex Developer Support team at devsupport@webex.com.

The CDR Feed API is recommended for users who need to pull CDR records for a specific time period. For more up-to-date records, use the cdr_stream endpoint API instead.

To retrieve Detailed Call History information, your request must include a token with the spark-admin:calling_cdr_read scope. Additionally, the authenticating user must have the administrator role “Webex Calling Detailed Call History API access” enabled.

The CDR Feed API can query any 12-hour period between 5 minutes ago and 30 days prior to the current UTC time. Only 12 hours of records can be retrieved per request (i.e., the time between the selected start and end times in a single API call). For example: If a call ends at 9:46 AM, the record is available for collection starting at 9:51 AM and remains available until 9:46 AM 30 days later. The maximum query duration starting at 9:51 AM would end at 9:51 PM the same day.

This API is rate-limited to 1 initial request per minute per user token, with up to 10 additional pagination requests per minute per user token.

Details on the fields returned from this API and their potential values are available at <https://help.webex.com/en-us/article/nmug598/Reports-for-Your-Cloud-Collaboration-Portfolio>. Select the Report templates tab, and under the Webex Calling reports, see Calling Detailed Call History Report.

By default, the calls to analytics-calling.webexapis.com are routed to the closest region’s servers. If the region’s servers host the organization’s data, then the data is returned. Otherwise, an HTTP 451 error code is returned. In such cases, the response body contains endpoint information indicating where the organization’s data can be retrieved.

get_cdr_history_gen(start_time: str | datetime = None, end_time: datetime | str = None, locations: list[str] = None, host: str = 'analytics-calling.webexapis.com', stream: bool = False, **params) AsyncGenerator[CDR, None][source]

Provides Webex Calling Detailed Call History data for your organization.

Results can be filtered with the startTime, endTime and locations request parameters. The startTime and endTime parameters specify the start and end of the time period for the Detailed Call History reports you wish to collect. The API will return all reports that were created between startTime and endTime.

Parameters:
  • start_time (Union[str, datetime]) –

    Time of the first report you wish to collect. (Report time is the time the call finished).

    Note: The specified time must be between 5 minutes ago and 48 hours ago, and Can be a datetime object or an ISO-8601 datetime string to be parsed by dateutil.parser.isoparse()

  • end_time (Union[str, datetime]) –

    Time of the last report you wish to collect. (Report time is the time the call finished).

    Note: The specified time should be earlier than startTime and no earlier than 48 hours ago. Can be a datetime object or an ISO-8601 datetime string to be parsed by dateutil.parser.isoparse().

  • locations (list[str]) – Names of the location (as shown in Control Hub). Up to 10 comma-separated locations can be provided. Allows you to query reports by location.

  • host (str) – analytics host to access. Defaults to ‘analytics.webexapis.com’.

  • stream (bool) – If true, collect data from cdr_stream, else from cdr_feed. Defaults to False (cdr_feed).

  • params – additional arguments

Returns:

async get_cdr_history(start_time: str | datetime = None, end_time: datetime | str = None, locations: list[str] = None, host: str = 'analytics-calling.webexapis.com', stream: bool = False, **params) list[CDR][source]

Provides Webex Calling Detailed Call History data for your organization.

Results can be filtered with the startTime, endTime and locations request parameters. The startTime and endTime parameters specify the start and end of the time period for the Detailed Call History reports you wish to collect. The API will return all reports that were created between startTime and endTime.

Parameters:
  • start_time (Union[str, datetime]) –

    Time of the first report you wish to collect. (Report time is the time the call finished).

    Note: The specified time must be between 5 minutes ago and 48 hours ago, and Can be a datetime object or an ISO-8601 datetime string to be parsed by dateutil.parser.isoparse()

  • end_time (Union[str, datetime]) –

    Time of the last report you wish to collect. (Report time is the time the call finished).

    Note: The specified time should be earlier than startTime and no earlier than 48 hours ago. Can be a datetime object or an ISO-8601 datetime string to be parsed by dateutil.parser.isoparse().

  • locations (list[str]) – Names of the location (as shown in Control Hub). Up to 10 comma-separated locations can be provided. Allows you to query reports by location.

  • host (str) – analytics host to access. Defaults to ‘analytics.webexapis.com’.

  • stream (bool) – If true, collect data from cdr_stream, else from cdr_feed. Defaults to False (cdr_feed).

  • params – additional arguments

Returns:

base = ''
class wxc_sdk.as_api.AsDeviceConfigurationsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

The Device Configurations API allows developers to view and modify configurations on Webex Rooms devices, as well as other devices that use the configuration service.

Viewing the list of all device configurations in an organization requires an administrator auth token with the spark-admin:devices_read scope. Adding, updating, or deleting configurations for devices in an organization requires an administrator auth token with both the spark-admin:devices_write and the spark-admin:devices_read scope.

async list(device_id: str, key: str = None) DeviceConfigurationResponse[source]

Lists all device configurations associated with the given device ID. Administrators can list configurations for all devices within an organization.

Parameters:
  • device_id (str) – List device configurations by device ID.

  • key (str) –

    This can optionally be used to filter configurations. Keys are composed of segments. It’s possible to use absolute paths, wildcards or ranges.

    Absolute gives only one configuration as a result. Conference.MaxReceiveCallRate for example gives the ConferenceMaxReceiveCallRate configuration.

    Wildcards (*) can specify multiple configurations with shared segments. Audio.Ultrasound.* for example will filter on all Audio Ultrasound configurations.

    Range ([number]) can be used to filter numbered segments. FacilityService.Service[1].Name for instance only shows the first FacilityService Service Name configuration, FacilityService.Service[*].Name shows all, FacilityService.Service[1..3].Name shows the first three and FacilityService.Service[2..n].Name shows all starting at 2.

Returns:

device configurations

async update(device_id: str, operations: list[DeviceConfigurationOperation]) DeviceConfigurationResponse[source]

Update Device Configurations

Parameters:
  • device_id – Update device configurations by device ID.

  • operations – list if operations to apply

base = 'deviceConfigurations'
class wxc_sdk.as_api.AsDeviceSettingsJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for jobs to update device settings at the location and organization level

async change(location_id: str | None, customization: DeviceCustomization, org_id: str = None) StartJobResponse[source]

Change device settings across organization or locations jobs.

Performs bulk and asynchronous processing for all types of device settings initiated by organization and system admins in a stateful persistent manner. This job will modify the requested device settings across all non-customized devices. Whenever a location ID is specified in the request, it will modify the requested device settings only for non-customized devices that are part of the provided location within an organization.

Returns a unique job ID which can then be utilized further to retrieve status and errors for the same.

Only one job per customer can be running at any given time within the same organization. An attempt to run multiple jobs at the same time will result in a 409 error response.

Running a job requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location within an organization where changes of device settings will be applied to all the devices within it.

  • customization (DeviceCustomization) – customization. Atttribute custom_enabled Indicates if all the devices within this location will be customized with new requested customizations(if set to true) or will be overridden with the one at organization level (if set to false or any other value). This field has no effect when the job is being triggered at organization level.

  • org_id (str) – Apply change device settings for all the devices under this organization.

Returns:

information about the created job

Return type:

StartJobResponse

list_gen(org_id: str = None, **params) AsyncGenerator[StartJobResponse, None][source]

List change device settings jobs.

Lists all the jobs for jobType calldevicesettings for the given organization in order of most recent one to oldest one irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – Retrieve list of ‘calldevicesettings’ jobs for this organization.

  • params – optional parameters

Returns:

Generator of StartJobResponse instances

async list(org_id: str = None, **params) list[StartJobResponse][source]

List change device settings jobs.

Lists all the jobs for jobType calldevicesettings for the given organization in order of most recent one to oldest one irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – Retrieve list of ‘calldevicesettings’ jobs for this organization.

  • params – optional parameters

Returns:

Generator of StartJobResponse instances

async status(job_id: str, org_id: str = None) StartJobResponse[source]

Get change device settings job status.

Provides details of the job with jobId of jobType calldevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job details for this jobId.

  • org_id (str) – Retrieve job details for this org

Returns:

job details

Return type:

StartJobResponse

errors_gen(job_id: str, org_id: str = None) AsyncGenerator[JobErrorItem, None][source]

List change device settings job errors.

Lists all error details of the job with jobId of jobType calldevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id – Retrieve job details for this jobId.

  • org_id – Retrieve list of jobs for this organization.

Returns:

async errors(job_id: str, org_id: str = None) list[JobErrorItem][source]

List change device settings job errors.

Lists all error details of the job with jobId of jobType calldevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id – Retrieve job details for this jobId.

  • org_id – Retrieve list of jobs for this organization.

Returns:

base = 'telephony/config/jobs/devices/callDeviceSettings'
class wxc_sdk.as_api.AsDevicesApi(*, session: AsRestSession)[source]

Bases: AsApiChild

Devices

Devices represent cloud-registered Webex RoomOS devices and Webex Calling phones. Devices may be associated with Workspaces.

The following scopes are required for performing the specified actions:

  • Searching and viewing details for devices requires an auth token with the spark:devices_read scope.

  • Updating or deleting your devices requires an auth token with the spark:devices_write scope.

  • Viewing the list of all devices in an organization requires an administrator auth token with the spark-admin:devices_read scope.

  • Adding, updating, or deleting all devices in an organization requires an administrator auth token with the spark-admin:devices_write scope.

  • Generating an activation code requires an auth token with the spark-admin:devices_write scope, and one of the identity:placeonetimepassword_create or identity:one_time_password scopes.

These APIs cannot be used with Cisco 98xx devices that are not yet Webex Aware. Use Webex Control Hub to manage these devices.

__init__(*, session: AsRestSession)[source]
settings_jobs: AsDeviceSettingsJobsApi

device jobs Api

list_gen(person_id: str = None, workspace_id: str = None, location_id: str = None, workspace_location_id: str = None, display_name: str = None, product: str = None, product_type: ProductType = None, tag: str = None, connection_status: ConnectionStatus = None, serial: str = None, software: str = None, upgrade_channel: str = None, error_code: str = None, capability: str = None, permission: str = None, mac: str = None, device_platform: DevicePlatform = None, planned_maintenance: MaintenanceMode = None, org_id: str = None, **params) AsyncGenerator[Device, None][source]

List Devices

Lists all active Webex devices associated with the authenticated user, such as devices activated in personal mode. Administrators can list all devices within an organization.

Parameters:
  • person_id (str) – List devices by person ID.

  • workspace_id (str) – List devices by workspace ID.

  • location_id (str) – List devices by location ID.

  • workspace_location_id (str) – List devices by workspace location ID. Deprecated, prefer location_id.

  • display_name (str) – List devices with this display name.

  • product (str) – List devices with this product name.

  • product_type (str) – List devices with this type. Possible values: roomdesk, phone, accessory, webexgo, unknown

  • tag (str separating the tag values or adding several tag parameters.) – List devices which have a tag. Searching for multiple tags (logical AND) can be done by comma

  • connection_status (str) – List devices with this connection statu

  • serial (str) – List devices with this serial number.

  • software (str) – List devices with this software version.

  • upgrade_channel (str) – List devices with this upgrade channel.

  • error_code (str) – List devices with this error code.

  • capability (str) – List devices with this capability. For example: xapi

  • permission (str) – List devices with this permission.

  • mac (str) – List devices with this MAC address.

  • device_platform (DevicePlatform) – List devices with this device platform.

  • org_id (str) – List devices in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • planned_maintenance (MaintenanceMode) – List devices with this planned maintenance.

Returns:

Generator yielding Device instances

async list(person_id: str = None, workspace_id: str = None, location_id: str = None, workspace_location_id: str = None, display_name: str = None, product: str = None, product_type: ProductType = None, tag: str = None, connection_status: ConnectionStatus = None, serial: str = None, software: str = None, upgrade_channel: str = None, error_code: str = None, capability: str = None, permission: str = None, mac: str = None, device_platform: DevicePlatform = None, planned_maintenance: MaintenanceMode = None, org_id: str = None, **params) list[Device][source]

List Devices

Lists all active Webex devices associated with the authenticated user, such as devices activated in personal mode. Administrators can list all devices within an organization.

Parameters:
  • person_id (str) – List devices by person ID.

  • workspace_id (str) – List devices by workspace ID.

  • location_id (str) – List devices by location ID.

  • workspace_location_id (str) – List devices by workspace location ID. Deprecated, prefer location_id.

  • display_name (str) – List devices with this display name.

  • product (str) – List devices with this product name.

  • product_type (str) – List devices with this type. Possible values: roomdesk, phone, accessory, webexgo, unknown

  • tag (str separating the tag values or adding several tag parameters.) – List devices which have a tag. Searching for multiple tags (logical AND) can be done by comma

  • connection_status (str) – List devices with this connection statu

  • serial (str) – List devices with this serial number.

  • software (str) – List devices with this software version.

  • upgrade_channel (str) – List devices with this upgrade channel.

  • error_code (str) – List devices with this error code.

  • capability (str) – List devices with this capability. For example: xapi

  • permission (str) – List devices with this permission.

  • mac (str) – List devices with this MAC address.

  • device_platform (DevicePlatform) – List devices with this device platform.

  • org_id (str) – List devices in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • planned_maintenance (MaintenanceMode) – List devices with this planned maintenance.

Returns:

Generator yielding Device instances

async details(device_id: str, org_id: str = None) Device[source]

Get Device Details Shows details for a device, by ID.

Specify the device ID in the deviceId parameter in the URI.

Parameters:
  • device_id (str) – A unique identifier for the device.

  • org_id (str)

Returns:

Device details

Return type:

Device

async delete(device_id: str, org_id: str = None)[source]

Delete a Device

Deletes a device, by ID.

Specify the device ID in the deviceId parameter in the URI.

Parameters:
  • device_id (str) – A unique identifier for the device.

  • org_id (str)

async modify_device_tags(device_id: str, op: TagOp, value: list[str] = None, org_id: str = None) Device[source]

Modify Device Tags

Update requests use JSON Patch syntax.

Parameters:
  • device_id (str) – A unique identifier for the device.

  • op (TagOp) – tag operation

  • value (list[str]) – list of tags

  • org_id (str)

Returns:

device details

Return type:

Device

async activation_code(workspace_id: str = None, person_id: str = None, model: str = None, org_id: str = None) ActivationCodeResponse[source]

Create a Device Activation Code

Generate an activation code for a device in a specific workspace by workspaceId or for a person by personId. This requires an auth token with the spark-admin:devices_write scope, and either identity:placeonetimepassword_create (allows creating activation codes for workspaces only) or identity:one_time_password (allows creating activation codes for workspaces or persons).

  • Adding a device to a workspace with calling type none or thirdPartySipCalling will reset the workspace calling type to freeCalling.

  • Either workspaceId or personId should be provided. If both are supplied, the request will be invalid.

  • If no model is supplied, the code returned will only be accepted on RoomOS devices.

  • If your device is a phone, you must provide the model as a field. You can get the model from the supported devices API.

Adding a device to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

When adding devices to a Webex Calling Professional licensed person or workspace, wait for each API call to finish before starting the next. This prevents race conditions that can cause errors when assigning primary versus secondary device status.

Parameters:
  • workspace_id (str) – The ID of the workspace where the device will be activated.

  • person_id (str) – The ID of the person who will own the device once activated.

  • model (str) – The model of the device being created.

  • org_id (str) – The organization associated with the activation code generated.

Return type:

ActivationCodeResponse

async create_by_mac_address(mac: str, workspace_id: str = None, person_id: str = None, model: str = None, password: str = None, org_id: str = None) Device | None[source]

Create a Device by MAC Address

CCreate a phone by its MAC address in a specific workspace or for a person.

Specify the mac, model and either workspaceId or personId.

  • You can get the model from the `supported devices

<https://developer.webex.com/docs/api/v1/device-call-settings/read-the-list-of-supported-devices>`_ API.

  • Either workspaceId or personId should be provided. If both are supplied, the request will be invalid.

  • The password field is only required for third party devices. You can obtain the required third party phone

configuration from here.

Adding a device to a person with a Webex Calling Standard license will disable Webex Calling across their Webex mobile, tablet, desktop, and browser applications.

When adding devices to a Webex Calling Professional licensed person or workspace, wait for each API call to finish before starting the next. This prevents race conditions that can cause errors when assigning primary versus secondary device status.

Parameters:
  • mac (str) – The MAC address of the device being created.

  • workspace_id (str) – The ID of the workspace where the device will be activated.

  • person_id (str) – The ID of the person who will own the device once activated.

  • model (str) – The model of the device being created.

  • password (str) – SIP password to be configured for the phone, only required with third party devices.

  • org_id (str) – The organization associated with the device.

Returns:

created device information

Return type:

Device

base = 'devices'
class wxc_sdk.as_api.AsDevicesDynamicSettingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Telephony devices API

async get_settings_groups(family_or_model_display_name: str = None, include_settings_type: SettingsType = None, org_id: str = None) DynamicSettingsGroups[source]

Get Settings Groups

This API returns the settingsGroups that define the structure and association of tags for dynamic device settings.

The settingsGroups are used to organize the tags into logical groups, making it easier to manage and configure dynamic device settings.

Parameters:
  • family_or_model_display_name (str) – Device family or model display name to filter the settingsGroups.

  • include_settings_type (SettingsType) – To show groups or tabs or both. Query param is case insensitive. Default is ALL.

  • org_id (str) – Settings groups for devices in this organization.

Return type:

DynamicSettingsGroups

async get_validation_schema(family_or_model_display_name: str = None, org_id: str = None) list[DeviceTag][source]

Get Validation Schema

This API returns the validation schema for tags of all or specific familyOrModelDisplayName.

The schema is used to validate the tag for devices in the Webex Calling platform. The schema includes information about the required fields, data types, and validation rules for each setting.

Parameters:
  • family_or_model_display_name (str) – Device family or model display name to filter the schema.

  • org_id (str) – Validation schema for devices in this organization.

Return type:

list[DeviceTag]

async update_specified_settings_for_the_device(device_id: str, tags: list[DevicePutItem] = None, org_id: str = None)[source]

Update specified settings for the device.

Modify dynamic settings for a specified device.

This API updates device settings based on the specified tags. If the tags field is empty, the request has no effect.

This requires a full, device, or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Device for which to update settings.

  • tags (list[DevicePutItem]) – Optional array of tag identifiers representing specific settings to update. If omitted or provided as an empty array, the request will have no effect.

  • org_id (str) – Organization to which the device belongs.

Return type:

None

async get_customer_device_settings(family_or_model_display_name: str, tags: list[str] = None, org_id: str = None) DeviceDynamicSettings[source]

Get Customer Device Dynamic Settings

Retrieve dynamic settings for specific device tags at customer level, allowing filters by familyOrModelDisplayName and tag identifier.

This API lets you request the values of multiple Device Settings at once by specifying a list of familyOrModelDisplayName and tag combinations.

This requires a full, device, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • family_or_model_display_name (str) – The family or model name for the device. If no tag is specified, all tags related to familyOrModelDisplayName are returned.

  • tags (list[str]) – Optional array of device tag identifiers to request settings for. Each identifier must have a length between 1 and 64 characters.

  • org_id (str) – List of device dynamic settings in this organization.

Return type:

CustomerDeviceDynamicSettings

async get_device_settings(device_id: str, tags: list[str] = None, org_id: str = None) DeviceDynamicSettings[source]

Get Device Dynamic Settings

Retrieve settings for a specified device.

This API retrieves device settings based on the specified tags; if the tags field is empty or missing, all settings for the device are returned.

This requires a full, device, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Device for which to retrieve settings.

  • tags (list[str]) – Optional array of tag identifiers representing specific settings to fetch. If omitted or provided as an empty array, all settings for the device will be returned.

  • org_id (str) – Organization to which the device belongs.

Return type:

DeviceDynamicSettings

async get_location_device_settings(location_id: str, family_or_model_display_name: str, tags: list[str] = None, org_id: str = None) DeviceDynamicSettings[source]

Get Location Device Dynamic Settings

Retrieve dynamic settings for specific device tags at the specified location level, allowing filters by familyOrModelDisplayName and tag identifier.

This API lets you request the values of multiple Device Settings at once by specifying a list of familyOrModelDisplayName and tag combinations for a specific location.

This requires a full, device, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • family_or_model_display_name (str) – The family or model name for the device. If no tag is specified, all tags related to familyOrModelDisplayName are returned.

  • tags (list[str]) – Optional array of device tag identifiers to request settings for. Each identifier must have a length between 1 and 64 characters.

  • org_id (str) – Unique identifier for the organization to which this location belongs.

Return type:

DeviceDynamicSettings

base = 'telephony/config'
class wxc_sdk.as_api.AsDialPlanApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(dial_plan_name: str = None, route_group_name: str = None, trunk_name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[DialPlan, None][source]

List all Dial Plans for the organization.

Dial plans route calls to on-premises destinations by use of the trunks or route groups with which the dial plan is associated. Multiple dial patterns can be defined as part of your dial plan. Dial plans are configured globally for an enterprise and apply to all users, regardless of location.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • dial_plan_name (str) – Return the list of dial plans matching the dial plan name.

  • route_group_name (str) – Return the list of dial plans matching the route group name.

  • trunk_name (str) – Return the list of dial plans matching the trunk name.

  • order (str) – Order the dial plans according to the designated fields. Available sort fields: name, routeName, routeType. Sort order is ascending by default

  • org_id (str) – List dial plans for this organization.

Returns:

async list(dial_plan_name: str = None, route_group_name: str = None, trunk_name: str = None, order: str = None, org_id: str = None, **params) list[DialPlan][source]

List all Dial Plans for the organization.

Dial plans route calls to on-premises destinations by use of the trunks or route groups with which the dial plan is associated. Multiple dial patterns can be defined as part of your dial plan. Dial plans are configured globally for an enterprise and apply to all users, regardless of location.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • dial_plan_name (str) – Return the list of dial plans matching the dial plan name.

  • route_group_name (str) – Return the list of dial plans matching the route group name.

  • trunk_name (str) – Return the list of dial plans matching the trunk name.

  • order (str) – Order the dial plans according to the designated fields. Available sort fields: name, routeName, routeType. Sort order is ascending by default

  • org_id (str) – List dial plans for this organization.

Returns:

async create(name: str, route_id: str, route_type: RouteType, dial_patterns: list[str] = None, org_id: str = None) CreateResponse[source]

Create a Dial Plan for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Creating a dial plan requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – A unique name for the dial plan.

  • route_id (str) – ID of route type associated with the dial plan.

  • route_type (wxc_sdk.common.RouteType) – Route Type associated with the dial plan.

  • dial_patterns (list[str]) – An Array of dial patterns

  • org_id (str) – Organization to which dial plan belongs.

Returns:

result of dial plan creation

Return type:

CreateResponse

async details(dial_plan_id: str, org_id: str = None) DialPlan[source]

Get a Dial Plan for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Retrieving a dial plan requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • dial_plan_id (str) – ID of the dial plan.

  • org_id (str) – Organization to which dial plan belongs.

Returns:

dial plan details

Return type:

DialPlan

async update(update: DialPlan, org_id: str = None)[source]

Modify a Dial Plan for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Modifying a dial plan requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • update – DialPlan objects with updated settings. Only name, route_id and route_type are considered. All three need to be set

  • org_id (str) – Organization to which dial plan belongs.

async delete_dial_plan(dial_plan_id: str, org_id: str = None)[source]

Delete a Dial Plan for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Deleting a dial plan requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • dial_plan_id (str) – ID of the dial plan.

  • org_id (str) – Organization to which dial plan belongs.

patterns_gen(dial_plan_id: str, org_id: str = None, dial_pattern: str = None, **params) AsyncGenerator[str, None][source]

Read the List of Dial Patterns

List all Dial Patterns for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • dial_plan_id (str) – ID of the dial plan.

  • org_id (str) – List dial patterns associated with a dial plan.

  • dial_pattern – An enterprise dial pattern is represented by a sequence of digits (1-9), followed by optional wildcard characters. Valid wildcard characters are ! (matches any sequence of digits) and X (matches a single digit, 0-9). The ! wildcard can only occur once at the end and only in an E.164 pattern

Returns:

list of patterns

Return type:

list[str]

async patterns(dial_plan_id: str, org_id: str = None, dial_pattern: str = None, **params) list[str][source]

Read the List of Dial Patterns

List all Dial Patterns for the organization.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • dial_plan_id (str) – ID of the dial plan.

  • org_id (str) – List dial patterns associated with a dial plan.

  • dial_pattern – An enterprise dial pattern is represented by a sequence of digits (1-9), followed by optional wildcard characters. Valid wildcard characters are ! (matches any sequence of digits) and X (matches a single digit, 0-9). The ! wildcard can only occur once at the end and only in an E.164 pattern

Returns:

list of patterns

Return type:

list[str]

async modify_patterns(dial_plan_id: str, dial_patterns: list[PatternAndAction], org_id: str = None)[source]

Modify dial patterns for the Dial Plan.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Modifying a dial pattern requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • dial_plan_id (str) – ID of the dial plan being modified.

  • dial_patterns (PatternAndAction) – Array of dial patterns to add or delete. Dial Pattern that is not present in the request is not modified.

  • org_id (str) – Organization to which dial plan belongs.

async delete_all_patterns(dial_plan_id: str, org_id: str = None)[source]

Delete all dial patterns from the Dial Plan.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Deleting dial pattern requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • dial_plan_id (str) – ID of the dial plan being modified.

  • org_id (str) – Organization to which dial plan belongs.

base = 'telephony/config/premisePstn/dialPlans'
class wxc_sdk.as_api.AsDigitPatternsApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

feature: str | None = 'outgoingPermission/digitPatterns'
async get_digit_patterns(entity_id: str, org_id: str = None) DigitPatterns[source]

Retrieve Digit Patterns

Retrieve digit patterns.

Digit patterns are used to bypass permissions.

Retrieving digit patterns requires a full or user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

UserOutgoingPermissionDigitPatternGetListObject

async details(entity_id: str, digit_pattern_id: str, org_id: str = None) DigitPattern[source]

Retrieve Digit Pattern Details

Retrieve the digit pattern details.

Digit patterns are used to bypass permissions.

Retrieving the digit pattern details requires a full or user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • digit_pattern_id (str) – Unique identifier for the digit pattern.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

UserDigitPatternObject

async create(entity_id: str, pattern: DigitPattern, org_id: str = None) str[source]

Create Digit Patterns

Create new digit pattern.

Digit patterns are used to bypass permissions.

Creating the digit pattern requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • pattern (DigitPattern) – new digit pattern

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

str

async update_category_control_settings(entity_id: str, use_custom_digit_patterns: bool = None, org_id: str = None)[source]

Modify the Digit Pattern Category Control Settings for the entity

Modifies whether this user uses the specified digit patterns when placing outbound calls or not.

Updating the digit pattern category control settings requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • use_custom_digit_patterns (bool) – When true, use custom settings for the digit patterns category of outgoing call permissions.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

async update(entity_id: str, settings: DigitPattern, org_id: str = None)[source]

Modify Digit Patterns

Modify Digit Patterns

Digit patterns are used to bypass permissions.

Updating the digit pattern requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • settings (DigitPattern) – new digit pattern settings

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

async delete(entity_id: str, digit_pattern_id: str, org_id: str = None)[source]

Delete a Digit Pattern

Delete Digit Pattern.

Digit patterns are used to bypass permissions.

Deleting the digit pattern requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • digit_pattern_id (str) – Unique identifier for the digit pattern.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

async delete_all(entity_id: str, org_id: str = None)[source]

Delete all Digit Patterns.

Digit patterns are used to bypass permissions.

Deleting the digit patterns requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for location, person, workspace, or virtual line.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsDisableCallingLocationJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(org_id: str = None, **params) AsyncGenerator[DisableCallingLocationJobStatus, None][source]

Get a List of Disable Calling Location Jobs

Get a List of Disable Calling Location Jobs for the organization.

Retrieving the list of disable calling location jobs requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List disable calling location jobs for this organization.

Returns:

Generator yielding DisableCallingLocationJobStatus instances

async list(org_id: str = None, **params) list[DisableCallingLocationJobStatus][source]

Get a List of Disable Calling Location Jobs

Get a List of Disable Calling Location Jobs for the organization.

Retrieving the list of disable calling location jobs requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List disable calling location jobs for this organization.

Returns:

Generator yielding DisableCallingLocationJobStatus instances

async initiate(location_id: str, location_name: str = None, force_delete: bool = None, org_id: str = None) DisableCallingLocationJobStatus[source]

Disable a Location for Webex Calling.

Initiating a disable calling location job requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

The API returns a jobId that can be used with other job-related APIs to track the status and progress of the disable operation.

Parameters:
  • location_id (str) – Unique identifier for the calling location to disable.

  • location_name (str) – Name of the calling location to disable.

  • force_delete (bool) – Force delete is only applicable when calling features like call queues, hunt groups, virtual lines, etc or a trunk that is not in use exists in the calling location and customer still wants to disable the calling location.

  • org_id (str) – Organization ID for disabling the location for Webex Calling.

Return type:

DisableCallingLocationJobStatus

async status(job_id: str, org_id: str = None) DisableCallingLocationJobStatus[source]

Get Disable Calling Location Job Status

Get the status and details of a specific disable calling location job.

Retrieving job status requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Unique identifier for the job.

  • org_id (str) – Organization ID for which to retrieve the job status.

Return type:

DisableCallingLocationJobStatus

async pause(job_id: str, org_id: str = None)[source]

Pause a Disable Calling Location Job

Pause an in-progress disable calling location job. The job must be in the PROCESSING state to be paused.

Pausing a job requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Unique identifier for the job to pause.

  • org_id (str) – Organization ID for which to pause the job.

Return type:

None

async resume(job_id: str, org_id: str = None)[source]

Resume a Paused Disable Calling Location Job

Resume a previously paused disable calling location job. The job must be in the PAUSED state to be resumed.

Resuming a job requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Unique identifier for the job to resume.

  • org_id (str) – Organization ID for which to resume the job.

Return type:

None

errors_gen(job_id: str, org_id: str = None, **params) AsyncGenerator[JobErrorItem, None][source]

Retrieve Errors for a Disable Calling Location Job

Retrieve detailed error information for a disable calling location job. This is particularly useful for jobs that have failed or encountered errors during processing.

Retrieving job errors requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Possible error codes include:

  • BATCH-1012002 - Unable to delete calling location from Broadworks.

  • BATCH-1012004 - Safe delete checks failed.

  • BATCH-1012005 - Failed to perform safe delete checks.

  • BATCH-1012006 - Trunks in use in the location. Count: {0}

  • BATCH-1012007 - Users associated with the location. Count: {0}

  • BATCH-1012008 - Workspaces associated with the location. Count: {0}

  • BATCH-1012009 - Virtual lines associated with the location. Count: {0}

  • BATCH-1012010 - Number order is pending.

  • BATCH-1012011 - Features associated with the location. This is a blocking error, use forceDelete to disable the calling location.

  • BATCH-1012012 - Not allowed to delete the last calling location. Calling requires at least one active location in the organization, This is a blocking error.

  • BATCH-1012013 - Local gateway’s associated with the location. Count: {0}. This is a blocking error, use forceDelete to disable the calling location.

  • BATCH-1012014 - Location not found.

Parameters:
  • job_id (str) – Unique identifier for the job to get errors for.

  • org_id (str) – Organization ID for disable calling location job.

async errors(job_id: str, org_id: str = None, **params) list[JobErrorItem][source]

Retrieve Errors for a Disable Calling Location Job

Retrieve detailed error information for a disable calling location job. This is particularly useful for jobs that have failed or encountered errors during processing.

Retrieving job errors requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Possible error codes include:

  • BATCH-1012002 - Unable to delete calling location from Broadworks.

  • BATCH-1012004 - Safe delete checks failed.

  • BATCH-1012005 - Failed to perform safe delete checks.

  • BATCH-1012006 - Trunks in use in the location. Count: {0}

  • BATCH-1012007 - Users associated with the location. Count: {0}

  • BATCH-1012008 - Workspaces associated with the location. Count: {0}

  • BATCH-1012009 - Virtual lines associated with the location. Count: {0}

  • BATCH-1012010 - Number order is pending.

  • BATCH-1012011 - Features associated with the location. This is a blocking error, use forceDelete to disable the calling location.

  • BATCH-1012012 - Not allowed to delete the last calling location. Calling requires at least one active location in the organization, This is a blocking error.

  • BATCH-1012013 - Local gateway’s associated with the location. Count: {0}. This is a blocking error, use forceDelete to disable the calling location.

  • BATCH-1012014 - Location not found.

Parameters:
  • job_id (str) – Unique identifier for the job to get errors for.

  • org_id (str) – Organization ID for disable calling location job.

base = 'telephony/config'
class wxc_sdk.as_api.AsDndApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s DND settings. Also used for workspaces and virtual lines

feature: str | None = 'doNotDisturb'
async read(entity_id: str, org_id: str = None) DND[source]

Read Do Not Disturb Settings for an entity

Retrieve an entity’s Do Not Disturb Settings

When enabled, this feature will give all incoming calls the busy treatment. Optionally, you can enable a Ring Reminder to play a brief tone on your desktop phone when you receive incoming calls.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

DND settings

Return type:

DND

async configure(entity_id: str, dnd_settings: DND, org_id: str = None)[source]

Configure Do Not Disturb Settings for an entity

Configure an entity’s Do Not Disturb Settings

When enabled, this feature will give all incoming calls the busy treatment. Optionally, you can enable a Ring Reminder to play a brief tone on your desktop phone when you receive incoming calls.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by an entity to update their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • dnd_settings (DND) – new setting to be applied

  • org_id – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsECBNApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

Emergency Callback Configurations can be enabled at the organization level, Users without individual telephone numbers, such as extension-only users, must be set up with accurate Emergency Callback Numbers (ECBN) to enable them to make emergency calls. These users can either utilize the default ECBN for their location or be assigned another specific telephone number from that location for emergency purposes.

Viewing these settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read. Modifying these settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

feature: str | None = 'emergencyCallbackNumber'
async read(entity_id: str, org_id: str = None) PersonECBN[source]

Get an entity’s Emergency Callback Number

Retrieve an entity’s emergency callback number settings. Also applies to workspaces and virtual lines.

Emergency Callback Configurations can be enabled at the organization level, Users without individual telephone numbers, such as extension-only users, must be set up with accurate Emergency Callback Numbers (ECBN) and Emergency Service Addresses to enable them to make emergency calls. These users can either utilize the default ECBN for their location or be assigned another specific telephone number from that location for emergency purposes.

To retrieve an entity’s callback number requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity, virtual line, or workspace

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

PersonECBN

async configure(entity_id: str, selected: SelectedECBN = None, location_member_id: str = None, elin_enabled: bool = None, elin_for_webex_app_enabled: bool = None, org_id: str = None)[source]

Update an entity’s Emergency Callback Number.

Update an entity’s emergency callback number settings. Also applies to workspaces and virtual lines.

Emergency Callback Configurations can be enabled at the organization level, Users without individual telephone numbers, such as extension-only users, must be set up with accurate Emergency Callback Numbers (ECBN) to enable them to make emergency calls. These users can either utilize the default ECBN for their location or be assigned another specific telephone number from that location for emergency purposes.

To update an emergency callback number requires a full, location, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for the entity, virtual line, or workspace.

  • selected (SelectedECBN) – The source from which the emergency calling line ID (CLID) is selected for an actual emergency call.

  • location_member_id (str) – Member ID of person/workspace/virtual line within the location.

  • elin_enabled (bool) – Indicates whether this person is allowed to use an Emergency Location Identification Number (ELIN) for emergency calls made from one of its devices.

  • elin_for_webex_app_enabled (bool) – Indicates whether this member is allowed to use an Emergency Location Identification Number (ELIN) for emergency calls made using Webex App.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async dependencies(entity_id: str, org_id: str = None) ECBNDependencies[source]

Retrieve an entity’s Emergency Callback Number Dependencies

Retrieve Emergency Callback Number dependencies for an entity. Also applies to workspaces and virtual lines.

Emergency Callback Configurations can be enabled at the organization level, Users without individual telephone numbers, such as extension-only users, must be set up with accurate Emergency Call Back Numbers (ECBN) to enable them to make emergency calls. These users can either utilize the default ECBN for their location or be assigned another specific telephone number from that location for emergency purposes.

Retrieving the dependencies requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person, virtual line, or workspace

  • org_id (str) – Retrieve Emergency Callback Number attributes for this organization.

Return type:

ECBNDependencies

base = ''
class wxc_sdk.as_api.AsEmergencyAddressApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API to handle emergency address settings for a location

async add_to_location(location_id: str, address: EmergencyAddress | SuggestedEmergencyAddress, org_id: str = None) str[source]

Add an Emergency Address to a Location

Adds a new emergency address to the specified location. On success, returns the unique identifier of the newly created emergency address.

Emergency address settings allow the admin to configure or update the physical address associated with a phone number or a location.

Adding emergency address to a location requires a full administrator auth token with scope of spark-admin:telephony_pstn_write.

Parameters:
  • location_id (str) – Location to which the emergency address will be added.

  • address (Union[EmergencyAddress, SuggestedEmergencyAddress]) – Emergency address to add.

  • org_id (str) – Adding emergency address for a location in this organization.

Return type:

str

async lookup_for_location(location_id: str, address: EmergencyAddress | SuggestedEmergencyAddress, org_id: str = None) list[SuggestedEmergencyAddress][source]

Emergency Address Lookup to Verify if Address is Valid

Returns a suggested address. If the input address is valid and unchanged, no errors are returned. If the input address requires corrections, the response includes a suggested address along with error details.

Emergency address settings allow the admin to configure or update the physical address associated with a phone number or a location.

Emergency address lookup to verify if address is valid requires a full administrator auth token with scope of spark-admin:telephony_pstn_read.

Parameters:
  • location_id (str) – Emergency address lookup for this location.

  • address (Union[EmergencyAddress, SuggestedEmergencyAddress]) – Emergency address to lookup.

  • org_id (str) – Emergency address lookup for this organization.

Return type:

list[SuggestedEmergencyAddress]

async update_for_location(location_id: str, address_id: str, address: EmergencyAddress | SuggestedEmergencyAddress, org_id: str = None)[source]

Update the Emergency Address of a Location

Updates the emergency address of the specified location.

Emergency address settings allow the admin to configure or update the physical address associated with a phone number or a location.

Updating the emergency address of a location requires a full administrator auth token with scope of spark-admin:telephony_pstn_write.

Parameters:
  • location_id (str) – Location for which the emergency address will be updated.

  • address_id (str) – Unique identifier for the emergency address that will be updated.

  • address (Union[EmergencyAddress, SuggestedEmergencyAddress]) – Emergency address to update.

  • org_id (str) – Updating the emergency address of a location in this organization.

Return type:

None

async update_for_phone_number(phone_number: str, emergency_address: EmergencyAddress | SuggestedEmergencyAddress = None, org_id: str = None)[source]

Update the emergency address for a phone number.

Emergency address settings allow the admin to configure or update the physical address associated with a phone number or a location.

Updating the emergency address for a phone number requires a full administrator auth token with scope of spark-admin:telephony_pstn_write.

Parameters:
  • phone_number (str) – Update the emergency address for this phone number.

  • emergency_address (Union[EmergencyAddress, SuggestedEmergencyAddress]) – Emergency address to update. Using an empty JSON object deletes the custom emergency address for the number and replaces it with the location’s default emergency address.

  • org_id (str) – Update the emergency address of phone number in this organization.

Return type:

None

base = 'telephony/pstn'
class wxc_sdk.as_api.AsEventsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Events are generated when actions take place within Webex, such as when someone creates or deletes a message. The Events API can only be used by a Compliance Officer with an API access token that contains the spark-compliance:events_read scope. See the Compliance Guide for more information.

list_gen(resource: EventResource = None, type_: EventType = None, actor_id: str = None, from_: str | datetime = None, to_: str | datetime = None, **params) AsyncGenerator[ComplianceEvent, None][source]

List events in your organization. Several query parameters are available to filter the response.

Long result sets will be split into pages.

Parameters:
  • resource (EventResource) – List events with a specific resource type.

  • type (EventType) – List events with a specific event type.

  • actor_id (str) – List events performed by this person, by person ID.

  • from (str) – List events which occurred after a specific date and time.

  • to (str) – List events that occurred before a specific date and time. If not specified, events up to the present time will be listed. Cannot be set to a future date relative to the current time.

async list(resource: EventResource = None, type_: EventType = None, actor_id: str = None, from_: str | datetime = None, to_: str | datetime = None, **params) list[ComplianceEvent][source]

List events in your organization. Several query parameters are available to filter the response.

Long result sets will be split into pages.

Parameters:
  • resource (EventResource) – List events with a specific resource type.

  • type (EventType) – List events with a specific event type.

  • actor_id (str) – List events performed by this person, by person ID.

  • from (str) – List events which occurred after a specific date and time.

  • to (str) – List events that occurred before a specific date and time. If not specified, events up to the present time will be listed. Cannot be set to a future date relative to the current time.

async details(event_id: str) ComplianceEvent[source]

Shows details for an event, by event ID. Specify the event ID in the eventId parameter in the URI.

Parameters:

event_id (str) – The unique identifier for the event.

base = 'events'
class wxc_sdk.as_api.AsExecAssistantApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s exec assistant settings

feature: str | None = 'executiveAssistant'
async read(person_id: str, org_id: str = None) ExecAssistantType[source]

Retrieve Executive Assistant Settings for a Person

Retrieve the executive assistant settings for the specified personId.

People with the executive service enabled, can select from a pool of assistants who have been assigned the executive assistant service and who can answer or place calls on their behalf. Executive assistants can set the call forward destination and join or leave an executive’s pool.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

exec assistant setting

Return type:

ExecAssistantType

async configure(person_id: str, setting: ExecAssistantType, org_id: str = None)[source]

Modify Executive Assistant Settings for a Person

Modify the executive assistant settings for the specified personId.

People with the executive service enabled, can select from a pool of assistants who have been assigned the executive assistant service and who can answer or place calls on their behalf. Executive assistants can set the call forward destination and join or leave an executive’s pool.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • setting (ExecAssistantType) – New exex assistant settings

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsExecutiveSettingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Person executive settings

async alert_settings(person_id: str, org_id: str = None) ExecAlert[source]

Get Person Executive Alert Settings

Get executive alert settings for the specified person.

Executive Alert settings in Webex allow you to control how calls are routed to executive assistants, including alerting mode, rollover options, and caller ID presentation. You can configure settings such as sequential or simultaneous alerting, and specify what happens when calls aren’t answered.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • org_id (str) – Organization ID for the person.

Return type:

ExecAlert

async update_alert_settings(person_id: str, settings: ExecAlert, org_id: str = None) None[source]

Modify Person Executive Alert Settings

Update executive alert settings for the specified person.

Executive Alert settings in Webex allow you to control how calls are routed to executive assistants, including alerting mode, rollover options, and caller ID presentation. You can configure settings such as sequential or simultaneous alerting, and specify what happens when calls aren’t answered.

This API requires a full, user, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • settings (ExecutiveAlertSettings) – Alert Settings for the person.

  • org_id (str) – Organization ID for the person.

Return type:

None

async assigned_assistants(person_id: str, org_id: str = None) list[ExecOrAssistant][source]

Get Person Executive Assigned Assistants

Get list of assigned executive assistants for the specified person.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • org_id (str) – Organization ID for the person.

Return type:

list[ExecOrAssistant]

async update_assigned_assistants(person_id: str, assistant_ids: list[str] = None, org_id: str = None) None[source]

Modify Person Executive Assigned Assistants

Update assigned executive assistants for the specified person.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a full, user, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • assistant_ids (list[str]) – List of people to be assigned as assistant. To remove all assigned assistants, set assistantIds to null.

  • org_id (str) – Organization ID for the person.

Return type:

None

async executive_assistant_settings(person_id: str, org_id: str = None) AssistantSettings[source]

Get Person Executive Assistant Settings

Get executive assistant settings for the specified person when person is configured as executive assistant.

Executive assistants can make, answer, intercept, and route calls appropriately on behalf of their executive. Assistants can also set the call forwarding destination, and join or leave an executive’s pool.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • org_id (str) – Organization ID for the person.

Return type:

AssistantSettings

async update_executive_assistant_settings(person_id: str, settings: AssistantSettings, org_id: str = None) None[source]

Modify Person Executive Assistant Settings

Update executive assistant settings for the specified person when person is configured as executive assistant.

Executive assistants can make, answer, intercept, and route calls appropriately on behalf of their executive. Assistants can also set the call forwarding destination, and join or leave an executive’s pool.

This API requires a full, user, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • settings (AssistantSettings) – Person Executive Assistant Settings

  • org_id (str) – Organization ID for the person.

Return type:

None

async executive_available_assistants(person_id: str, name: str = None, phone_number: str = None, org_id: str = None, **params: Any) list[ExecOrAssistant][source]

Get Person Executive Available Assistants

Retrieves a list of people available for assignment as executive assistants to the specified person.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • name (str) – Only return people with the matching name (person’s first and last name combination).

  • phone_number (str) – Only return people with the matching phone number or extension.

  • org_id (str) – Organization ID for the person.

Returns:

list of available assistants

async executive_call_filtering_settings(person_id: str, org_id: str = None) ExecCallFiltering[source]

Get Person Executive Call Filtering Settings

Retrieve the executive call filtering settings for the specified person.

Executive Call Filtering in Webex allows you to control which calls are allowed to reach the executive assistant based on custom criteria, such as specific phone numbers or call types. You can enable or disable call filtering and configure filter rules to manage incoming calls.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read

Parameters:
  • person_id (str) – A unique identifier for the person.

  • org_id (str) – Organization ID for the user.

Return type:

ExecCallFiltering

async update_executive_call_filtering_settings(person_id: str, settings: ExecCallFiltering, org_id: str = None) None[source]

Modify Person Executive Call Filtering Settings

Update the executive call filtering settings for the specified person.

Executive Call Filtering in Webex allows you to control which calls are allowed to reach the executive assistant based on custom criteria, such as specific phone numbers or call types. You can enable or disable call filtering and configure filter rules to manage incoming calls.

This API requires a full, user, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • settings (ExecCallFiltering) – Person Executive Call Filtering Settings

  • org_id (str) – Organization ID for the user.

Return type:

None

async create_call_filtering_criteria(person_id: str, settings: ExecCallFilteringCriteria, org_id: str = None) str[source]

Add Person Executive Call Filtering Criteria

Create a new executive call filtering criteria configuration for the specified person.

Executive Call Filtering Criteria in Webex allows you to define detailed filter rules for incoming calls. This API creates a new filter rule with the specified configuration, including schedule, phone numbers, and call routing preferences.

This API requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • settings (ExecCallFilteringCriteria) – Call Filtering Settings

  • org_id (str) – Organization ID for the user.

Return type:

str

async delete_call_filtering_criteria(person_id: str, id: str, org_id: str = None) None[source]

Delete Person Executive Call Filtering Criteria

Delete a specific executive call filtering criteria configuration for the specified person.

Executive Call Filtering Criteria in Webex allows you to manage detailed filter rules for incoming calls. This API removes a specific filter rule by its unique identifier.

This API requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL2RHVnpkRjltYVd4MFpYST0.

  • org_id (str) – Organization ID for the user.

Return type:

None

async get_filtering_criteria(person_id: str, id: str, org_id: str = None) ExecCallFilteringCriteria[source]

Get Person Executive Call Filtering Criteria Settings

Retrieve the executive call filtering criteria settings for the specified person.

Executive Call Filtering Criteria in Webex allows you to retrieve the detailed configuration for a specific filter rule. This includes schedule settings, phone number filters, and call routing preferences for executive call filtering.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria.

  • org_id (str) – Organization ID for the user.

Return type:

ExecCallFilteringCriteria

async update_call_filtering_criteria(person_id: str, id: str, settings: ExecCallFilteringCriteria, org_id: str = None) None[source]

Modify Person Executive Call Filtering Criteria Settings

Update the executive call filtering settings for the specified person.

Executive Call Filtering in Webex allows you to control which calls are allowed to reach the executive assistant based on custom criteria, such as specific phone numbers or call types. You can enable or disable call filtering and configure filter rules to manage incoming calls.

This API requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL2RHVnpkRjltYVd4MFpYST0.

  • settings (ExecCallFilteringCriteria) – Call Filtering Settings

  • org_id (str) – Organization ID for the user.

Return type:

None

async screening_settings(person_id: str, org_id: str = None) ExecScreening[source]

Get Person Executive Screening Settings

Get executive screening settings for the specified person.

Executive Screening in Webex allows you to manage how incoming calls are screened and alerted based on your preferences. You can enable or disable executive screening and configure alert types and locations for notifications.

This API requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • org_id (str) – Organization ID for the person.

Return type:

ExecScreening

async update_screening_settings(person_id: str, settings: ExecScreening, org_id: str = None) None[source]

Modify Person Executive Screening Settings

Update executive screening settings for the specified person.

Executive Screening in Webex allows you to manage how incoming calls are screened and alerted based on your preferences. You can enable or disable executive screening and configure alert types and locations for notifications.

This API requires a full, user, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • settings (ExecScreening) – Screening Settings

  • org_id (str) – Organization ID for the person.

Return type:

None

base = ''
class wxc_sdk.as_api.AsFeatureAccessApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

End user Feature Access API

async read_default() FeatureAccessSettings[source]

Read Default Feature Access Settings for Person

Read the default feature access configuration for users in the organization. It allows administrators to review the baseline feature availability settings that will be applied to new users by default, ensuring consistency in user experience and policy enforcement.

This API is part of the organizational-level user configuration management for feature access. It is used to define the default settings that control which Webex features are enabled or disabled when users are provisioned. In Control Hub, this corresponds to the “Default User Settings” under Calling or Telephony, providing centralized control over user capabilities across the organization.

To call this API, an administrator must use a full, or read-only administrator auth token with the spark-admin:telephony_config_read scope.

Return type:

FeatureAccessSettings

async update_default(settings: FeatureAccessSettings)[source]

Update Default Person Feature Access Configuration

Updates the default feature access configuration for users in the organization. It allows administrators to modify the baseline settings that determine which Webex features are enabled or disabled for users by default, ensuring new users are provisioned with consistent access controls.

This API is part of the organization-level user configuration management for feature access. It supports defining and updating default settings that apply automatically to all newly onboarded users. In Control Hub, this corresponds to the “Default User Settings” section for Calling or Telephony, enabling centralized and scalable configuration of user capabilities.

To use this API, an administrator must authenticate with a full, or device administrator auth token. The token must include the spark-admin:telephony_config_write scope.

Parameters:

settings (FeatureAccessSettings) – The feature access settings to be updated.

Return type:

None

async read(person_id: str) UserFeatureAccessSettings[source]

Read Feature Access Settings for a Person

Read the feature access configuration for the current user within the organization. It allows administrators to read the telephony settings, including device and location configurations, specific to that user’s role and access privileges. This API is useful for managing and verifying user-specific feature access within the broader telephony system.

The feature is part of the organization’s telephony configuration management. It provides insight into the settings and permissions that control how telephony services are assigned and configured for individual users. This functionality is available through the Control Hub and allows for the management of user access to various telephony-related features.

To access this API, the user must possess a full, or read-only administrator role. The authentication token used must include the spark-admin:telephony_config_read scope, granting the necessary permissions to read the telephony configuration for the user in question.

Parameters:

person_id (str) – User ID of the Organization.

Return type:

UserFeatureAccessSettings

async update(person_id: str, settings: FeatureAccessSettings)[source]

Update a Person’s Feature Access Configuration

Update the feature access configuration for the current user within the organization. It enables administrators to modify the telephony settings, including device and location configurations, specific to the user’s role and access privileges. This API is useful for making adjustments to user-specific feature access within the telephony system.

The feature is part of the organization’s telephony configuration management. It provides control over the settings and permissions that govern how telephony services are assigned and configured for individual users. This functionality is available through the Control Hub and enables the modification of user access to various telephony-related features.

To use this API, an administrator must authenticate with a full, or device administrator auth token. The authentication token used must include the spark-admin:telephony_config_write scope, granting the necessary permissions to update the telephony configuration for the user in question.

Parameters:
  • person_id (str) – User ID of the Organization.

  • settings (FeatureAccessSettings) – The feature access settings to be updated.

Return type:

None

async reset(person_id: str)[source]

Reset a Person’s Feature Access Configuration to the Organization’s Default Settings

Reset of a user’s feature access configuration to the organization’s default settings. It ensures that any specific feature configurations set by an administrator for an individual user are overridden and replaced with the global configuration of the organization. This process helps to maintain consistency in feature access across all users, especially when administrators want to ensure that a user is subject to the organization’s global settings rather than personalized settings.

The overall feature, managed through the organization’s Control Hub, involves the configuration and customization of feature access for users. Administrators can tailor these settings to individual users based on their roles or needs, but sometimes a global reset to the default configuration is necessary. The reset API simplifies this by programmatically resetting a user’s feature access, which can be crucial when managing large teams or updating organizational policies that affect user privileges across multiple devices or locations.

To use this API, an administrator must authenticate with a full, or device administrator auth token. This ensures the individual has the necessary privileges to make changes to user configurations. Furthermore, the authentication token used must include the spark-admin:telephony_config_write scope, which grants the required permissions to modify the telephony configuration for the user. This combination of roles and scopes ensures that only authorized administrators can reset the feature access configuration.

Parameters:

person_id (str) – User ID of the Organization.

Return type:

None

base = 'telephony'
class wxc_sdk.as_api.AsFeatureSelector(*values)[source]

Bases: str, SafeEnum

An enumeration.

queues = 'queues'
huntgroups = 'huntGroups'
auto_attendants = 'autoAttendants'
class wxc_sdk.as_api.AsForwardingApi(session: AsRestSession, feature_selector: AsFeatureSelector)[source]

Bases: AsApiChild

API for forwarding settings on call queues, hunt groups, and auto attendants

__init__(session: AsRestSession, feature_selector: AsFeatureSelector)[source]
async settings(location_id: str, feature_id: str, org_id: str = None) CallForwarding[source]

Retrieve Call Forwarding settings for the designated feature including the list of call forwarding rules.

Also used to retrieve Call Forwarding settings for Hunt Groups.

The call forwarding feature allows you to direct all incoming calls based on specific criteria that you define. Below are the available options for configuring your call forwarding: 1. Always forward calls to a designated number. 2. Forward calls to a designated number based on certain criteria. 3. Forward calls using different modes.

Retrieving call forwarding settings requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location in which this feature exists.

  • feature_id (str) – Retrieve the call forwarding settings for this entity.

  • org_id (str) – Retrieve call forwarding settings from this organization.

Returns:

call forwarding settings

Return type:

class:CallForwarding

async update(location_id: str, feature_id: str, forwarding: CallForwarding, org_id: str = None)[source]

Update Call Forwarding Settings for a feature

Update Call Forwarding settings for the designated feature.

Updating call forwarding settings for a feature requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this feature exists.

  • feature_id (str) – Update call forwarding settings for this feature.

  • forwarding (CallForwarding) – Forwarding settings

  • org_id (str) – Update feature forwarding settings from this organization.

async create_call_forwarding_rule(location_id: str, feature_id: str, forwarding_rule: ForwardingRuleDetails, org_id: str = None) str[source]

Create a Selective Call Forwarding Rule for a feature

A selective call forwarding rule for a feature allows calls to be forwarded or not forwarded to the designated number, based on the defined criteria.

Note that the list of existing call forward rules is available in the feature’s call forwarding settings.

Creating a selective call forwarding rule requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Forwarding Rule ID will change upon modification of the Call Forwarding Rule name.

Parameters:
  • location_id (str) – Location in which the call queue exists.

  • feature_id (str) – Create the rule for this feature

  • forwarding_rule (ForwardingRuleDetails) – details of rule to be created

  • org_id (str) – Create the feature forwarding rule for this organization.

Returns:

forwarding rule id

Return type:

str

async call_forwarding_rule(location_id: str, feature_id: str, rule_id: str, org_id: str = None) ForwardingRuleDetails[source]

Retrieve a Selective Call Forwarding Rule’s settings for the designated feature.

A selective call forwarding rule for feature allows calls to be forwarded or not forwarded to the designated number, based on the defined criteria.

Note that the list of existing call forward rules is available in the feature’s call forwarding settings.

Retrieving a selective call forwarding rule’s settings requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

NOTE: The Call Forwarding Rule ID will change upon modification of the Call Forwarding Rule name. :param location_id: Location in which the feature exists. :type location_id: str :param feature_id: Retrieve setting for a rule for this feature. :type feature_id: str :param rule_id: feature rule you are retrieving settings for. :type rule_id: str :param org_id: Retrieve feature forwarding settings from this organization. :type org_id: str :return: call forwarding rule details :rtype: ForwardingRuleDetails

async update_call_forwarding_rule(location_id: str, feature_id: str, rule_id: str, forwarding_rule: ForwardingRuleDetails, org_id: str = None) str[source]

Update a Selective Call Forwarding Rule’s settings for the designated feature.

A selective call forwarding rule for feature allows calls to be forwarded or not forwarded to the designated number, based on the defined criteria.

Note that the list of existing call forward rules is available in the feature’s call forwarding settings.

Updating a selective call forwarding rule’s settings requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Forwarding Rule ID will change upon modification of the Call Forwarding Rule name.

Parameters:
  • location_id (str) – Location in which the feature exists.

  • feature_id (str) – Update settings for a rule for this feature.

  • rule_id (str) – feature you are updating settings for.

  • forwarding_rule (ForwardingRuleDetails) – forwarding rule details for update

  • org_id (str) – Update feature rule settings for this organization.

Returns:

new call forwarding rule id

Return type:

str

async delete_call_forwarding_rule(location_id: str, feature_id: str, rule_id: str, org_id: str = None) None[source]

Delete a Selective Call Forwarding Rule for the designated feature, including hunt groups.

A selective call forwarding rule for a feature allows calls to be forwarded or not forwarded to the designated number, based on the defined criteria.

Note that the list of existing call forward rules is available in the feature’s call forwarding settings.

Deleting a selective call forwarding rule requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The Call Forwarding Rule ID will change upon modification of the Call Forwarding Rule name.

Parameters:
  • location_id (str) – Location in which this feature exists.

  • feature_id (str) – Delete the rule for this feature.

  • rule_id (str) – Feature rule you are deleting.

  • org_id (str) – Delete feature rule from this organization.

Return type:

None

async switch_mode_for_call_forwarding(location_id: str, feature_id: str, org_id: str = None) None[source]

Switch Mode for Call Forwarding Settings for a feature, including auto attendants

Switches the current operating mode of the feature to the mode as per normal operations.

Operating modes allow call forwarding to be configured based on predefined schedules, enabling different routing behaviors during business hours, after hours, or holidays.

Switching operating mode for a feature requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which this feature exists.

  • feature_id (str) – Switch operating mode to normal operations for this feature.

  • org_id (str) – Switch operating mode as per normal operations for this feature from this organization.

Return type:

None

base = ''
class wxc_sdk.as_api.AsGoOverrideApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() bool[source]

Get My WebexGoOverride Settings

Retrieve “Mobile User Aware” override setting for Do Not Disturb feature.

When enabled, a mobile device will still ring even if Do Not Disturb, Quiet Hours, or Presenting Status are enabled.

When disabled, a mobile device will return busy for all incoming calls if Do Not Disturb, Quiet Hours, or Presenting Status are enabled.

It requires a user auth token with spark:telephony_config_read scope.

Return type:

bool

async update(enabled: bool = None)[source]

Modify My WebexGoOverride Settings

Update “Mobile User Aware” override setting for Do Not Disturb feature.

When enabled, a mobile device will still ring even if Do Not Disturb, Quiet Hours, or Presenting Status are enabled.

When disabled, a mobile device will return busy for all incoming calls if Do Not Disturb, Quiet Hours, or Presenting Status are enabled.

It requires a user auth token with the spark:telephony_config_write scope.

Parameters:

enabled (bool) – True if the “Mobile User Aware” override setting for Do Not Disturb feature is enabled.

Return type:

None

base = 'telephony/config/people/me/settings/webexGoOverride'
class wxc_sdk.as_api.AsGroupsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Groups contain a collection of members in Webex. A member represents a Webex user. A group is used to assign templates and settings to the set of members contained in a group. To create and manage a group, including adding and removing members from a group, an auth token containing the identity:groups_rw is required. Searching and viewing members of a group requires an auth token with a scope of identity:groups_read. To learn more about managing people to use as members in the /groups API please refer to the People API.

list_gen(include_members: bool = None, attributes: str = None, sort_by: str = None, sort_order: str = None, list_filter: str = None, start_index: int = None, count: int = None, org_id: str = None, **params) AsyncGenerator[Group, None][source]

List groups in your organization.

Parameters:
  • include_members (bool) – Optionally return group members in the response. The maximum number of members returned is 500.

  • attributes (str) – The attributes to return.

  • list_filter (str) – Searches the group by displayName with an operator and a value. The available operators are eq (equal) and sw (starts with). Only displayName can be used to filter results.

  • sort_by (str) – Sort the results based by group displayName.

  • sort_order (str) – Sort results alphabetically by group display name, in ascending or descending order.

  • start_index (int) – The index to start for group pagination.

  • count (int) – Specifies the desired number of search results per page.

  • org_id (str) – List groups in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • params

Returns:

generator of Group objects

async list(include_members: bool = None, attributes: str = None, sort_by: str = None, sort_order: str = None, list_filter: str = None, start_index: int = None, count: int = None, org_id: str = None, **params) list[Group][source]

List groups in your organization.

Parameters:
  • include_members (bool) – Optionally return group members in the response. The maximum number of members returned is 500.

  • attributes (str) – The attributes to return.

  • list_filter (str) – Searches the group by displayName with an operator and a value. The available operators are eq (equal) and sw (starts with). Only displayName can be used to filter results.

  • sort_by (str) – Sort the results based by group displayName.

  • sort_order (str) – Sort results alphabetically by group display name, in ascending or descending order.

  • start_index (int) – The index to start for group pagination.

  • count (int) – Specifies the desired number of search results per page.

  • org_id (str) – List groups in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • params

Returns:

generator of Group objects

async create(settings: Group) Group[source]

Create a new group using the provided settings. Only display_name is mandatory

Parameters:

settings (Group) – settings for new group

Returns:

new group

Return type:

Group

async details(group_id: str, include_members: bool = None) Group[source]

Get Group Details

Get details for a group, by ID.

Optionally, the members may be retrieved with this request. The maximum number of members returned is 500.

Parameters:
  • group_id (str) – A unique identifier for the group.

  • include_members (bool) – Include the members as part of the response.

Return type:

Group

members_gen(group_id: str, **params) AsyncGenerator[GroupMember, None][source]

Query members of a group

Parameters:
  • group_id (str) – group id

  • params

Returns:

generator of GroupMember instances

async members(group_id: str, **params) list[GroupMember][source]

Query members of a group

Parameters:
  • group_id (str) – group id

  • params

Returns:

generator of GroupMember instances

async update(group_id: str, settings: Group = None, remove_all: bool = None) Group[source]

Update a Group

Update the group details, by ID.

Parameters:
  • group_id

  • settings

  • remove_all

Returns:

async delete_group(group_id: str) None[source]

Delete a Group

Remove a group from the system.

Specify the group ID in the groupId parameter in the URI.

Parameters:

group_id (str) – A unique identifier for the group.

Return type:

None

base = 'groups'
class wxc_sdk.as_api.AsGuestCallingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Guest Calling Settings with Click-to-call

Calling Service Settings supports reading and writing of Webex Calling service settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async read(org_id: str = None) GuestCallingSettings[source]

Read the Click-to-call Settings

Retrieve the organization’s click-to-call calling settings.

Click-to-call settings determine whether click-to-call is enabled and whether privacy mode is enabled.

Retrieving click-to-call settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

GuestCallingSettings

async update(enabled: bool, privacy_enabled: bool, destination_members: list[str], org_id: str = None)[source]

Update the Click-to-call Settings

Update the organization’s click-to-call settings.

Click-to-call settings determine whether click-to-call is enabled and whether privacy mode is enabled.

Updating an organization’s click-to-call settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • enabled (bool) – Set to true to allow click-to-call calling.

  • privacy_enabled (bool) – Set to true to enable privacy mode.

  • destination_members (list[str]) – List of destination member IDs. Supported destination types are Auto Attendant, Call Queue, Hunt Group, and Virtual Line.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

members_gen(member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[DestinationMember, None][source]

Read the Click-to-call Members

Retrieve the organization’s click-to-call members.

Click-to-call members are the destination members that click-to-call callers can call.

Retrieving click-to-call members requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Returns:

Generator yielding DestinationMember instances

async members(member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, **params) list[DestinationMember][source]

Read the Click-to-call Members

Retrieve the organization’s click-to-call members.

Click-to-call members are the destination members that click-to-call callers can call.

Retrieving click-to-call members requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Returns:

Generator yielding DestinationMember instances

available_members_gen(member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[DestinationMember, None][source]

Read the Click-to-call Available Members

Retrieve the organization’s click-to-call available members.

Click-to-call available members are the members that can be added as destination members for click-to-call callers.

Retrieving click-to-call available members requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Returns:

Generator yielding DestinationMember instances

async available_members(member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, **params) list[DestinationMember][source]

Read the Click-to-call Available Members

Retrieve the organization’s click-to-call available members.

Click-to-call available members are the members that can be added as destination members for click-to-call callers.

Retrieving click-to-call available members requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Returns:

Generator yielding DestinationMember instances

base = 'telephony/config/guestCalling'
class wxc_sdk.as_api.AsGuestManagementApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Guest Management

Guests in Webex are users with only a temporary identity and are often used for single-transaction collaborations. Examples include click-to-call and click-to-chat applications where the guest interacts with the agent only for the duration of the call or chat session. Guests in Webex are created and managed via a Service App with the scope guest-issuer:write and guest-issuer:read and are represented by a token with a fixed and predefined set of scopes.

Since the Service App manages its own pool of guests, you need to insert the Service App token into the developer portal’s Try-It mode rather than your default personal token.

The guests/token endpoint is used to create and retrieve guest tokens, and the guests/count is used to assess the number of current guests.

Creating guests via the guest-issuer application type is deprecated and will be removed in the future.

async create(subject: str, display_name: str) Guest[source]

Create a Guest

Create a new token for a single guest user. The Service App that creates the guest must have the scope guest-issuer:write.

Guests are implicitly created by retrieving the guest access token.

Repeated calls to this API with the same subject will create additional tokens without invalidating previous ones. Tokens are valid until the expiresIn.

Guests can be renamed by supplying the same subject and changing the displayName.

To retrieve a new token for an existing guest, please provide the existing guest’s subject. Tokens are valid until expiresIn.

Parameters:
  • subject (str) – The unique and external identifier of the guest.

  • display_name (str) – The display name shown in the Webex application.

Return type:

Guest

async guest_count() int[source]

Get Guest Count

To retrieve the number of guests, the scopes guest-issuer:read or guest-issuer:write are needed.

Return type:

int

base = 'guests'
class wxc_sdk.as_api.AsHotDeskApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Hot Desk

async list_sessions(person_id: str = None, workspace_id: str = None, org_id: str = None) list[HotDesk][source]

List Sessions

List hot desk sessions.

Use query parameters to filter the response. The orgId parameter is for use by partner administrators acting on a managed organization. The personId and workspaceId parameters are optional and are used to filter the response to only include sessions for a specific person or workspace. When used together they are used as an AND filter.

Parameters:
  • person_id (str) – List sessions for this person.

  • workspace_id (str) – List sessions for this workspace.

  • org_id (str) – List sessions in this organization. Only admin users of another organization (such as partners) may use this parameter.

Return type:

list[HotDesk]

async delete_session(session_id: str)[source]

Delete Session

Delete a hot desk session.

Parameters:

session_id (str) – The unique identifier for the hot desk session.

Return type:

None

base = 'hotdesk/sessions'
class wxc_sdk.as_api.AsHotDeskingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for hot desking settings; so far only used for persons

feature: str | None = 'hotDesking'
available_members_gen(person_id: str, location_id: str = None, member_name: str = None, phone_number: str = None, extension: str = None, order: list[str] = None, org_id: str = None, **params: Any) AsyncGenerator[HotDeskingAvailableMember, None][source]

Search Available Hot Desking Members

Retrieve members available for assignment to a person’s hot desking guest profile.

Available members can include people, workspaces, and virtual lines that can be added as shared lines on the hot desking profile.

This API requires a full, user, device, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the entity.

  • location_id (str) – Return only available members in this location.

  • member_name (str) – Search for available members by name.

  • phone_number (str) – Search for available members by phone number.

  • extension (str) – Search for available members by extension.

  • order (list[str]) – Sort order for the available member list. Multiple order values may be provided.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization, such as partners, may use this parameter. If not specified, the organization from the OAuth token is used.

Returns:

Generator yielding HotDeskingAvailableMember instances

async available_members(person_id: str, location_id: str = None, member_name: str = None, phone_number: str = None, extension: str = None, order: list[str] = None, org_id: str = None, **params: Any) list[HotDeskingAvailableMember][source]

Search Available Hot Desking Members

Retrieve members available for assignment to a person’s hot desking guest profile.

Available members can include people, workspaces, and virtual lines that can be added as shared lines on the hot desking profile.

This API requires a full, user, device, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the entity.

  • location_id (str) – Return only available members in this location.

  • member_name (str) – Search for available members by name.

  • phone_number (str) – Search for available members by phone number.

  • extension (str) – Search for available members by extension.

  • order (list[str]) – Sort order for the available member list. Multiple order values may be provided.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization, such as partners, may use this parameter. If not specified, the organization from the OAuth token is used.

Returns:

Generator yielding HotDeskingAvailableMember instances

async get_members(person_id: str, org_id: str = None) HotDeskingMembers[source]

Get Hot Desking Members

Retrieve the primary and shared-line members assigned to a person’s hot desking guest profile.

This API requires a full, user, device, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization, such as partners, may use this parameter. If not specified, the organization from the OAuth token is used.

Return type:

HotDeskingMembers

async update_members(person_id: str, members: list[HotDeskingMember], org_id: str = None) None[source]

Update Hot Desking Members

Modify the primary and shared-line members assigned to a person’s hot desking guest profile.

The request replaces the hot desking profile member list with the members supplied in the request body.

This API requires a full, user, device, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • members (list[HotDeskingMember]) – Members to assign to the person’s hot desking guest profile.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization, such as partners, may use this parameter. If not specified, the organization from the OAuth token is used.

Return type:

None

base = ''
class wxc_sdk.as_api.AsHotDeskingSigninViaVoicePortalApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Hot Desking Sign-in via Voice Portal

Features: Hot desking is a feature that allows users to sign in to a shared phone and make calls using their own phone number.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async location_get(location_id: str, org_id: str = None) HotDeskingVoicePortalSetting[source]

Voice Portal Hot desking sign in details for a location

Get the Hot desking sign in details for a location.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location in which the hot desking sign in resides.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

HotDeskingVoicePortalSetting

async location_update(location_id: str, setting: HotDeskingVoicePortalSetting, org_id: str = None)[source]

Update Voice Portal Hot desking sign in details for a location

Update the Hot desking sign in details for a location.

This requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location in which the hot desking sign in resides.

  • setting (HotDeskingVoicePortalSetting) – Hot desking sign in details for a location.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

async user_get(person_id: str, org_id: str = None) HotDeskingVoicePortalSetting[source]

Voice Portal Hot desking sign in details for a user

Get the Hot desking sign in details for a user.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – ID of the person associated with the hot desking details.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

HotDeskingVoicePortalSetting

async user_update(person_id: str, setting: HotDeskingVoicePortalSetting, org_id: str = None)[source]

Update Voice Portal Hot desking sign in details for a user

Update the Hot desking sign in details for a user.

This requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – ID of the person associated with the hot desking details.

  • setting (HotDeskingVoicePortalSetting) – Hot desking sign in details for a user.

  • org_id (str) – ID of the organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API.

Return type:

None

base = 'telephony/config'
class wxc_sdk.as_api.AsHotelingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s hoteling settings

feature: str | None = 'hoteling'
async read(person_id: str, org_id: str = None) bool[source]

Read Hoteling Settings for a Person

Retrieve a person’s hoteling settings.

As an administrator, you can enable hoteling for people so that their phone profile (phone number, features, and calling plan) is temporarily loaded onto a shared (host) phone.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

hoteling setting

Return type:

bool

async configure(person_id: str, enabled: bool, org_id: str = None)[source]

Configure Hoteling Settings for a Person

Configure a person’s hoteling settings.

As an administrator, you can enable hoteling for people so that their phone profile (phone number, features, and calling plan) is temporarily loaded onto a shared (host) phone.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • enabled (bool) – When true, allow this person to connect to a Hoteling host device.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsHuntGroupApi(session: AsRestSession)[source]

Bases: AsApiChild

Hunt Group API

__init__(session: AsRestSession)[source]
forwarding: AsForwardingApi
list_gen(org_id: str = None, location_id: str = None, name: str = None, phone_number: str = None, **params) AsyncGenerator[HuntGroup, None][source]

Read the List of Hunt Groups

List all calling Hunt Groups for the organization.

Hunt groups can route incoming calls to a group of people or workspaces. You can even configure a pattern to route to a whole group.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id – List hunt groups for this organization.

  • location_id – Only return hunt groups with matching location ID.

  • name – Only return hunt groups with the matching name.

  • phone_number – Only return hunt groups with the matching primary phone number or extension.

Returns:

yields HuntGroup instances

async list(org_id: str = None, location_id: str = None, name: str = None, phone_number: str = None, **params) list[HuntGroup][source]

Read the List of Hunt Groups

List all calling Hunt Groups for the organization.

Hunt groups can route incoming calls to a group of people or workspaces. You can even configure a pattern to route to a whole group.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id – List hunt groups for this organization.

  • location_id – Only return hunt groups with matching location ID.

  • name – Only return hunt groups with the matching name.

  • phone_number – Only return hunt groups with the matching primary phone number or extension.

Returns:

yields HuntGroup instances

async by_name(name: str, location_id: str = None, org_id: str = None) HuntGroup | None[source]

Get hunt group info by name :param location_id: :param name: :param org_id: :return:

async create(location_id: str, settings: HuntGroup, org_id: str = None) str[source]

Create a Hunt Group

Create new Hunt Groups for the given location.

Hunt groups can route incoming calls to a group of people, workspaces or virtual lines. You can even configure a pattern to route to a whole group.

Creating a hunt group requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the hunt group for the given location.

  • settings (HuntGroup) – hunt group details

  • org_id (str) – Create the hunt group for this organization.

Returns:

ID of the newly created hunt group.

Return type:

str

async delete_huntgroup(location_id: str, huntgroup_id: str, org_id: str = None)[source]

Delete a Hunt Group

Delete the designated Hunt Group.

Hunt groups can route incoming calls to a group of people or workspaces. You can even configure a pattern to route to a whole group.

Deleting a hunt group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete a hunt group.

  • huntgroup_id (str) – Delete the hunt group with the matching ID.

  • org_id (str) – Delete the hunt group with the matching ID.

async details(location_id: str, huntgroup_id: str, org_id: str = None) HuntGroup[source]

Get Details for a Hunt Group

Retrieve Hunt Group details.

Hunt groups can route incoming calls to a group of people or workspaces. You can even configure a pattern to route to a whole group.

Retrieving hunt group details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve settings for a hunt group in this location.

  • huntgroup_id (str) – Retrieve settings for the hunt group with this identifier.

  • org_id (str) – Retrieve hunt group settings from this organization.

Returns:

hunt group details

async update(location_id: str, huntgroup_id: str, update: HuntGroup, org_id: str = None) None[source]

Update a Hunt Group

Update the designated Hunt Group.

Hunt groups can route incoming calls to a group of people, workspaces or virtual lines. You can even configure a pattern to route to a whole group.

Updating a hunt group requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update the hunt group for this location.

  • huntgroup_id (str) – Update settings for the hunt group with the matching ID.

  • update (HuntGroup) – hunt group settings

  • org_id – Update hunt group settings from this organization.

Return type:

None

primary_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Hunt Group Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async primary_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Hunt Group Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

alternate_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Hunt Group Alternate Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s alternate phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async alternate_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Hunt Group Alternate Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s alternate phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

forward_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Hunt Group Call Forward Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s call forward number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async forward_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Hunt Group Call Forward Available Phone Numbers

List service and standard numbers that are available to be assigned as the hunt group’s call forward number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

base = 'telephony/config/huntGroups'
class wxc_sdk.as_api.AsIncomingPermissionsApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for incoming permissions settings

Also used for virtual lines, workspaces

feature: str | None = 'incomingPermission'
async read(entity_id: str, org_id: str = None) IncomingPermissions[source]

Read Incoming Permission Settings

Retrieve Incoming Permission Settings

You can change the incoming calling permissions for an entity if you want them to be different from your organization’s default.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

incoming permission settings for specific user

Return type:

IncomingPermissions

async configure(entity_id: str, settings: IncomingPermissions, org_id: str = None)[source]

Configure incoming permissions settings

The Barge In feature enables you to use a Feature Access Code (FAC) to answer a call that was directed to another subscriber, or barge-in on the call if it was already answered. Barge In can be used across locations.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by an entity to update their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (IncomingPermissions) – new setting to be applied

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsInternalDialingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Internal dialing settings for location

async read(location_id: str, org_id: str = None) InternalDialing[source]

Read the Internal Dialing configuration for a location

Get current configuration for routing unknown extensions to the Premises as internal calls

If some users in a location are registered to a PBX, retrieve the setting to route unknown extensions (digits that match the extension length) to the PBX.

Retrieving the internal dialing configuration requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – location for which internal calling configuration is being requested

  • org_id (str)

Returns:

settings

Return type:

InternalDialing

async update(location_id: str, update: InternalDialing, org_id: str = None)[source]

Modify the Internal Dialing configuration for a location

Modify current configuration for routing unknown extensions to the premise as internal calls

If some users in a location are registered to a PBX, enable the setting to route unknown extensions (digits that match the extension length) to the PBX.

Editing the internal dialing configuration requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – location for which internal calling configuration is being requested

  • update (InternalDialing) – new settings

  • org_id (str)

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsJobsApi(*, session: AsRestSession)[source]

Bases: AsApiChild

Jobs API

__init__(*, session: AsRestSession)[source]
activation_emails: AsSendActivationEmailApi

API to send activation emails

apply_line_key_templates: AsApplyLineKeyTemplatesJobsApi

API for apply line key template jobs

call_recording: AsCallRecordingJobsApi

call recording jobs

device_settings: AsDeviceSettingsJobsApi

API for device settings jobs

dynamic_device_settings: AsUpdateDynamicDeviceSettingsJobsApi

API for dynamic device settings jobs

manage_numbers: AsManageNumbersJobsApi

API for manage numbers jobs

move_users: AsMoveUsersJobsApi
rebuild_phones: AsRebuildPhonesJobsApi

API for rebuild phone jobs

update_routing_prefix: AsUpdateRoutingPrefixJobsApi

API for update routing prefix jobs

disable_calling_location: AsDisableCallingLocationJobsApi

API for disable calling location jobs

base = 'telephony/config/jobs'
class wxc_sdk.as_api.AsLicensesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Licenses

An allowance for features and services that are provided to users on a Webex services subscription. Cisco and its partners manage the amount of licenses provided to administrators and users. License can be assigned only by admins.

Viewing the list of all licenses in your organization and viewing license details requires an administrator auth token with a scope of spark-admin:licenses_read.

Updating the licenses of users requires an administrator auth token with a scope of spark-admin:people_write.

The license assignment API now supports partial success scenarios. When assigning multiple licenses to a user, if some licenses can be assigned successfully while others fail due to constraints or conflicts, the API returns a 206 Partial Content status code instead of failing the entire request. This allows for more robust bulk license operations, providing detailed information about which licenses were assigned successfully and which failed, along with specific error details for each failure. Previously, if any single license in a batch could not be assigned, the entire request would fail.

To learn about how to allocate Hybrid Services licenses, see the Managing Hybrid Services guide.

async list(org_id: str = None) list[License][source]

List all licenses for a given organization. If no org_id is specified, the default is the organization of the authenticated user.

Response properties that are not applicable to the license will not be present in the response.

Parameters:

org_id (str) – List licenses for this organization.

Returns:

yields License instances

async details(license_id) License[source]

Shows details for a license, by ID.

Response properties that are not applicable to the license will not be present in the response.

Parameters:

license_id (str) – The unique identifier for the license.

Returns:

license details

Return type:

License

assigned_users_gen(license_id: str, **params) AsyncGenerator[LicenseUser, None][source]

Get users license is assigned to, by license ID.

Specify the license ID in the licenseId parameter in the URI. Long result sets will be split into pages.

Parameters:

license_id (str) – The unique identifier for the license.

async assigned_users(license_id: str, **params) list[LicenseUser][source]

Get users license is assigned to, by license ID.

Specify the license ID in the licenseId parameter in the URI. Long result sets will be split into pages.

Parameters:

license_id (str) – The unique identifier for the license.

async assign_licenses_to_users(email: str = None, person_id: str = None, licenses: list[LicenseRequest] = None, site_urls: list[SiteUrlsRequest] = None, org_id: str = None) UserLicensesResponse[source]

Assign Licenses to Users

Assign licenses and attendee siteUrls to existing users. Only an admin can assign licenses. Only existing users can be assigned a license. Assign meeting licenses to users outside your organization (Status will be pending until the user accepts the invite)

At least one of the following body parameters is required to assign license to the user: email, personId. For Calling license assignment, properties phoneNumber or extension are required. If phoneNumber is not provided then locationId is mandatory.

When assigning licenses and attendee siteUrls to a user who does not belong to the organization, the licenses and siteUrls remain in pending state until the user accepts them. The pendingLicenses and pendingSiteUrls are part of the response.

Parameters:
  • email (str) – Email address of the user.

  • person_id (str) – A unique identifier for the user.

  • licenses (list[LicenseRequest]) – An array of licenses to be assigned to the user.

  • site_urls (list[SiteUrlsRequest]) – An array of siteUrls to be assigned to the user.

  • org_id (str) – The ID of the organization to which the licenses and siteUrls belong. If not specified, the organization ID from the OAuth token is used.

Return type:

UserLicensesResponse

Example

self.api.licenses.assign_licenses_to_users(
    person_id=new_user.person_id,
    licenses=[LicenseRequest(id=calling_license_id,
                             properties=LicenseProperties(location_id=target_location.location_id,
                                                          extension=extension))])
base = 'licenses'
class wxc_sdk.as_api.AsLocationAccessCodesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Access codes API

async read(location_id: str, org_id: str = None) list[AuthCode][source]

Get Outgoing Permission Location Access Code

Retrieve access codes details for a customer location.

Use Access Codes to bypass the set permissions for all persons/workspaces at this location.

Retrieving access codes details requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve access codes details for this location.

  • org_id (str) – Retrieve access codes details for a customer location in this organization

Returns:

list of wxc_sdk.common.CallPark

async create(location_id: str, access_codes: list[AuthCode], org_id: str = None) list[AuthCode][source]

Create Outgoing Permission a new access code for a customer location

Add a new access code for the given location for a customer.

Use Access Codes to bypass the set permissions for all persons/workspaces at this location.

Creating an access code for the given location requires a full or user administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Add new access code for this location.

  • access_codes (list of wxc_sdk.common.AuthCode) – Access code details

  • org_id (str) – Add new access code for this organization.

async delete_codes(location_id: str, access_codes: list[str | AuthCode], org_id: str = None) list[AuthCode][source]

Delete Access Code Location

Deletes the access code details for a particular location for a customer.

Use Access Codes to bypass the set permissions for all persons/workspaces at this location.

Modifying the access code location details requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Deletes the access code details for this location.

  • access_codes (list of wxc_sdk.common.AuthCode or str) – access codes to delete

  • org_id (str) – Delete access codes from this organization.

async delete_all(location_id: str, org_id: str = None)[source]

Delete Outgoing Permission Location Access Codes

Deletes all the access codes for a particular location for a customer.

Use Access Codes to bypass the set permissions for all persons/workspaces at this location.

Deleting the access codes requires a full or user administrator or location administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • location_id (str) – Deletes all the access codes for this location.

  • org_id (str) – Deletes the access codes for a customer location.

Return type:

None

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationEmergencyServicesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

Viewing these organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read. Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

async read_emergency_call_notification(location_id: str, org_id: str = None) LocationEmergencyCallNotification[source]

Get a Location Emergency Call Notification

Get location emergency call notification.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To retrieve location call notifications requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve Emergency Call Notification attributes for this location.

  • org_id (str) – Retrieve Emergency Call Notification attributes for the location in this organization.

Return type:

LocationEmergencyCallNotification

async update_emergency_call_notification(location_id: str, setting: LocationEmergencyCallNotification, org_id: str = None)[source]

Update a location emergency call notification.

Once settings enabled at the organization level, the configured email address will receive emergency call notifications for all locations; for specific location customization, users can navigate to Management > Locations, select the Calling tab, and update the Emergency Call Notification settings.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To update location call notification requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update Emergency Call Notification attributes for this location.

  • setting (LocationEmergencyCallNotification) – new settings

  • org_id (str) – Update Emergency Call Notification attributes for a location in this organization.

Return type:

None

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationInterceptApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for location’s call intercept settings

async read(location_id: str, org_id: str = None) InterceptSetting[source]

Get Location Intercept

Retrieve intercept location details for a customer location.

Intercept incoming or outgoing calls for persons in your organization. If this is enabled, calls are either routed to a designated number the person chooses, or to the person’s voicemail.

Retrieving intercept location details requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve intercept details for this location.

  • org_id (str) – Retrieve intercept location details for a customer location.

Returns:

user’s call intercept settings

Return type:

wxc_sdk.person_settings.call_intercept.InterceptSetting

async configure(location_id: str, settings: InterceptSetting, org_id: str = None)[source]

Put Location Intercept

Modifies the intercept location details for a customer location.

Intercept incoming or outgoing calls for users in your organization. If this is enabled, calls are either routed to a designated number the user chooses, or to the user’s voicemail.

Modifying the intercept location details requires a full, user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Unique identifier for the person.

  • settings (InterceptSetting) – new intercept settings

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationMoHApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Location Music on Hold API

async read(location_id: str, org_id: str = None) LocationMoHSetting[source]

Get Music On Hold

Retrieve the location’s music on hold settings.

Location’s music on hold settings allows you to play music when a call is placed on hold or parked.

Retrieving location’s music on hold settings requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve access codes details for this location.

  • org_id (str) – Retrieve access codes details for a customer location in this organization

Returns:

MoH settings

Return type:

LocationMoHSetting

async update(location_id: str, settings: LocationMoHSetting, org_id: str = None)[source]

Update Music On Hold

Update the location’s music on hold settings.

Location music on hold settings allows you to play music when a call is placed on hold or parked.

Updating a location’s music on hold settings requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update music on hold settings for this location.

  • settings (LocationMoHSetting) – new settings

  • org_id (str) – Update music on hold settings for this organization.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationNumbersApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Numbers supports reading and writing of Webex Calling phone numbers for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async remove(location_id: str, phone_numbers: list[str], org_id: str = None)[source]

Remove phone numbers from a location

Remove the specified set of phone numbers from a location for an organization.

Phone numbers must follow the E.164 format.

Removing a mobile number may require more time depending on mobile carrier capabilities.

Removing a phone number from a location requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A location’s main number cannot be removed.

This API is only supported for non-integrated PSTN connection types of Local Gateway (LGW) and Non-integrated CPP. It should never be used for locations with integrated PSTN connection types like Cisco Calling Plans or Integrated CCP because backend data issues may occur.

Parameters:
  • location_id (str) – LocationId from which numbers should be removed.

  • phone_numbers (list[str]) – List of phone numbers to be removed.

  • org_id (str) – Organization to manage

async add(location_id: str, phone_numbers: list[str], number_type: ~wxc_sdk.telephony.location.numbers.TelephoneNumberType = None, number_usage_type: ~wxc_sdk.telephony.location.numbers.NumberUsageType = None, state: ~wxc_sdk.common.NumberState = <NumberState.inactive: 'INACTIVE'>, subscription_id: str = None, carrier_id: str = None, org_id: str = None) NumberAddResponse[source]

Add Phone Numbers to a location

Adds a specified set of phone numbers to a location for an organization. Phone numbers must follow the E.164 format.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Active phone numbers are in service.

Adding a phone number to a location requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Phone numbers included in the request that already exist in the location will simply be ignored.

This API is only supported for adding DID and Toll-free numbers to non-integrated PSTN connection types such as Local Gateway (LGW) and Non-integrated CPP. It should never be used for locations with integrated PSTN connection types like Cisco Calling Plans or Integrated CCP because backend data issues may occur.

Mobile numbers can be added to any location that has PSTN connection setup. Only 20 mobile numbers can be added per request.

Parameters:
  • location_id (str) – LocationId to which numbers should be added.

  • phone_numbers (list[str]) – List of phone numbers that need to be added.

  • number_type (TelephoneNumberType) – Type of the number. Required for MOBILE number type.

  • number_usage_type (NumberUsageType) – Type of usage expected for the number.

  • state (NumberState) – Reflects the state of the number. By default, the state of a number is set to ACTIVE for DID and toll-free numbers only. Mobile numbers will be activated upon assignment to a user.

  • subscription_id (str) – The subscriptionId to be used for the mobile number order.

  • carrier_id (str) – The carrierId to be used for the mobile number order.

  • org_id (str) – Organization to manage.

activate(location_id: str, phone_numbers: list[str], org_id: str = None)[source]

Activate Phone Numbers in a location

Activate the specified set of phone numbers in a location for an organization.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Phone numbers must follow the E.164 format. Active phone numbers are in service.

A mobile number is activated when assigned to a user. This API will not activate mobile numbers.

Activating a phone number in a location requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

This API is only supported for non-integrated PSTN connection types of Local Gateway (LGW) and Non-integrated CPP. It should never be used for locations with integrated PSTN connection types like Cisco Calling Plans or Integrated CCP because backend data issues may occur.

Parameters:
  • location_id (str) – LocationId in which numbers should be activated.

  • phone_numbers (list[str]) – List of phone numbers to be activated.

  • org_id (str) – Organization to manage

async manage_number_state(location_id: str, phone_numbers: list[str], action: NumbersRequestAction = None, org_id: str = None)[source]

Manage Number State in a location

Activate or deactivate the specified set of phone numbers in a location for an organization.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Phone numbers must follow the E.164 format.

Active phone numbers are in service.A mobile number is activated when assigned to a user. This API will not activate or deactivate mobile numbers.Managing phone number state in a location requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

This API is only supported for non-integrated PSTN connection types of Local Gateway (LGW) and Non-integrated CCP.

Parameters:
  • location_id (str) – Unique identifier of the location where phone number activation states will be managed.

  • phone_numbers (list[str]) – List of phone numbers whose activation state will be modified according to the specified action.

  • action (NumbersRequestAction) –

    Specifies the action to execute on the provided phone numbers. If no action is specified, the default is set to ACTIVATE.

    For DEACTIVATE action here are few limitations: 1) a maximum of 500 phone numbers can be processed, 2) the numbers must be unassigned, 3) the numbers cannot serve as ECBN (Emergency Callback Number), 4) the numbers must not be mobile numbers, and 5) this action is only applicable to non-integrated PSTN connection types, specifically Local Gateway (LGW) and Non-integrated CCP

  • org_id (str) – Organization of the Route Group.

Return type:

None

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationVoicemailSettingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

location voicemail settings API, for now only enable/disable Vm transcription

async read(location_id: str, org_id: str = None) LocationVoiceMailSettings[source]

Get Location Voicemail

Retrieve voicemail settings for a specific location.

Location’s voicemail settings allows you to enable voicemail transcription for a specific location.

Retrieving location’s voicemail settings requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve access codes details for this location.

  • org_id (str) – Retrieve access codes details for a customer location in this organization

Returns:

location voicemail settings

Return type:

LocationVoiceMailSettings

async update(location_id: str, settings: LocationVoiceMailSettings, org_id: str = None)[source]

Update Location Voicemail

Update the voicemail settings for a specific location.

Location voicemail settings allows you to enable voicemail transcription for a specific location.

Updating a location’s voicemail settings requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update voicemail settings for this location.

  • settings (LocationVoiceMailSettings) – new settings

  • org_id (str) – Update voicemail settings for this organization.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsLocationsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Locations

Locations allow you to organize users and workspaces based on a physical location. You can configure both calling and workspace management functions into the same location. To enable a location for Webex Calling, use the Enable a Location for Webex Calling API. You can also create and inspect locations in Webex Control Hub. See Locations on Control Hub for more information.

list_gen(name: str = None, location_id: str = None, org_id: str = None, **params) AsyncGenerator[Location, None][source]

List Locations

List locations for an organization.

  • Use query parameters to filter the result set by location name, ID, or organization.

  • Long result sets will be split into pages.

  • Searching and viewing locations in your organization requires an administrator or location administrator auth token with any of the following scopes: spark-admin:locations_read, spark-admin:people_read or spark-admin:device_read.

Parameters:
  • name (str) – List locations whose name contains this string (case-insensitive).

  • location_id (str) – List locations by ID.

  • org_id (str) – List locations in this organization. Only admin users of another organization (such as partners) may use this parameter.

Returns:

generator of Location instances

async list(name: str = None, location_id: str = None, org_id: str = None, **params) list[Location][source]

List Locations

List locations for an organization.

  • Use query parameters to filter the result set by location name, ID, or organization.

  • Long result sets will be split into pages.

  • Searching and viewing locations in your organization requires an administrator or location administrator auth token with any of the following scopes: spark-admin:locations_read, spark-admin:people_read or spark-admin:device_read.

Parameters:
  • name (str) – List locations whose name contains this string (case-insensitive).

  • location_id (str) – List locations by ID.

  • org_id (str) – List locations in this organization. Only admin users of another organization (such as partners) may use this parameter.

Returns:

generator of Location instances

async by_name(name: str, org_id: str = None) Location | None[source]

Get a location by name

Parameters:
  • name (str) – name of the location to search

  • org_id (str) – search in list of locations in this organization. Only admin users of another organization (such as partners) may use this parameter.

Returns:

locations

Return type:

Location

async details(location_id: str, org_id: str = None) Location[source]

Get Location Details

Shows details for a location, by ID.

Specify the location ID in the locationId parameter in the URI.

Use query parameter orgId to filter the result set by organization(optional).

Searching and viewing location in your organization requires an administrator or location administrator auth token with any of the following scopes:

  • spark-admin:locations_read

  • spark-admin:people_read

  • spark-admin:device_read

Parameters:
  • location_id (str) – A unique identifier for the location.

  • org_id (str) – Get location common attributes for this organization.

Returns:

location details

Return type:

Location

async create(name: str, time_zone: str, preferred_language: str, announcement_language: str, address1: str, city: str, state: str, postal_code: str, country: str, address2: str = None, latitude: str = None, longitude: str = None, notes: str = None, org_id: str = None) str[source]

Create a Location

Create a new Location for a given organization. Only an admin in the organization can create a new Location.

Creating a location in your organization requires a full administrator auth token with a scope of spark-admin:locations_write.

Partners may specify orgId query parameter to create location in managed organization.

The following body parameters are required to create a new location:

  • name

  • timeZone

  • preferredLanguage

  • address

  • announcementLanguage.

latitude, longitude and notes are optional parameters to create a new location.

Important: While the name field supports up to 256 characters, locations that will be enabled for Webex Calling must have names with a maximum of 80 characters. If you plan to enable calling for this location, ensure the name does not exceed 80 characters to maintain compatibility with Control Hub and calling features.

Parameters:
  • name (str) – The name of the location. Supports up to 256 characters, but locations enabled for Webex Calling are limited to 80 characters maximum.

  • time_zone (str) – Time zone associated with this location

  • preferred_language (str) – Default email language.

  • announcement_language (str) – Location’s phone announcement language.

  • address1 (str) – Address 1

  • address2 (str) – Address 2

  • city (str) – City

  • state (str) – State Code

  • postal_code (str) – Postal Code

  • country (str) – ISO-3166 2-Letter Country Code.

  • org_id (str) – Create a location common attribute for this organization.

  • latitude (str) – Latitude

  • longitude (str) – Longitude

  • notes (str) – Notes

Returns:

ID of new location

Return type:

str

async delete(location_id: str, org_id: str = None)[source]

Delete Location

Delete a location, by ID.

  • Specify the location ID in the locationId parameter in the URI.

  • Deleting a location in your organization requires a full administrator auth token with a scope of spark-admin:locations_write.

  • NOTE: Disabling Webex Calling for a Webex Calling enabled location is required prior to deleting a location.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • org_id (str) – Specify the organization for the location to be deleted.

Return type:

None

async update(location_id: str, settings: Location, org_id: str = None)[source]

Update details for a location, by ID.

Specify the location ID in the locationId parameter in the URI. Only an admin can update a location details.

Updating a location in your organization requires an administrator auth token with the spark-admin:locations_write.

Partners may specify orgId query parameter to update location in managed organization.

Important: While the name field supports up to 256 characters, locations that are enabled for Webex Calling must have names with a maximum of 80 characters. If the location is enabled for calling, ensure the name does not exceed 80 characters to maintain compatibility with Control Hub and calling features.

Parameters:
  • location_id (str) – Update location common attributes for this location.

  • settings (Location) – new settings for the org:

  • org_id (str) – Update location common attributes for this organization

async list_floors(location_id: str) list[Floor][source]

List Location Floors

Requires an administrator auth token with the spark-admin:locations_read scope.

Parameters:

location_id (str) – A unique identifier for the location.

Return type:

list[Floor]

async create_floor(location_id: str, floor_number: int, display_name: str = None) Floor[source]

Create a Location Floor

Create a new floor in the given location. The displayName parameter is optional, and omitting it will result in the creation of a floor without that value set. Requires an administrator auth token with the spark-admin:locations_write scope.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_number (int) – The floor number.

  • display_name (str) – The floor display name.

Return type:

Floor

async floor_details(location_id: str, floor_id: str) Floor[source]

Get Location Floor Details

Shows details for a floor, by ID. Specify the floor ID in the floorId parameter in the URI. Requires an administrator auth token with the spark-admin:locations_read scope.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_id (str) – A unique identifier for the floor.

Return type:

Floor

async update_floor(floor: Floor) Floor[source]

Update a Location Floor

Updates details for a floor, by ID. Specify the floor ID in the floorId parameter in the URI. Include all details for the floor returned by a previous call to Get Location Floor Details. Omitting the optional displayName field will result in that field no longer being defined for the floor. Requires an administrator auth token with the spark-admin:locations_write scope.

Parameters:

floor (Floor) – new floor settings

Return type:

Floor

async delete_floor(location_id: str, floor_id: str)[source]

Delete a Location Floor

Deletes a floor, by ID. Requires an administrator auth token with the spark-admin:locations_write scope.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_id (str) – A unique identifier for the floor.

Return type:

None

base = 'locations'
class wxc_sdk.as_api.AsMSTeamsSettingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async read(person_id: str, org_id: str = None) MSTeamsSettings[source]

Retrieve a Person’s MS Teams Settings

At a person level, MS Teams settings allow access to retrieving the HIDE WEBEX APP and PRESENCE SYNC settings.

To retrieve a person’s MS Teams settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter since the default is the same organization as the token used to access the API.

Return type:

MSTeamsSettings

async configure(person_id: str, setting_name: str, value: bool, org_id: str = None)[source]

Configure a Person’s MS Teams Setting

MS Teams settings can be configured at the person level.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • setting_name (str) – The enum value to be set to HIDE_WEBEX_APP.

  • value (bool) – The boolean value to update the HIDE_WEBEX_APP setting, either true or false. Set to null to delete the HIDE_WEBEX_APP setting.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter since the default is the same organization as the token used to access the API.

Return type:

None

base = 'telephony/config/people'
class wxc_sdk.as_api.AsManageNumbersJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for jobs to manage numbers

list_gen(org_id: str = None, **params) AsyncGenerator[NumberJob, None][source]

List Manage Numbers Jobs

Lists all Manage Numbers jobs for the given organization in order of most recent one to oldest one irrespective of its status.

The public API only supports initiating jobs which move numbers between locations.

Via Control Hub they can initiate both the move and delete, so this listing can show both.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of Manage Number jobs for this organization.

Returns:

Generator yielding NumberJob instances

async list(org_id: str = None, **params) list[NumberJob][source]

List Manage Numbers Jobs

Lists all Manage Numbers jobs for the given organization in order of most recent one to oldest one irrespective of its status.

The public API only supports initiating jobs which move numbers between locations.

Via Control Hub they can initiate both the move and delete, so this listing can show both.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of Manage Number jobs for this organization.

Returns:

Generator yielding NumberJob instances

async initiate_job(operation: str, number_list: list[NumberItem], target_location_id: str = None, number_usage_type: str = None) NumberJob[source]

Initiate Number Jobs

Starts the execution of an operation on a set of numbers. Supported operations are: MOVE, NUMBER_USAGE_CHANGE.

Up to 1000 numbers can be given in MOVE operation type and NUMBER_USAGE_CHANGE operation type per request. If another move number job request is initiated while a move job is in progress, the API call will receive a 409 HTTP status code.

In order to move a number the following is required:

  • The number must be unassigned.

  • Both locations must have the same PSTN Connection Type.

  • Both locations must have the same PSTN Provider.

  • Both locations have to be in the same country.

For example, you can move from Cisco Calling Plan to Cisco Calling Plan, but you cannot move from Cisco Calling Plan to a location with Cloud Connected PSTN.

In order to change the number usage the following is required:

  • The number must be unassigned.

  • Number Usage Type can be set to NONE if carrier has the PSTN service GEOGRAPHIC_NUMBERS.

  • Number Usage Type can be set to SERVICE if carrier has the PSTN service SERVICE_NUMBERS.

For example, you can initiate a NUMBER_USAGE_CHANGE job to change the number type from Standard number to Service number, or the other way around.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • operation (str) – The kind of operation to be carried out.

  • number_list (list[NumberItem]) – Numbers on which to execute the operation.

  • target_location_id (str) – Mandatory for a MOVE operation. The target location within organization where the unassigned numbers will be moved from the source location.

  • number_usage_type (str) – Mandatory for NUMBER_USAGE_CHANGE operation. Indicates the number usage type.

Return type:

NumberJob

async status(job_id: str = None) NumberJob[source]

Get Manage Numbers Job Status

Returns the status and other details of the job.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

job_id (str) – Retrieve job details for this jobId.

async pause(job_id: str = None, org_id: str = None)[source]

Pause the Manage Numbers Job

Pause the running Manage Numbers Job. A paused job can be resumed or abandoned.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Pause the Manage Numbers job for this jobId.

  • org_id (str) – Pause the Manage Numbers job for this organization.

async resume(job_id: str = None, org_id: str = None)[source]

Resume the Manage Numbers Job

Resume the paused Manage Numbers Job. A paused job can be resumed or abandoned.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Resume the Manage Numbers job for this jobId.

  • org_id (str) – Resume the Manage Numbers job for this organization.

async abandon(job_id: str = None, org_id: str = None)[source]

Abandon the Manage Numbers Job. This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Abandon the Manage Numbers job for this jobId.

  • org_id (str) – Abandon the Manage Numbers job for this organization.

errors_gen(job_id: str = None, org_id: str = None, **params) AsyncGenerator[JobErrorItem, None][source]

List Manage Numbers Job errors

Lists all error details of Manage Numbers job. This will not list any errors if exitCode is COMPLETED. If the status is COMPLETED_WITH_ERRORS then this lists the cause of failures.

List of possible Errors:

  • BATCH-1017021 - Failed to move because it is an inactive number.

  • BATCH-1017022 - Failed to move because the source location and target location have different CCP providers.

  • BATCH-1017023 - Failed because it is not an unassigned number.

  • BATCH-1017024 - Failed because it is a main number.

  • BATCH-1017027 - Manage Numbers Move Operation is not supported.

  • BATCH-1017031 - Hydra request is supported only for single number move job.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve the error details for this jobId.

  • org_id (str) – Retrieve list of jobs for this organization.

async errors(job_id: str = None, org_id: str = None, **params) list[JobErrorItem][source]

List Manage Numbers Job errors

Lists all error details of Manage Numbers job. This will not list any errors if exitCode is COMPLETED. If the status is COMPLETED_WITH_ERRORS then this lists the cause of failures.

List of possible Errors:

  • BATCH-1017021 - Failed to move because it is an inactive number.

  • BATCH-1017022 - Failed to move because the source location and target location have different CCP providers.

  • BATCH-1017023 - Failed because it is not an unassigned number.

  • BATCH-1017024 - Failed because it is a main number.

  • BATCH-1017027 - Manage Numbers Move Operation is not supported.

  • BATCH-1017031 - Hydra request is supported only for single number move job.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve the error details for this jobId.

  • org_id (str) – Retrieve list of jobs for this organization.

base = 'telephony/config/jobs/numbers'
class wxc_sdk.as_api.AsMeAnonCallsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() bool[source]

Get Anonymous Call Rejection Settings for User

Get Anonymous Call Rejection Settings for the authenticated user.

Anonymous Call Rejection allows you to reject calls from anonymous callers.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

bool

async modify(enabled: bool)[source]

Modify Anonymous Call Rejection Settings for User

Update Anonymous Call Rejection Settings for the authenticated user.

Anonymous Call Rejection allows you to reject calls from anonymous callers.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

enabled (bool) – Indicates whether Anonymous Call Rejection is enabled or not.

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeBargeApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() BargeSettings[source]

Retrieve Barge-In Settings

Retrieve Barge-In settings of the user.

The Barge-In feature enables you to use a Feature Access Code (FAC) to answer a call that was directed to another subscriber, or barge-in on the call if it was already answered. Barge-In can be used across locations.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

BargeInInfo

async configure(settings: BargeSettings)[source]

Configure Barge-In Settings

Configure person’s Barge-In settings.

The Barge-In feature enables you to use a Feature Access Code (FAC) to answer a call that was directed to another subscriber, or barge-in on the call if it was already answered. Barge-In can be used across locations.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (BargeSettings) – Barge-In settings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallBlockApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() list[CallBlockNumber][source]

Get My Call Block Settings

Get details of call block settings associated with the authenticated user.

Call block settings allow you to get the User Call Block Number List.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[CallBlockNumber]

async add_number(phone_number: str) str[source]

Add a phone number to user’s Call Block List

Add a phone number to the call block list for the authenticated user.

Call block settings allow you to get the User Call Block Number List.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

phone_number (str) – Phone number which is blocked by user.

Return type:

str

async delete_number(phone_number_id: str)[source]

Delete User Call Block Number

Delete call block number settings associated with the authenticated user.

Call block settings allow you to delete a number from the User Call Block Number List.

This API requires a user auth token with a scope of spark-admin:people_write.

Parameters:

phone_number_id (str) – Unique identifier of the phone number.

Return type:

None

async state_for_number(phone_number_id: str) bool[source]

Get My Call Block State For Specific Number

Get call block state details for a specific number associated with the authenticated user.

Call block settings allow you to get the User Call Block Number List.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

phone_number_id (str) – Unique identifier of the phone number.

Return type:

bool

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallCenterApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeCallCenterSettings[source]

Get My Call Center Settings

Retrieves the call center settings and list of all call centers the logged in user belongs to.

Calls from the Call Centers are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors. The user must have the call center service assigned.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeCallCenterSettings

async modify(settings: MeCallCenterSettings)[source]

Modify My Call Center Settings

Modify the call center settings and availability for an agent in one or more call centers to which the logged in user belongs.

Calls from the Call Centers are routed to agents based on configuration. An agent can be assigned to one or more call queues and can be managed by supervisors. Contains a list specifying the desired availability status of one or more call centers.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (MeCallCenterSettings) – settings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallControlApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Call Controls Members Me

Call Control Me APIs in support of Webex Calling. All GET commands require the spark:calls_read scope while all other commands require the spark:calls_write scope.

Notes:

  • These APIs support 3rd Party Call Control only.

  • The Call Control APIs are only for use by Webex Calling Multi Tenant users and not applicable for users hosted on

UCM, including Dedicated Instance users.

  • The Call Control APIs are not supported by Service Apps. Please see Call Control Members APIs for Service Apps

support.

async answer(call_id: str, endpoint_id: str = None, line_owner_id: str = None) None[source]

Answer

Answer an incoming call. When no endpointId is specified, the call is answered on the user’s primary device. When an endpointId is specified, the call is answered on the device or application identified by the endpointId. The answer API is rejected if the device is not alerting for the call or the device does not support answer via API.

Parameters:
  • call_id (str) – The call identifier of the call to be answered.

  • endpoint_id (str) –

    The ID of the device or application to answer the call on. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

async list_calls(line_owner_id: str = None) list[TelephonyCall][source]

List Calls

Get the list of details for all active calls associated with the user.

Parameters:

line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

list[TelephonyCall]

async call_details(call_id: str, line_owner_id: str = None) TelephonyCall[source]

Get Call Details

Get the details of the specified active call for the user.

Parameters:
  • call_id (str) – The call identifier of the call.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

TelephonyCall

async dial(destination: str, endpoint_id: str = None, single_number_reach_phone_number: str = None, line_owner_id: str = None) CallInfo[source]

Dial

Initiate an outbound call to a specified destination. This is also commonly referred to as Click to Call or Click to Dial. Alerts occur on all the devices belonging to a user unless an optional endpointId is specified in which case only the device or application identified by the endpointId is alerted. When a user answers an alerting device, an outbound call is placed from that device to the destination.

Parameters:
  • destination (str) – The destination to be dialed. The destination can be digits or a URI. Some examples for destination include: 1234, 2223334444, +12223334444, *73, tel:+12223334444, user@company.domain, and sip:user@company.domain.

  • endpoint_id (str) –

    The ID of the device or application to use for the call. The endpointId must be one of the endpointIds returned by the Get Preferred Answer Endpoint API. Mutually exclusive with singleNumberReachPhoneNumber.

  • single_number_reach_phone_number (str) – The Single Number Reach phone number to use for the call. Mutually exclusive with endpointId.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

CallInfo

async hangup(call_id: str, line_owner_id: str = None) None[source]

Hangup

Hangup a call. If used on an unanswered incoming call, the call is rejected and sent to busy.

Parameters:
  • call_id (str) – The call identifier of the call to hangup.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

Return type:

None

base = 'telephony/calls/members/me'
class wxc_sdk.as_api.AsMeCallNotifyApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() CallNotify[source]

Get Call Notify Settings for User

Get Call Notify Settings for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

CallNotify

async update(enabled: bool, email_address: str = None)[source]

Modify Call Notify Settings for User

Update Call Notify Settings for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This API allows modifying attributes such as name, phoneNumbers etc for a particular criteria.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • enabled (bool) – Indicates whether the call notify feature should be enabled or disabled for the user.

  • email_address (str) – Email Address to which call notifications to be received.

Return type:

None

async criteria_create(criteria: CallNotifyCriteria) str[source]

Add a Call Notify Criteria

Create a Call Notify Criteria for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria – Criteria to be created.

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete a Call Notify Criteria

Delete a Call Notify criteria for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This API removes a specific criteria rule by its unique identifier.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the call notify criteria.

Return type:

None

async criteria_get(criteria_id: str) CallNotifyCriteria[source]

Get Call Notify Criteria Settings

Get Call Notify Criteria Settings for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The id parameter specifies the unique identifier for the call notify criteria.

Return type:

CallNotifyCriteria

async criteria_update(criteria: CallNotifyCriteria, criteria_id: str = None)[source]

Modify a Call Notify Criteria

Modify Call Notify Criteria Settings for the authenticated user.

Call Notify allows you to set up a unique ringtone based on predefined criteria. This API allows modifying attributes such as name, phoneNumbers etc for a particular criteria.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (CallNotifyCriteria) – Criteria to be modified.

  • criteria_id (str) – The id parameter specifies the unique identifier for the call notify criteria. Default: id from criteria

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallParkApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeGroupSettings[source]

Get My Call Park Settings

Get details of call park settings associated with the authenticated user.

Call Park allows call recipients to place a call on hold so that it can be retrieved from another device.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeGroupSettings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallPickupApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeGroupSettings[source]

Get My Call Pickup Group Settings

Get Call Pickup Group Settings for the authenticated user.

Call pickup group enables a user to answer any ringing line within their pickup group. A call pickup group is an administrator-defined set of users within a location, to which the call pickup feature applies.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeGroupSettings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallPoliciesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() PrivacyOnRedirectedCalls[source]

Get Call Policies Settings for User

Get call policies settings for the authenticated user.

Call Policies in Webex allow you to manage how your call information is displayed and handled. You can view privacy settings for your connected line ID on redirected calls and review other call-related preferences.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

UserCallPoliciesGetConnectedLineIdPrivacyOnRedirectedCalls

async update(connected_line_id_privacy_on_redirected_calls: PrivacyOnRedirectedCalls = None)[source]

Modify Call Policies Settings for User

Update call policies settings for the authenticated user.

Call Policies in Webex allow you to manage how your call information is displayed and handled. You can configure privacy settings for your connected line ID on redirected calls and control other call-related preferences.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

connected_line_id_privacy_on_redirected_calls (UserCallPoliciesGetConnectedLineIdPrivacyOnRedirectedCalls) –

  • NO_PRIVACY - Caller sees the final destination’s identity when call is redirected.

  • PRIVACY_FOR_EXTERNAL_CALLS - Internal callers see the final destination’s identity; external callers see the original recipient’s identity.

  • PRIVACY_FOR_ALL_CALLS - All callers see the original recipient’s identity when call is redirected

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallWaitingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() bool[source]

Get Call Waiting Settings for User

Get Call Waiting Settings for the authenticated user.

Call Waiting allows a user to receive multiple calls simultaneously. When the user is on an active call, they can receive an incoming call and switch between the two calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

bool

async update(enabled: bool)[source]

Modify Call Waiting Settings for User

Update Call Waiting Settings for the authenticated user.

Call Waiting allows a user to receive multiple calls simultaneously. When the user is on an active call, they can receive an incoming call and switch between the two calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

enabled (bool) – Enable or disable Call Waiting for the user.

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeCallerIdApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeCallerIdSettings[source]

Get My Caller ID Settings

Get Caller ID Settings for the authenticated user.

Calling Line ID Delivery Blocking in Webex prevents your name and phone number from being shown to people you call. Connected Line Identification Restriction allows you to block your name and phone number from being shown when receiving a call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeCallerIdSettings

async update(settings: MeCallerIdSettings)[source]

Modify My Caller ID Settings

Update Caller ID Settings for the authenticated user.

Calling Line ID Delivery Blocking in Webex prevents your name and phone number from being shown to people you call. Connected Line Identification Restriction allows you to block your name and phone number from being shown when receiving a call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (MeCallerIdSettings) – new settings

async available_caller_id_list() list[MeSelectedCallerId][source]

Get My Available Caller ID List

Get details of available caller IDs of the authenticated user.

Caller ID settings control how a person’s information is displayed when making outgoing calls. The available caller ID list shows the caller IDs that the user can choose from.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[MeSelectedCallerId]

async get_selected_caller_id_settings() MeSelectedCallerId[source]

Read My Selected Caller ID Settings

Read selected caller ID settings associated with the authenticated user.

Caller ID settings control how a person’s information is displayed when making outgoing calls. Selected Caller ID settings allow users to choose which configuration among available caller IDs is selected currently.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeSelectedCallerId

async modify_selected_caller_id_settings(settings: MeSelectedCallerId)[source]

Configure My Selected Caller ID Settings

Update selected caller ID settings associated with the authenticated user.

Caller ID settings control how a person’s information is displayed when making outgoing calls. Selected Caller ID settings allow users to choose which configuration among available caller IDs is selected currently.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (MeSelectedCallerId) – new settings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeDNDApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() DND[source]

Get Do Not Disturb Settings for User

Get Do Not Disturb settings for the authenticated user.

Do Not Disturb (DND) enables users to block or silence incoming calls on their phone. When activated, the phone either stops ringing or rejects calls depending on the configured option, but users can still see call information and answer calls if desired.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

DND

async configure(dnd_settings: DND)[source]

Update Do Not Disturb Settings for User

Update Do Not Disturb settings for the authenticated user.

Do Not Disturb (DND) enables users to block or silence incoming calls on their phone. When activated, the phone either stops ringing or rejects calls depending on the configured option, but users can still see call information and answer calls if desired.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

dnd_settings (DND) – new setting to be applied

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeEndpointsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async list() list[MeEndpoint][source]

Read the List of My Endpoints

Retrieve the list of endpoints associated with the authenticated user.

Endpoints are devices, applications, or hotdesking guest profiles. Endpoints can be owned by an authenticated user or have the user as a secondary line.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[MeEndpoint]

async details(endpoint_id: str) MeEndpoint[source]

Get My Endpoints Details

Get details of an endpoint associated with the authenticated user.

Endpoints are devices, applications, or hotdesking guest profiles. Endpoints can be owned by an authenticated user or have the user as a secondary line.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

endpoint_id (str) – Unique identifier of the endpoint.

Return type:

MeEndpoint

async update(endpoint_id: str, mobility_alerting_enabled: bool) None[source]

Modify My Endpoints Details

Update alerting settings of the mobility endpoint associated with the authenticated user.

Endpoints are devices, applications, or hotdesking guest profiles. Endpoints can be owned by an authenticated user or have the user as a secondary line.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • endpoint_id (str) – Unique identifier of the endpoint.

  • mobility_alerting_enabled (bool) – If true, alerting is enabled for the endpoint.

Return type:

None

async available_preferred_answer_endpoints(org_id: str = None) list[MeEndpoint][source]

Get List Available Preferred Answer Endpoints

Get the person’s preferred answer endpoint and the list of endpoints available for selection. The list of endpoints is empty if the person has no endpoints assigned which support the preferred answer endpoint functionality.

A Webex Calling user may be associated with multiple endpoints such as Webex App (desktop or mobile), Cisco desk IP phone, Webex Calling-supported analog devices or third-party endpoints. Preferred answering endpoints allow users to specify which of these devices should be prioritized for answering calls, particularly when a person’s extension (or a virtual line assigned to them) rings on multiple devices. This helps ensure that calls are answered on the most convenient or appropriate device for the person.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

list[Endpoints]

async get_preferred_answer_endpoint() MeEndpoint | None[source]

Get Preferred Answer Endpoint

Retrieve the selected preferred answering endpoint for the user. If a preferred endpoint is not set for the person, API returns empty

A Webex Calling user may be associated with multiple endpoints such as Webex App (desktop or mobile), Cisco desk IP phone, Webex Calling-supported analog devices or third-party endpoints. Preferred answering endpoints allow users to specify which of these devices should be prioritized for answering calls, particularly when a person’s extension (or a virtual line assigned to them) rings on multiple devices. This helps ensure that calls are answered on the most convenient or appropriate device for the person.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeEndpoint

async modify_preferred_answer_endpoint(id: str) None[source]

Modify Preferred Answer Endpoint

Sets or clears the person’s preferred answer endpoint. To clear the preferred answer endpoint the id attribute must be set to null.

A Webex Calling user may be associated with multiple endpoints such as Webex App (desktop or mobile), Cisco desk IP phone, Webex Calling-supported analog devices or third-party endpoints. Preferred answering endpoints allow users to specify which of these devices should be prioritized for answering calls, particularly when a person’s extension (or a virtual line assigned to them) rings on multiple devices. This helps ensure that calls are answered on the most convenient or appropriate device for the person.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

id (str) – Person’s preferred answer endpoint.

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeExecutiveApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async alert_settings() ExecAlert[source]

Get User Executive Alert Settings

Get executive alert settings for the authenticated user.

Executive Alert settings in Webex allow you to control how calls are routed to executive assistants, including alerting mode, rollover options, and caller ID presentation. You can configure settings such as sequential or simultaneous alerting, and specify what happens when calls aren’t answered.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

ExecAlert

async update_alert_settings(settings: ExecAlert)[source]

Modify User Executive Alert Settings

Update executive alert settings for the authenticated user.

Executive Alert settings in Webex allow you to control how calls are routed to executive assistants, including alerting mode, rollover options, and caller ID presentation. You can configure settings such as sequential or simultaneous alerting, and specify what happens when calls aren’t answered.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (ExecAlert) – Alert settings

async assigned_assistants() AssignedAssistants[source]

Get My Executive Assigned Assistants

Get list of assigned executive assistants for an authenticated user.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

AssignedAssistants

async update_assigned_assistants(assigned_assistants: AssignedAssistants)[source]

Modify My Executive Assigned Assistants

Update assigned executive assistants for the authenticated user.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

assigned_assistants (AssignedAssistants) – Assigned Assistants

Return type:

None

async executive_assistant_settings() AssistantSettings[source]

Get My Executive Assistant Settings

Get settings for an executive assistant.

Executive assistants can make, answer, intercept, and route calls appropriately on behalf of their executive. Assistants can also set the call forwarding destination, and join or leave an executive’s pool.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

AssistantSettings

async update_executive_assistant_settings(assistant_settings: AssistantSettings)[source]

Modify My Executive Assistant Settings

Update Settings for an executive assistant.

Executive assistants can make, answer, intercept, and route calls appropriately on behalf of their executive. Assistants can also set the call forwarding destination, and join or leave an executive’s pool.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

assistant_settings (AssistantSettings) – My Executive Assistant Settings

async executive_available_assistants() list[ExecOrAssistant][source]

Get My Executive Available Assistants

Get a list of available executive assistants for the authenticated user.

As an executive, you can add assistants to your executive pool to manage calls for you. You can set when and which types of calls they can handle. Assistants can opt in when needed or opt out when not required.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[ExecOrAssistant]

async executive_call_filtering_settings() ExecCallFiltering[source]

Get User Executive Call Filtering Settings

Get executive call filtering settings for the authenticated user.

Executive Call Filtering in Webex allows you to control which calls are allowed to reach the executive assistant based on custom criteria, such as specific phone numbers or call types. You can enable or disable call filtering and configure filter rules to manage incoming calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

ExecCallFiltering

async update_executive_call_filtering_settings(settings: ExecCallFiltering)[source]

Update User Executive Call Filtering Settings

Update executive call filtering settings for the authenticated user.

Executive Call Filtering in Webex allows you to control which calls are allowed to reach the executive assistant based on custom criteria, such as specific phone numbers or call types. You can enable or disable call filtering and configure filter rules to manage incoming calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (ExecCallFiltering) – Call Filtering Settings

async create_call_filtering_criteria(settings: ExecCallFilteringCriteria) str[source]

Add User Executive Call Filtering Criteria

Create a new executive call filtering criteria for the authenticated user.

Executive Call Filtering Criteria in Webex allows you to define detailed filter rules for incoming calls. This API creates a new filter rule with the specified configuration, including schedule, phone numbers, and call routing preferences.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (ExecCallFilteringCriteria) – Call Filtering Settings

async delete_call_filtering_criteria(id: str)[source]

Delete User Executive Call Filtering Criteria

Delete a specific executive call filtering criteria for the authenticated user.

Executive Call Filtering Criteria in Webex allows you to manage detailed filter rules for incoming calls. This API removes a specific filter rule by its unique identifier.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL2RHVnpkRjltYVd4MFpYST0.

Return type:

None

async call_filtering_criteria(id: str) ExecCallFilteringCriteria[source]

Get User Executive Call Filtering Criteria Settings

Get executive call filtering criteria settings for the authenticated user.

Executive Call Filtering Criteria in Webex allows you to retrieve detailed configuration for a specific filter rule. This includes schedule settings, phone number filters, and call routing preferences for executive call filtering.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL2RHVnpkRjltYVd4MFpYST0.

Return type:

ExecCallFilteringCriteria

async update_call_filtering_criteria(id: str, settings: ExecCallFilteringCriteria) str[source]

Update User Executive Call Filtering Criteria Settings

Update executive call filtering criteria settings for the authenticated user.

Executive Call Filtering Criteria in Webex allows you to modify detailed configuration for a specific filter rule. This includes updating schedule settings, phone number filters, and call routing preferences for executive call filtering.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • id (str) – The id parameter specifies the unique identifier for the executive call filtering criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL2RHVnpkRjltYVd4MFpYST0.

  • settings (ExecCallFilteringCriteria) – Call Filtering Settings

Return type:

str

async screening_settings() ExecScreening[source]

Get User Executive Screening Settings

Get executive screening settings for the authenticated user.

Executive Screening in Webex allows you to manage how incoming calls are screened and alerted based on your preferences. You can enable or disable executive screening and configure alert types and locations for notifications.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

ExecScreening

async update_screening_settings(settings: ExecScreening)[source]

Modify User Executive Screening Settings

Update executive screening settings for the authenticated user.

Executive Screening in Webex allows you to manage how incoming calls are screened and alerted based on your preferences. You can enable or disable executive screening and configure alert types and locations for notifications.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (ExecScreening) – Screening Settings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeForwardingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() PersonForwardingSetting[source]

Read My Call Forwarding Settings

Read call forwarding settings associated with the authenticated user.

Three types of call forwarding are supported:

  • Always - forwards all incoming calls to the destination you choose.

  • When busy - forwards all incoming calls to the destination you chose while the phone is in use or the person is busy.

  • When no answer - forwarding only occurs when you are away or not answering your phone.

In addition, the Business Continuity feature will send calls to a destination of your choice if your phone is not connected to the network for any reason, such as a power outage, failed Internet connection, or wiring problem.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

PersonForwardingSetting

async configure(forwarding: PersonForwardingSetting)[source]

Configure My Call Forwarding Settings

Update call forwarding settings associated with the authenticated user.

Three types of call forwarding are supported:

  • Always - forwards all incoming calls to the destination you choose.

  • When busy - forwards all incoming calls to the destination you chose while the phone is in use or the person is busy.

  • When no answer - forwarding only occurs when you are away or not answering your phone.

In addition, the Business Continuity feature will send calls to a destination of your choice if your phone is not connected to the network for any reason, such as a power outage, failed Internet connection, or wiring problem.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

forwarding (PersonForwardingSetting) – new forwarding settings

Example

api = self.api.me.forwarding

forwarding = api.read()
always = CallForwardingAlways(
    enabled=True,
    destination='9999',
    destination_voicemail_enabled=True,
    ring_reminder_enabled=True)
forwarding.call_forwarding.always = always
api.configure(forwarding=forwarding)
base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeHotelingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

get_available_hosts_gen(name: str = None, phone_number: str = None, **params: Any) AsyncGenerator[AvailableHotelingHost, None][source]

Get Available Hoteling Hosts

Retrieve a list of available hoteling hosts that a person can associate with as a guest. Returns hosts that have hoteling enabled on their devices and are available for guest associations. The list can be filtered by name or phone number and supports pagination.

Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • name (str) – Filter hosts by name (first name or last name). Partial match is supported.

  • phone_number (str) – Filter hosts by phone number. Partial match is supported.

Returns:

Generator yielding AvailableHotelingHost instances

async get_available_hosts(name: str = None, phone_number: str = None, **params: Any) list[AvailableHotelingHost][source]

Get Available Hoteling Hosts

Retrieve a list of available hoteling hosts that a person can associate with as a guest. Returns hosts that have hoteling enabled on their devices and are available for guest associations. The list can be filtered by name or phone number and supports pagination.

Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • name (str) – Filter hosts by name (first name or last name). Partial match is supported.

  • phone_number (str) – Filter hosts by phone number. Partial match is supported.

Returns:

Generator yielding AvailableHotelingHost instances

async get_guest_settings() HotelingGuestSettings[source]

Get Hoteling Guest Settings

Retrieve hoteling guest settings for a person. Hoteling allows a person to temporarily use a device as a guest, associating their extension and configuration with that device for a limited time. This API returns the current hoteling guest configuration including any active host association details.

Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

HotelingGuestSettings

async update_guest_settings(settings: HotelingGuestSettings) None[source]

Update Hoteling Guest Settings

Update hoteling guest settings for a person. Allows enabling or disabling the ability to use hoteling as a guest, configuring whether an association will be removed automatically after a specified time period, and associating with a hoteling host.

Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (HotelingGuestSettings) – Hoteling settings to update

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeModeManagementApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get_features() list[ModeManagementFeature][source]

Get Mode Management Features

Retrieves a list of all mode management features (Auto Attendants, Call Queues, and Hunt Groups) for which the authenticated user has been designated as a mode manager. This API returns basic information about each feature including its ID, name, and type.

Mode Management allows designated managers to switch features between different operational configurations based on time schedules or manual triggers. This is useful for managing business hours, holidays, and emergency scenarios.

This API requires a user auth token with the spark:telephony_config_read scope. The authenticated user must be configured as a mode manager for at least one feature to receive results.

Return type:

list[ModeManagementFeature]

async switch_mode_multiple_features(feature_ids: list[str], operating_mode_name: str) None[source]

Switch Mode for Multiple Features

Switches the operating mode for multiple features simultaneously by specifying a common mode name. This API accepts a list of feature IDs and sets all of them to the specified operating mode, provided that mode exists for all features.

This bulk operation is particularly useful for coordinating operational changes across an organization, such as activating holiday modes, emergency procedures, or after-hours configurations across multiple Auto Attendants, Call Queues, and Hunt Groups at once.

This API requires a user auth token with the spark:telephony_config_write scope. The authenticated user must be a mode manager for all specified features.

Parameters:
  • feature_ids (list[str]) – List of feature IDs to switch mode

  • operating_mode_name (str) – Name of the common operating mode to be set as current operating mode

Return type:

None

async get_common_modes(feature_ids: list[str]) list[str][source]

Get Common Modes

Retrieves a list of common operating mode names that are shared across multiple specified features. This API accepts a list of feature IDs and returns only the mode names that exist in all of the specified features, allowing managers to switch multiple features to the same mode simultaneously.

Common modes are useful when you need to coordinate operational changes across multiple features. For example, switching an entire office to “Holiday” mode across all Auto Attendants and Call Queues at once.

This API requires a user auth token with the spark:telephony_config_read scope. The authenticated user must be a mode manager for the specified features.

Parameters:

feature_ids (list[str]) – List of feature IDs (comma-separated) for auto attendants, call queues, or hunt groups

Return type:

list[str]

async feature_get(feature_id: str) FeatureDetail[source]

Get Mode Management Feature

Retrieves detailed information about a specific mode management feature including its current operating mode and exception status. This API provides the feature’s ID, name, type, current operating mode ID, and whether it is currently in an exception mode.

Exception mode indicates that the feature has been manually switched to a different mode than what its schedule dictates. This information is critical for mode managers to understand the current state of their features.

This API requires a user auth token with the spark:telephony_config_read scope. The authenticated user must be a mode manager for the specified feature.

Parameters:

feature_id (str) – Unique identifier for the feature.

Return type:

FeatureDetail

async extend_mode(feature_id: str, operating_mode_id: str, extension_time: int = None) None[source]

Extend Current Operating Mode Duration

Extends the duration of the current operating mode by adding additional time before it expires or reverts to scheduled operation. This API allows managers to prolong a temporary mode change without having to switch modes again.

Extension time can be specified in 30-minute increments up to 720 minutes (12 hours). If no extension time is provided, the mode is extended with a manual switchback exception, meaning it will remain active until manually changed.

This API requires a user auth token with the spark:telephony_config_write scope. The authenticated user must be a mode manager for the specified feature.

Parameters:
  • feature_id (str) – Unique identifier for the feature.

  • operating_mode_id (str) – Unique identifier for the operating mode for which the extension is being configured.

  • extension_time (int) – Extension time in minutes (must be multiple of 30). If not sent, mode is extended with manual switch back exception

Return type:

None

async switch_mode_for_feature(feature_id: str, operating_mode_id: str, is_manual_switchback_enabled: bool = None) None[source]

Switch Mode for Single Feature

Switches the operating mode for a single feature to a specified mode, either temporarily or with manual switchback. This API creates an exception to the feature’s normal scheduled operation, allowing managers to manually control the feature’s behavior.

You can configure whether the mode switch is temporary (automatically reverts based on schedule) or requires manual switchback. This is useful for handling unexpected situations like emergency closures, special events, or unscheduled breaks.

This API requires a user auth token with the spark:telephony_config_write scope. The authenticated user must be a mode manager for the specified feature.

Parameters:
  • feature_id (str) – Unique identifier for the feature.

  • operating_mode_id (str) – Operating mode ID to switch to

  • is_manual_switchback_enabled (bool) – Determines if switch back will be manual (if true) or automatic (if false or omitted from request)

Return type:

None

async switch_to_normal_operation(feature_id: str) None[source]

Switch to Normal Operation

Switches the feature back to its normal scheduled operation mode, removing any manual exceptions or overrides that may be active. This returns the feature to operating according to its configured time schedules.

This operation is useful when a temporary manual mode change (exception) is no longer needed and you want to restore automatic schedule-based operation. It effectively cancels any active manual mode switches.

This API requires a user auth token with the spark:telephony_config_write scope. The authenticated user must be a mode manager for the specified feature.

Parameters:

feature_id (str) – Unique identifier for the feature.

Return type:

None

async get_operating_mode(feature_id: str, mode_id: str) OperatingModeDetail[source]

Get Operating Mode

Retrieves detailed information about a specific operating mode for a feature, including the mode’s ID and name. This API allows managers to get the details of any operating mode configured for a feature.

Operating modes define different configurations for how a feature behaves (e.g., business hours routing vs. after-hours routing). Each mode has a unique ID and a descriptive name that helps managers identify its purpose.

This API requires a user auth token with the spark:telephony_config_read scope. The authenticated user must be a mode manager for the specified feature.

Parameters:
  • feature_id (str) – Unique identifier for the feature.

  • mode_id (str) – Unique identifier for the operating mode.

Return type:

OperatingModeDetail

async get_normal_operation_mode(feature_id: str) str[source]

Get Normal Operation Mode

Retrieves the current normal operating mode that the feature is scheduled to be in based on its time schedules. This represents the mode the feature would be in if no manual exceptions or overrides were active.

The normal operation mode is determined by the feature’s configured schedules and may differ from the actual current operating mode if a manual exception has been applied. This API helps managers understand what the scheduled behavior is versus the actual current state.

This API requires a user auth token with the spark:telephony_config_read scope. The authenticated user must be a mode manager for the specified feature.

Parameters:

feature_id (str) – Unique identifier for the feature.

Return type:

str

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMePersonalAssistantApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Personal Assistant Settings For Me

Call settings for me APIs allow a person to read or modify their settings.

Viewing settings requires a user auth token with a scope of spark:telephony_config_read.

Configuring settings requires a user auth token with a scope of spark:telephony_config_write.

async get() PersonalAssistant[source]

Get Personal Assistant Settings

Retrieve personal assistant settings for a person. The personal assistant feature allows users to configure an automated attendant that can handle incoming calls when they are unavailable, including presence-based routing and call transfer options.

Personal Assistant is a feature of Webex Calling that helps manage incoming calls based on the user’s availability status.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

PersonalAssistant

async update(settings: PersonalAssistant)[source]

Modify My Personal Assistant

Update user’s own Personal Assistant details.

Personal Assistant is used to manage a user’s incoming calls when they are away.

Updating Personal Assistant details requires a auth token with the spark:telephony_config_write.

Parameters:

settings (PersonalAssistant) – Personal Assistant settings.

Return type:

None

base = 'telephony/config/people/me/settings/personalAssistant'
class wxc_sdk.as_api.AsMePriorityAlertApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() PriorityAlert[source]

Get Priority Alert Settings

Get Priority Alert Settings for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

PriorityAlert

async update(enabled: bool)[source]

Modify Priority Alert Settings for User

Update Priority Alert Settings for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

enabled (bool) – Indicates whether the priority alert feature should be enabled or disabled for the user.

Return type:

None

async criteria_create(criteria: PriorityAlertCriteria) str[source]

Add a Priority Alert Criteria

Create a Priority Alert Criteria for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (PriorityAlertCriteria) – Priority Alert Criteria

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete a Priority Alert Criteria

Delete a Priority Alert criteria for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This API removes a specific criteria rule by its unique identifier.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the priority alert criteria.

Return type:

None

async criteria_get(criteria_id: str) PriorityAlertCriteria[source]

Get Priority Alert Criteria Settings

Get Priority Alert Criteria Settings for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This is helpful, when the user wants to be quickly notified that a specific phone number is calling.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the priority alert criteria.

Return type:

PriorityAlertCriteria

async criteria_update(criteria: PriorityAlertCriteria, criteria_id: str = None)[source]

Modify Settings for a Priority Alert Criteria

Modify Priority Alert Criteria Settings for the authenticated user.

Priority alert allows you to set up a unique ringtone based on predefined criteria. This API allows modifying attributes such as name, phoneNumbers etc for a particular criteria.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria_id (str) – The criteria_id parameter specifies the unique identifier for the priority alert criteria. Default: id from criteria

  • criteria (PriorityAlertCriteria) – Priority Alert Criteria

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeRecordingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeRecordingSettings[source]

Get My Call Recording Settings

Get details of call recording settings associated with the authenticated user.

Call recording settings allow you to access and customize options that determine when and how your calls are recorded, providing control over recording modes and notifications.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeRecordingSettings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSNRApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() MeSNRSettings[source]

Get User’s Single Number Reach Settings

Retrieves all single number reach settings configured for the authenticated user.

The “Single Number Reach” feature in Webex allows users to access their business phone capabilities from any device, making it easy to make and receive calls as if at their office. This is especially useful for remote or mobile workers needing flexibility.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeSNRSettings

async update(alert_all_locations_for_click_to_dial_calls_enabled: bool = None)[source]

Update User’s Single Number Reach Settings

Updates single number reach settings associated with the authenticated user.

The “Single Number Reach” feature in Webex allows users to access their business phone capabilities from any device, making it easy to make and receive calls as if at their office. This is especially useful for remote or mobile workers needing flexibility.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

alert_all_locations_for_click_to_dial_calls_enabled (bool) – If true, all locations will be alerted for click-to-dial calls.

Return type:

None

async create_snr(settings: SingleNumberReachNumber) str[source]

Add phone number as User’s Single Number Reach

Add a phone number as a single number reach for the authenticated user.

The “Single Number Reach” feature in Webex allows users to access their business phone capabilities from any device, making it easy to make and receive calls as if at their office. This is especially useful for remote or mobile workers needing flexibility.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (SingleNumberReachNumber) – User’s Single Number Reach Settings

Returns:

Unique identifier of the phone number.

Return type:

str

async delete_snr(phone_number_id: str)[source]

Delete User’s Single Number Reach Contact Settings

Delete contact settings associated with the authenticated user.

The “Single Number Reach” feature in Webex allows users to access their business phone capabilities from any device, making it easy to make and receive calls as if at their office. This is especially useful for remote or mobile workers needing flexibility.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

phone_number_id (str) – Unique identifier of the phone number.

Return type:

None

async update_snr(phone_number_id: str, settings: SingleNumberReachNumber)[source]

Modify User’s Single Number Reach Contact Settings

Update the contact settings of single number reach for the authenticated user.

The “Single Number Reach” feature in Webex allows users to access their business phone capabilities from any device, making it easy to make and receive calls as if at their office. This is especially useful for remote or mobile workers needing flexibility.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • phone_number_id (str) – Unique identifier of the phone number.

  • settings (SingleNumberReachNumber) – User’s Single Number Reach Settings

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSchedulesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get_location_schedule(schedule_type: ScheduleType, schedule_id: str) Schedule[source]

Get User’s Location Level Schedule

Get Location Schedule for Call Settings of the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • schedule_type (ScheduleType) – Type of the schedule.

  • schedule_id (str) – Retrieve the schedule with the matching ID.

Return type:

Schedule

async list() list[Schedule][source]

Get User (and Location) Schedules

Get Schedules for Call Settings for the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[UserSchedule]

async create(schedule: Schedule) str[source]

Add a User level Schedule for Call Settings

Create a new Schedule for the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

schedule (Schedule) – Schedule details

Return type:

str

async delete(schedule_type: ScheduleType, schedule_id: str)[source]

Delete a User Schedule

Delete a specific schedule for the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • schedule_type (ScheduleType) – Type of the schedule.

  • schedule_id (str) – Delete the schedule with the matching ID.

Return type:

None

async get_user_schedule(schedule_type: ScheduleType, schedule_id: str) Schedule[source]

Get User Schedule

Get a Schedule details for Call Settings of the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • schedule_type (ScheduleType) – Type of the schedule.

  • schedule_id (str) – Retrieve the schedule with the matching ID.

Return type:

UserScheduleGetResponse

async update(schedule: Schedule, schedule_type: ScheduleType = None, schedule_id: str = None)[source]

Modify User Schedule

Modify a Schedule details for Call Settings of the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • schedule (Schedule) – Schedule details

  • schedule_type (ScheduleType) – Type of the schedule. Default: schedule_type from schedule

  • schedule_id (str) – Update the schedule with the matching ID. Default: schedule_id from schedule

Return type:

None

async event_create(schedule_type: ScheduleType, schedule_id: str, event: Event) str[source]

Add an event for a User Schedule

Create a new Event for the authenticated user’s specified schedule.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • schedule_type (ScheduleType) – Type of the schedule.

  • schedule_id (str) – add an event for the specified schedule ID.

  • event (Event) – Event details

Return type:

str

async event_delete(schedule_type: ScheduleType, schedule_id: str, event_id: str)[source]

Delete User a Schedule Event

Delete a specific schedule event for the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • schedule_type (ScheduleType) – Type of the schedule.

  • schedule_id (str) – Delete an event for the specified schedule ID.

  • event_id (str) – Delete the event with the matching ID.

Return type:

None

async event_get(schedule_type: ScheduleType, schedule_id: str, event_id: str) Event[source]

Get User Schedule Event

Get a Schedule Event details for Call Settings of the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • schedule_type (ScheduleType) –

    Type of the schedule.

    • businessHours - Business hours schedule type.

    • holidays - Holidays schedule type.

  • schedule_id (str) – Retrieve the schedule with the matching ID.

  • event_id (str) – Retrieve the event with the matching ID.

Return type:

Event

async event_update(schedule_type: ScheduleType, schedule_id: str, event: Event, event_id: str = None)[source]

Modify User Schedule Event

Modify a Schedule event details for Call Settings of the authenticated user.

Schedules are used to define specific time periods which can be applied to various Call Settings, such as Sequential Ring, or Priority Alert. These call settings perform the defined actions based on the time frame in the schedule, making it more convenient for users to manage their calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • schedule_type (ScheduleType) –

    Type of the schedule.

    • businessHours - Business hours schedule type.

    • holidays - Holidays schedule type.

  • schedule_id (str) – Update an event for the specified schedule ID.

  • event (Event) – Event details

  • event_id (str) – Update the event with the matching ID. Default: event id from event

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSelectiveAcceptApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() SelectiveAccept[source]

Get Selective Call Accept Settings for User

Get Selective Call Accept Settings for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

SelectiveAccept

async update(enabled: bool)[source]

Modify Selective Call Accept Settings for User

Update Selective Call Accept Settings for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

enabled (bool) – indicates whether selective accept is enabled or not.

Return type:

None

async criteria_create(criteria: SelectiveAcceptCriteria) str[source]

Add User Selective Call Accept Criteria

Create a new Selective Call Accept Criteria for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (SelectiveAcceptCriteria) – Selective Call Accept Criteria settings

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete a Selective Call Accept Criteria

Delete a Selective Call Accept Criteria for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call accept criteria.

Return type:

None

async criteria_get(criteria_id: str) SelectiveAcceptCriteria[source]

Get Selective Call Accept Criteria Settings for User

Get Selective Call Accept Criteria Settings for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call accept criteria.

Return type:

SelectiveAcceptCallCriteriaGet

async criteria_update(criteria: SelectiveAcceptCriteria, criteria_id: str = None)[source]

Modify a Selective Call Accept Criteria

Modify Selective Call Accept Criteria Settings for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (SelectiveAcceptCriteria) – Selective Call Accept Criteria settings

  • criteria_id (str) – Specifies the unique identifier for the selective call accept criteria. Default: id from criteria

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSelectiveForwardApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() SelectiveForward[source]

Get Selective Call Forward Settings for User

Get Selective Call Forward Settings for the authenticated user.

Selective Call Forward allows you to create customized rules to forward specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

SelectiveForward

async update(forward: SelectiveForward) None[source]

Modify Selective Call Forward Settings for User

Update the Selective Call Forward Settings for the authenticated user.

Selective Call Accept allows you to create customized rules to accept specific calls for users based on the phone number, identity, and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

forward (SelectiveForward) – Selective Call Forward Settings

Return type:

None

async criteria_create(criteria: MeSelectiveForwardCriteria) str[source]

Add a Selective Call Forwarding Criteria

Create a Selective Call Forwarding Criteria for the authenticated user.

Selective Call Forward allows you to define rules that automatically forward incoming calls based on specific criteria, such as the caller’s phone number, caller identity, and the time and day the call is received.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (MeSelectiveForwardCriteria) – Selective Call Forward Criteria settings

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete a Selective Call Forwarding Criteria

Delete a Selective Call Forwarding Criteria for the authenticated user.

Selective call forwarding allows you to define rules that automatically forward incoming calls based on specific criteria. This API removes a specific criteria rule by its unique identifier.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call forwarding criteria.

Return type:

None

async criteria_get(criteria_id: str) MeSelectiveForwardCriteria[source]

Get Settings for a Selective Call Forwarding Criteria

Get settings for a Selective Call Forwarding Criteria for the authenticated user.

Selective Call Forward allows you to define rules that automatically forward incoming calls based on specific criteria, such as the caller’s phone number, caller identity, and the time and day the call is received.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call forwarding criteria.

Return type:

MeSelectiveForwardCriteria

async criteria_update(criteria: MeSelectiveForwardCriteria, criteria_id: str)[source]

Modify Settings for a Selective Call Forwarding Criteria

Modify settings for a Selective Call Forwarding Criteria for the authenticated user.

Selective Call Forward allows you to define rules that automatically forward incoming calls based on specific criteria, such as the caller’s phone number, caller identity, and the time and day the call is received.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (MeSelectiveForwardCriteria) – Selective Call Forward Criteria settings

  • criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call forwarding criteria. Default: id from criteria. Example: Y2lzY29zcGFyazovL3VzL0NSSVRFUklBL1oxNzU0MzgzODQzNTA5NzY.

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSelectiveRejectApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() SelectiveReject[source]

Get Selective Call Reject Settings for User

Get Selective Call Reject Settings for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

SelectiveReject

async update(enabled: bool)[source]

Modify Selective Call Reject Settings for User

Update Selective Call Reject Settings for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

enabled (bool) – Indicates whether selective reject is enabled.

Return type:

None

async criteria_create(criteria: SelectiveRejectCriteria) str[source]

Add User Selective Call Reject Criteria

Create a new Selective Call Reject Criteria for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (SelectiveRejectCriteria) – Selective Call Reject Criteria settings

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete a Selective Call Reject Criteria

Delete a Selective Call Reject Criteria for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call reject criteria.

Return type:

None

async criteria_get(criteria_id: str) SelectiveRejectCriteria[source]

Get Selective Call Reject Criteria Settings for User

Get Selective Call Reject Criteria Settings for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call reject criteria.

Return type:

SelectiveRejectCriteria

async criteria_update(criteria: SelectiveRejectCriteria, criteria_id: str = None)[source]

Modify a Selective Call Reject Criteria

Modify Selective Call Reject Criteria Settings for the authenticated user.

Selective Call Reject allows you to create customized rules to reject specific calls for users based on the phone number,identity and the time or day of the call.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (SelectiveRejectCriteria) – Selective Call Reject Criteria settings

  • criteria_id (str) – The criteria_id parameter specifies the unique identifier for the selective call reject. Default: id from criteria.

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSequentialRingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() SequentialRing[source]

Get Sequential Ring Settings for User

Get Sequential Ring Settings for the authenticated user.

Sequential Ring allows calls to ring additional phone numbers in sequence if the initial call is not answered. This can be configured to ring up to five phone numbers with customizable ring patterns.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

SequentialRing

async update(settings: SequentialRing)[source]

Modify Sequential Ring Settings for User

Update Sequential Ring Settings for the authenticated user.

Sequential Ring allows calls to ring additional phone numbers in sequence if the initial call is not answered. This can be configured to ring up to five phone numbers with customizable ring patterns.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings (SequentialRing) – New sequential ring settings

Return type:

None

async criteria_create(criteria: SequentialRingCriteria) str[source]

Add User Sequential Ring Criteria

Create a new Sequential Ring Criteria for the authenticated user.

Sequential Ring criteria defines rules for when sequential ring should activate based on the caller and schedule.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (SequentialRingCriteria) – New sequential ring criteria settings

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete Sequential Ring Criteria

Delete a Sequential Ring Criteria for the authenticated user.

Sequential Ring criteria defines rules for when sequential ring should activate based on the caller and schedule.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the sequential ring criteria.

Return type:

None

async criteria_get(criteria_id: str) SequentialRingCriteria[source]

Get Sequential Ring Criteria Settings for User

Get Sequential Ring Criteria Settings for the authenticated user.

Sequential Ring criteria defines rules for when sequential ring should activate based on the caller and schedule.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – The criteria_id parameter specifies the unique identifier for the sequential ring criteria.

Return type:

SequentialRingCriteria

async criteria_update(criteria: SequentialRingCriteria, criteria_id: str = None)[source]

Modify Sequential Ring Criteria Settings for User

Update Sequential Ring Criteria Settings for the authenticated user.

Sequential Ring criteria defines rules for when sequential ring should activate based on the caller and schedule.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (SequentialRingCriteria) – New sequential ring criteria settings

  • criteria_id (str) – The criteria_id parameter specifies the unique identifier for the sequential ring criteria. Default: id from criteria

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSettingsApi(session: AsRestSession)[source]

Bases: AsApiChild

Call Settings For Me

Call settings for me APIs allow a person to read or modify their settings.

Viewing settings requires a user auth token with a scope of spark:telephony_config_read.

Configuring settings requires a user auth token with a scope of spark:telephony_config_write.

__init__(session: AsRestSession)[source]
anon_calls: AsMeAnonCallsApi
barge: AsMeBargeApi
call_block: AsMeCallBlockApi
call_center: AsMeCallCenterApi
call_notify: AsMeCallNotifyApi
call_park: AsMeCallParkApi
call_pickup: AsMeCallPickupApi
call_policies: AsMeCallPoliciesApi
call_waiting: AsMeCallWaitingApi
caller_id: AsMeCallerIdApi
calls: AsMeCallControlApi
dnd: AsMeDNDApi
endpoints: AsMeEndpointsApi
executive: AsMeExecutiveApi
forwarding: AsMeForwardingApi
go_override: AsGoOverrideApi
hoteling: AsMeHotelingApi
mode_management: AsMeModeManagementApi
personal_assistant: AsMePersonalAssistantApi
priority_alert: AsMePriorityAlertApi
recording: AsMeRecordingApi
schedules: AsMeSchedulesApi
selective_accept: AsMeSelectiveAcceptApi
selective_forward: AsMeSelectiveForwardApi
selective_reject: AsMeSelectiveRejectApi
sequential_ring: AsMeSequentialRingApi
sim_ring: AsMeSimRingApi
snr: AsMeSNRApi
voicemail: AsMeVoicemailApi
async details() MeProfile[source]

Get My Own Details

Get profile details for the authenticated user.

Profile details include the user’s name, email, location and calling details.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeProfile

async announcement_languages() list[AnnouncementLanguage][source]

Retrieve announcement languages for the authenticated user

Retrieve the list of available announcement languages for the authenticated user’s telephony configuration.

Announcement languages determine the language used for system prompts and announcements during calls.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[AnnouncementLanguage]

async country_telephony_config_requirements(country_code: str) CountryTelephonyConfigRequirements[source]

Retrieve country-specific telephony configuration requirements

Retrieve country-specific telephony configuration requirements for the authenticated user.

Webex Calling supports multiple regions and time zones to validate and present the information using the local date and time, as well as localized dialing rules.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

country_code (str) – The ISO country code for which configuration requirements are requested.

Return type:

CountryTelephonyConfigRequirements

async feature_access_codes() list[FeatureAccessCode][source]

Get My Feature Access Codes

Retrieve all Feature Access Codes configured for services that are assigned to the authenticated user. For each feature access code, the name and code are returned. If an alternate code is defined, it is also returned.

Feature access codes (FACs), also known as star codes, give users access to advanced calling features.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[FeatureAccessCode]

async monitoring_settings() MeMonitoringSettings[source]

Get My Monitoring Settings

Retrieves the monitoring settings of the logged in person, which shows specified people, places, virtual lines or call park extensions that are being monitored.

Monitors the line status which indicates if a person, place or virtual line is on a call and if a call has been parked on that extension.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeMonitoringSettings

async calling_services_list() list[ServicesEnum][source]

Get My Calling Services List

Retrieves the list of enabled calling services for the authenticated user.

These services are designed to improve call handling and ensure that users can manage their communications effectively. They are commonly found in both personal and business telephony systems.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[ServicesEnum]

async call_captions_settings() UserCallCaptions[source]

Get my call captions settings

Retrieve the effective call captions settings of the authenticated user.

NOTE: The call captions feature is not supported for Webex Calling Standard users or users assigned to locations in India.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

UserCallCaptions

available_numbers_for_location_gen(name: str = None, phone_number: str = None, extension: str = None, order: str = None, **params: Any) AsyncGenerator[LocationAssignedNumber, None][source]

Get Available Numbers for User’s Location.

Fetch all the numbers available in User’s location.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • name (str) – List numbers whose owner name contains this string.

  • phone_number (str) – List numbers whose phoneNumber contains this string.

  • extension (str) – List numbers whose extension contains this string.

  • order (str) – Sort the list of numbers based on lastName, dn, extension either asc or desc.

Returns:

Generator yielding LocationAssignedNumber instances

async available_numbers_for_location(name: str = None, phone_number: str = None, extension: str = None, order: str = None, **params: Any) list[LocationAssignedNumber][source]

Get Available Numbers for User’s Location.

Fetch all the numbers available in User’s location.

This API requires a user auth token with a scope of spark:telephony_config_read.

Parameters:
  • name (str) – List numbers whose owner name contains this string.

  • phone_number (str) – List numbers whose phoneNumber contains this string.

  • extension (str) – List numbers whose extension contains this string.

  • order (str) – Sort the list of numbers based on lastName, dn, extension either asc or desc.

Returns:

Generator yielding LocationAssignedNumber instances

async guest_calling_numbers() list[GuestCallingNumber][source]

Retrieve My Guest Calling Numbers

Retrieve available guest calling numbers for the authenticated user.

This API returns a list of phone numbers that can be used for guest calling purposes.

Retrieving guest calling numbers requires a user auth token with a scope of spark:telephony_config_read.

Return type:

list[GuestCallingNumber]

async contact_center_extensions() CCExtensions[source]

Read the Contact Center Extensions

Retrieves the Contact Center phone number, extension, virtual numbers, endpoints, and endpoints registration status associated with the authenticated user. This API returns all primary and secondary endpoints, the hot desk guest profiles currently hosted on the agent’s own devices, if any, and registration status of those endpoints. Only virtual line extensions hosted exclusively on the agent’s devices and the registration status of those virtual line endpoints will be retrieved. Any virtual lines shared with devices not owned by the current user will be excluded.

A Webex Calling Contact Center extension is a calling extension assigned to a user or device within the Webex Contact Center for internal dialing.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

CCExtensions

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeSimRingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async get() MeSimRing[source]

Retrieve My Simultaneous Ring Settings

Retrieve simultaneous ring settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Schedules can also be set up to ring these phones during certain times of the day or days of the week.

Retrieving settings requires a user auth token with a scope of spark:telephony_config_read.

Return type:

MeSimRing

async update(settings: MeSimRing) None[source]

Modify My Simultaneous Ring Settings

Modify simultaneous ring settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Schedules can also be set up to ring these phones during certain times of the day or days of the week.

Modifying settings requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

settings – new sim ring settings

Return type:

None

async criteria_create(criteria: SimRingCriteria) str[source]

Create My Simultaneous Ring Criteria

Create simultaneous ring criteria settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

Creating criteria requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria (MeSimRingCriteria) – new sim ring criteria

Return type:

str

async criteria_delete(criteria_id: str)[source]

Delete My Simultaneous Ring Criteria

Delete simultaneous ring criteria settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

Deleting criteria requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

criteria_id (str) – Unique identifier for the criteria.

Return type:

None

async criteria_get(criteria_id: str) SimRingCriteria[source]

Retrieve My Simultaneous Ring Criteria

Retrieve simultaneous ring criteria settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

Retrieving criteria requires a user auth token with a scope of spark:telephony_config_read.

Parameters:

criteria_id (str) – Unique identifier for the criteria.

Return type:

SimRingCriteria

async criteria_update(criteria: SimRingCriteria, criteria_id: str = None)[source]

Modify My Simultaneous Ring Criteria

Modify simultaneous ring criteria settings for the authenticated user.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

Modifying criteria requires a user auth token with a scope of spark:telephony_config_write.

Parameters:
  • criteria (SimRingCriteria) – new settings

  • criteria_id (str) – Unique identifier for the criteria. Default: id from criteria

Return type:

None

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeVoicemailApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async settings() VoicemailSettings[source]

Read Voicemail Settings for a Person

Retrieve a person’s voicemail settings.

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via voicemail.

Optionally, notifications can be sent to a mobile phone via text or email. These notifications will not include the voicemail files.

This API requires a user auth token with a scope of spark-admin:people_read.

Return type:

VoicemailSettings

async configure(settings: VoicemailSettings)[source]

Configure Voicemail Settings for a Person

Configure a person’s voicemail settings.

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via voicemail.

Optionally, notifications can be sent to a mobile phone via text or email. These notifications will not include the voicemail files.

This API requires a user auth token with a scope of spark-admin:people_write.

Parameters:

settings (VoicemailSettings) – Voicemail settings

Return type:

None

upload_busy_greeting(content: BufferedReader | str, upload_as: str = None)[source]

Upload Voicemail Busy Greeting

Uploads a new busy greeting audio file for the authenticated user’s voicemail.

This endpoint is part of the voicemail greeting management capabilities provided by the Webex Calling platform and is available when the wxc-csg-hydra-call-184017-phase4 feature is enabled. The greeting must be in WAV format and not exceed 5000 kilobytes.

Requires a user auth token with the spark:telephony_config_write scope. Only the authenticated user may upload greetings for their own voicemail.

Parameters:
  • content (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • upload_as (str) – filename for the content. Only required if content is a reader; has to be a .wav file name.

Return type:

None

upload_no_answer_greeting(content: BufferedReader | str, upload_as: str = None)[source]

Upload Voicemail No Answer Greeting

Uploads a new no answer greeting audio file for the authenticated user’s voicemail.

This endpoint is part of the voicemail greeting management capabilities provided by the Webex Calling platform and is available when the wxc-csg-hydra-call-184017-phase4 feature is enabled. The greeting must be in WAV format and not exceed 5000 kilobytes.

Requires a user auth token with the spark:telephony_config_write scope. Only the authenticated user may upload greetings for their own voicemail.

Parameters:
  • content (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • upload_as (str) – filename for the content. Only required if content is a reader; has to be a .wav file name.

Return type:

None

async update_pin(passcode: str) None[source]

Update Voicemail PIN

Set the voicemail PIN for a person. Updates the PIN used to access voicemail messages. The PIN must comply with the passcode rules defined for the organization.

The voicemail feature is part of Webex Calling, allowing users to secure their voicemail access with a PIN. The PIN is required to retrieve voice messages via phone.

This API requires a user auth token with a scope of spark:telephony_config_write.

Parameters:

passcode (str) – Person voicemail PIN. The PIN must comply with the passcode rules defined for the organization.

Return type:

None

async get_voicemail_rules() UserVoicemailPINRules[source]

Get Person’s Voicemail Rules

Get person’s voicemail passcode rules. Voicemail rules specify the default passcode requirements. They are provided for informational purposes only and cannot be modified.

The voicemail feature allows users to manage their voicemail settings as part of Webex Calling. Voicemail rules help ensure secure access to voice messages by defining passcode complexity requirements.

This API requires a user auth token with a scope of spark:telephony_config_read.

Return type:

UserVoicemailPINRules

base = 'telephony/config/people/me'
class wxc_sdk.as_api.AsMeetingChatsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Chats are content captured in a meeting when chat messages are sent between the participants within a meeting. This feature allows a Compliance Officer to access the in-meeting chat content.

The Compliance Officer can use the Meeting Chats API to retrieve the chats of a meeting and to delete all chats associated with a meeting. private chats are text messages between two people. group chats are for larger breakout spaces. Meeting chats are different from room messages in that there is no catch-up propagation. For example, if a user joins a meeting late only, chat messages that are created from then on, will be propagated to this user. To understand which user saw which message if they joined late, you have to query the meetingParticipants REST resource for the joined/left times and compare to the meetingsChat chatTime field.

The Webex meetings chat functionality and API endpoint described here is “upon-request” and not enabled by default. If you need it enabled for your org, or if you need help, please contact the Webex Developer Support team at devsupport@webex.com.

list_gen(meeting_id: str, offset: int = None, **params) AsyncGenerator[ChatObject, None][source]

Lists the meeting chats of a finished meeting instance specified by meetingId. You can set a maximum number of chats to return.

Use this operation to list the chats of a finished meeting instance when they are ready. Please note that only meeting instances in state ended are supported for meetingId. Meeting series, scheduled meetings and in-progress meeting instances are not supported.

Parameters:
  • meeting_id (str) – A unique identifier for the meeting instance to which the chats belong. The meeting ID of a scheduled personal room meeting is not supported.

  • offset (int) – Offset from the first result that you want to fetch.

async list(meeting_id: str, offset: int = None, **params) list[ChatObject][source]

Lists the meeting chats of a finished meeting instance specified by meetingId. You can set a maximum number of chats to return.

Use this operation to list the chats of a finished meeting instance when they are ready. Please note that only meeting instances in state ended are supported for meetingId. Meeting series, scheduled meetings and in-progress meeting instances are not supported.

Parameters:
  • meeting_id (str) – A unique identifier for the meeting instance to which the chats belong. The meeting ID of a scheduled personal room meeting is not supported.

  • offset (int) – Offset from the first result that you want to fetch.

async delete(meeting_id: str)[source]

Deletes the meeting chats of a finished meeting instance specified by meetingId.

Use this operation to delete the chats of a finished meeting instance when they are ready. Please note that only meeting instances in state ended are supported for meetingId. Meeting series, scheduled meetings and in-progress meeting instances are not supported.

Parameters:

meeting_id (str) – A unique identifier for the meeting instance to which the chats belong. Meeting IDs of a scheduled personal room meeting are not supported.

base = 'meetings/postMeetingChats'
class wxc_sdk.as_api.AsMeetingClosedCaptionsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Meeting Closed Captions APIs are enabled upon request, and are not available by default. Please contact the Webex Developer Support team at devsupport@webex.com if you would like to enable this feature for your organization. Meeting closed captions are the automatic transcriptions of what is being said during a meeting in real-time. Closed captions appear after being enabled during a meeting and can be translated to a participant’s language. A closed caption snippet is a short text snippet from a meeting closed caption which was spoken by a particular participant in the meeting. A meeting’s closed captions consists of many snippets. The Closed Captions API manages meeting closed captions and snippets. You can list meeting closed captions, as well as list and download snippets. Closed captions can be retrieved in either Web Video Text Tracks (VTT) or plain text (TXT) format via the download links provided by the vttDownloadLink and txtDownloadlink response properties, respectively. Refer to the Meetings API Scopes section of Meetings Overview guide for the scopes required for each API. Notes: Currently, closed caption APIs are only supported for the Compliance Officer role. Closed captions will be available 15 minutes after the meeting is finished.

list_gen(meeting_id: str, **params) AsyncGenerator[ClosedCaption, None][source]

Lists closed captions of a finished meeting instance specified by meetingId.

Parameters:

meeting_id (str) – Unique identifier for the meeting instance which the closed captions belong to. This parameter only applies to ended meeting instnaces. It does not apply to meeting series, scheduled meetings or scheduled personal room meetings.

async list(meeting_id: str, **params) list[ClosedCaption][source]

Lists closed captions of a finished meeting instance specified by meetingId.

Parameters:

meeting_id (str) – Unique identifier for the meeting instance which the closed captions belong to. This parameter only applies to ended meeting instnaces. It does not apply to meeting series, scheduled meetings or scheduled personal room meetings.

list_snippets_gen(closed_caption_id: str, meeting_id: str, **params) AsyncGenerator[CCSnippet, None][source]

Lists snippets of a meeting closed caption specified by closedCaptionId.

Parameters:
  • closed_caption_id (str) – Unique identifier for the meeting closed caption which the snippets belong to.

  • meeting_id (str) – Unique identifier for the meeting instance which the closed caption snippets belong to. This parameter only applies to ended meeting instances. It does not apply to meeting series, scheduled meetings or scheduled personal room meetings.

async list_snippets(closed_caption_id: str, meeting_id: str, **params) list[CCSnippet][source]

Lists snippets of a meeting closed caption specified by closedCaptionId.

Parameters:
  • closed_caption_id (str) – Unique identifier for the meeting closed caption which the snippets belong to.

  • meeting_id (str) – Unique identifier for the meeting instance which the closed caption snippets belong to. This parameter only applies to ended meeting instances. It does not apply to meeting series, scheduled meetings or scheduled personal room meetings.

async download_snippets(closed_caption_id: str, meeting_id: str, format: str = None)[source]

Download meeting closed caption snippets from the meeting closed caption specified by closedCaptionId formatted either as a Video Text Track (.vtt) file or plain text (.txt) file.

Parameters:
  • closed_caption_id (str) – Unique identifier for the meeting closed caption.

  • meeting_id (str) – Unique identifier for the meeting instance which the closed caption snippets belong to. This parameter only applies to meeting instances in the ended state. It does not apply to meeting series, scheduled meetings or scheduled personal room meetings.

  • format (str) – Format for the downloaded meeting closed caption snippets. Possible values: vtt, txt

base = 'meetingClosedCaptions'
class wxc_sdk.as_api.AsMeetingInviteesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

This API manages invitees’ relationships to a meeting. You can use the Meeting Invitees API to list, create, update, and delete invitees. Refer to the Meetings API Scopes section of Meetings Overview for scopes required for each API.

list_gen(meeting_id: str, host_email: str = None, panelist: bool = None, **params) AsyncGenerator[Invitee, None][source]

Lists meeting invitees for a meeting with a specified meetingId. You can set a maximum number of invitees to return. This operation can be used for meeting series, scheduled meetings, and ended or ongoing meeting instance objects. If the specified meetingId is for a meeting series, the invitees for the series will be listed; if the meetingId is for a scheduled meeting, the invitees for the particular scheduled meeting will be listed; if the meetingId is for an ended or ongoing meeting instance, the invitees for the particular meeting instance will be listed. See the Webex Meetings guide for more information about the types of meetings. The list returned is sorted in ascending order by email address. Long result sets are split into pages.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting for which invitees are being requested. The meeting can be a meeting series, a scheduled meeting, or a meeting instance which has ended or is ongoing. The meeting ID of a scheduled personal room meeting is not supported for this API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a site they manage and the API will return meeting invitees that are hosted by that user.

  • panelist (bool) – Filter invitees or attendees for webinars only. If true, returns invitees. If false, returns attendees. If null, returns both invitees and attendees.

async list(meeting_id: str, host_email: str = None, panelist: bool = None, **params) list[Invitee][source]

Lists meeting invitees for a meeting with a specified meetingId. You can set a maximum number of invitees to return. This operation can be used for meeting series, scheduled meetings, and ended or ongoing meeting instance objects. If the specified meetingId is for a meeting series, the invitees for the series will be listed; if the meetingId is for a scheduled meeting, the invitees for the particular scheduled meeting will be listed; if the meetingId is for an ended or ongoing meeting instance, the invitees for the particular meeting instance will be listed. See the Webex Meetings guide for more information about the types of meetings. The list returned is sorted in ascending order by email address. Long result sets are split into pages.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting for which invitees are being requested. The meeting can be a meeting series, a scheduled meeting, or a meeting instance which has ended or is ongoing. The meeting ID of a scheduled personal room meeting is not supported for this API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a site they manage and the API will return meeting invitees that are hosted by that user.

  • panelist (bool) – Filter invitees or attendees for webinars only. If true, returns invitees. If false, returns attendees. If null, returns both invitees and attendees.

async create_invitee(email: str, meeting_id: str, display_name: str = None, co_host: bool = None, send_email: bool = None, panelist: bool = None, host_email: str = None) Invitee[source]

Invite a person to attend a meeting. Identify the invitee in the request body, by email address.

Parameters:
  • email (str) – Email address for meeting invitee.

  • meeting_id (str) – Unique identifier for the meeting to which a person is being invited. This attribute only applies to meeting series and scheduled meeting. If it’s a meeting series, the meeting invitee is invited to the entire meeting series; if it’s a scheduled meeting, the meeting invitee is invited to this individual scheduled meeting. It doesn’t apply to an ended or ongoing meeting instance. The meeting ID of a scheduled personal room meeting is not supported for this API.

  • display_name (str) – Display name for meeting invitee. The maximum length of displayName is 128 characters. In Webex App, if the email has been associated with an existing Webex account, the display name associated with the Webex account will be used; otherwise, the email will be used as displayName. In Webex site, if displayName is specified, it will show displayName. If displayName is not specified, and the email has been associated with an existing Webex account, the display name associated with the Webex account will be used; otherwise, the email will be used as displayName. Please note that if the invitee has an existing Webex account, the displayName shown in the meeting will be the displayName associated with the Webex account; otherwise, displayName shown in the meeting will be the displayName which is specified by the invitee who does not have a Webex account.

  • co_host (bool) – Whether or not invitee is a designated alternate host for the meeting. See Add Alternate Hosts for Cisco Webex Meetings for more details.

  • send_email (bool) – If true, send an email to the invitee.

  • panelist (bool) – If true, the invitee is a designated panelist for the event meeting.

  • host_email (str) – Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin on-behalf-of scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host.

async create_invitees(meeting_id: str, items: list[CreateInviteesItem], host_email: str = None) list[Invitee][source]

Invite people to attend a meeting in bulk. Identify each invitee by the email address of each item in the items of the request body. Each invitee should have a unique email. This API limits the maximum size of items in the request body to 100.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting to which the people are being invited. This attribute only applies to meeting series and scheduled meetings. If it’s a meeting series, the meeting invitees are invited to the entire meeting series; if it’s a scheduled meeting, the meeting invitees are invited to this individual scheduled meeting. It doesn’t apply to an ended or ongoing meeting instance. The meeting ID of a scheduled personal room meeting is not supported for this API.

  • host_email (str) – Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin on-behalf-of scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host.

  • items (CreateInviteesItem) – Meeting invitees to be inserted.

async invitee_details(meeting_invitee_id: str, host_email: str = None) Invitee[source]

Retrieve details for a meeting invitee identified by a meetingInviteeId in the URI.

Parameters:
  • meeting_invitee_id (str) – Unique identifier for the invitee whose details are being requested.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for a meeting invitee that is hosted by that user.

async update(meeting_invitee_id: str, email: str, display_name: str = None, co_host: bool = None, send_email: bool = None, panelist: bool = None, host_email: str = None) Invitee[source]

Update details for a meeting invitee identified by a meetingInviteeId in the URI.

Parameters:
  • meeting_invitee_id (str) – Unique identifier for the invitee to be updated. This parameter only applies to an invitee to a meeting series or a scheduled meeting. It doesn’t apply to an invitee to an ended or ongoing meeting instance.

  • email (str) – Email address for meeting invitee.

  • display_name (str) – Display name for meeting invitee. The maximum length of displayName is 128 characters. In Webex App, if the email has been associated with an existing Webex account, the display name associated with the Webex account will be used; otherwise, the email will be used as displayName. In Webex site, if displayName is specified, it will show displayName. If displayName is not specified, and the email has been associated with an existing Webex account, the display name associated with the Webex account will be used; otherwise, the email will be used as displayName. Please note that if the invitee has an existing Webex account, the displayName shown in the meeting will be the displayName associated with the Webex account; otherwise, displayName shown in the meeting will be the displayName which is specified by the invitee who does not have a Webex account.

  • co_host (bool) – Whether or not invitee is a designated alternate host for the meeting. See Add Alternate Hosts for Cisco Webex Meetings for more details.

  • send_email (bool) – If true, send an email to the invitee.

  • panelist (bool) – If true, the invitee is a designated panelist for the event meeting.

  • host_email (str) – Email address for the meeting host. This attribute should only be set if the user or application calling the API has the admin on-behalf-of scopes. When used, the admin may specify the email of a user in a site they manage to be the meeting host.

async delete(meeting_invitee_id: str, host_email: str = None, send_email: bool = None)[source]

Removes a meeting invitee identified by a meetingInviteeId specified in the URI. The deleted meeting invitee cannot be recovered. If the meeting invitee is associated with a meeting series, the invitee will be removed from the entire meeting series. If the invitee is associated with a scheduled meeting, the invitee will be removed from only that scheduled meeting.

Parameters:
  • meeting_invitee_id (str) – Unique identifier for the invitee to be removed. This parameter only applies to an invitee to a meeting series or a scheduled meeting. It doesn’t apply to an invitee to an ended or ongoing meeting instance.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin on-behalf-of scopes. If set, the admin may specify the email of a user in a site they manage and the API will delete a meeting invitee that is hosted by that user.

  • send_email (bool) – If true, send an email to the invitee.

base = 'meetingInvitees'
class wxc_sdk.as_api.AsMeetingParticipantsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

This API manages meeting participants. Refer to the Meetings API Scopes section of Meetings Overview for scopes required for each API.

list_participants_gen(meeting_id: str, host_email: str = None, join_time_from: str = None, join_time_to: str = None, **params) AsyncGenerator[Participant, None][source]

List all participants in a live or post meeting. The meetingId parameter is required, which is the unique identifier for the meeting. The authenticated user calling this API must either have an Administrator role with the meeting:admin_participants_read scope, or be the meeting host.

Parameters:
  • meeting_id (str) – The unique identifier for the meeting. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes, the admin may specify the email of a user in a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

  • join_time_from (str) – The time participants join a meeting starts from the specified date and time (inclusive) in any ISO 8601 compliant format. If joinTimeFrom is not specified, it equals joinTimeTo minus 7 days.

  • join_time_to (str) – The time participants join a meeting before the specified date and time (exclusive) in any ISO 8601 compliant format. If joinTimeTo is not specified, it equals joinTimeFrom plus 7 days. The interval between joinTimeFrom and joinTimeTo must be within 90 days.

async list_participants(meeting_id: str, host_email: str = None, join_time_from: str = None, join_time_to: str = None, **params) list[Participant][source]

List all participants in a live or post meeting. The meetingId parameter is required, which is the unique identifier for the meeting. The authenticated user calling this API must either have an Administrator role with the meeting:admin_participants_read scope, or be the meeting host.

Parameters:
  • meeting_id (str) – The unique identifier for the meeting. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes, the admin may specify the email of a user in a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

  • join_time_from (str) – The time participants join a meeting starts from the specified date and time (inclusive) in any ISO 8601 compliant format. If joinTimeFrom is not specified, it equals joinTimeTo minus 7 days.

  • join_time_to (str) – The time participants join a meeting before the specified date and time (exclusive) in any ISO 8601 compliant format. If joinTimeTo is not specified, it equals joinTimeFrom plus 7 days. The interval between joinTimeFrom and joinTimeTo must be within 90 days.

async query_participants_with_email(meeting_id: str, max: int = None, host_email: str = None, join_time_from: str = None, join_time_to: str = None, emails: list[str] = None) list[Participant][source]

Query participants in a live meeting, or after the meeting, using participant’s email. The meetingId parameter is the unique identifier for the meeting and is required. The authenticated user calling this API must either have an Administrator role with the meeting:admin_participants_read scope, or be the meeting host.

Parameters:
  • meeting_id (str) – The unique identifier for the meeting.

  • max (int) – Limit the maximum number of participants in the response, up to 1000.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes, the admin may specify the email of a user in a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

  • join_time_from (str) – The time participants join a meeting starts from the specified date and time (inclusive) in any ISO 8601 compliant format. If joinTimeFrom is not specified, it equals joinTimeTo minus 7 days.

  • join_time_to (str) – The time participants join a meeting before the specified date and time (exclusive) in any ISO 8601 compliant format. If joinTimeTo is not specified, it equals joinTimeFrom plus 7 days. The interval between joinTimeFrom and joinTimeTo must be within 90 days.

  • emails (list[str]) – Participants email list Possible values: a@example.com

async participant_details(participant_id: str, host_email: str = None) Participant[source]

Get a meeting participant details of a live or post meeting. The participantId is required to identify the meeting and the participant. The authenticated user calling this API must either have an Administrator role with the meeting:admin_participants_read scope, or be the meeting host.

Parameters:
  • participant_id (str) – The unique identifier for the meeting and the participant.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes, the admin may specify the email of a user in a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

async update_participant(participant_id: str, muted: bool = None, admit: bool = None, expel: bool = None) UpdateParticipantResponse[source]

To mute, un-mute, expel, or admit a participant in a live meeting. The participantId is required to identify the meeting and the participant. Notes:

Parameters:
  • participant_id (str) – The unique identifier for the meeting and the participant.

  • muted (bool) – The value is true or false, and means to mute or unmute the audio of a participant.

  • admit (bool) – The value can be true or false. The value of true is to admit a participant to the meeting if the participant is in the lobby, No-Op if the participant is not in the lobby or when the value is set to false.

  • expel (bool) – The attribute is exclusive and its value can be true or false. The value of true means that the participant will be expelled from the meeting, the value of false means No-Op.

async admit_participants(participant_ids: list[str] = None)[source]

To admit participants into a live meeting in bulk. This API limits the maximum size of items in the request body to 100. Each participantId of items in the request body should have the same prefix of meetingId.

Parameters:

participant_ids (list[str]) – The ID that identifies the meeting participant.

base = 'meetingParticipants'
class wxc_sdk.as_api.AsMeetingPreferencesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

This API manages a user’s meeting preferences, including Personal Meeting Room settings, video and audio settings, meeting scheduling options, and site settings. Refer to the Meetings API Scopes section of Meetings Overview for scopes required for each API.

async details(user_email: str = None, site_url: str = None) MeetingPreferenceDetails[source]

Retrieves meeting preferences for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the required admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details of the meeting preferences for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

async personal_meeting_room_options(user_email: str = None, site_url: str = None) PersonalMeetingRoomOptions[source]

Retrieves the Personal Meeting Room options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details of the Personal Meeting Room options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

async update_personal_meeting_room_options(topic: str, host_pin: str, enabled_auto_lock: bool, auto_lock_minutes: int, enabled_notify_host: bool, support_co_host: bool, co_hosts: CoHost, user_email: str = None, site_url: str = None, support_anyone_as_co_host: bool = None, allow_first_user_to_be_co_host: bool = None, allow_authenticated_devices: bool = None) PersonalMeetingRoomOptions[source]

Update a single meeting

Parameters:
  • topic (str) – Personal Meeting Room topic to be updated.

  • host_pin (str) – Updated PIN for joining the room as host. The host PIN must be digits of a predefined length, e.g. 4 digits. It cannot contain sequential digits, such as 1234 or 4321, or repeated digits of the predefined length, such as 1111. The predefined length for host PIN can be viewed in user’s My Personal Room page and it can only be changed by site administrator.

  • enabled_auto_lock (bool) – Update for option to automatically lock the Personal Room a number of minutes after a meeting starts. When a room is locked, invitees cannot enter until the owner admits them. The period after which the meeting is locked is defined by autoLockMinutes.

  • auto_lock_minutes (int) – Updated number of minutes after which the Personal Room is locked if enabledAutoLock is enabled. Valid options are 0, 5, 10, 15 and 20.

  • enabled_notify_host (bool) – Update for flag to enable notifying the owner of a Personal Room when someone enters the Personal Room lobby while the owner is not in the room.

  • support_co_host (bool) – Update for flag allowing other invitees to host a meetingCoHost in the Personal Room without the owner.

  • co_hosts (CoHost) – Updated array defining cohosts for the room if both supportAnyoneAsCoHost and allowFirstUserToBeCoHost are false

  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will update Personal Meeting Room options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

  • support_anyone_as_co_host (bool) – Whether or not to allow any attendee with a host account on the target site to become a cohost when joining the Personal Room. The target site is user’s preferred site.

  • allow_first_user_to_be_co_host (bool) – Whether or not to allow the first attendee with a host account on the target site to become a cohost when joining the Personal Room. The target site is user’s preferred site.

  • allow_authenticated_devices (bool) – Whether or not to allow authenticated video devices in the user’s organization to start or join the meeting without a prompt.

async audio_options(user_email: str = None, site_url: str = None) Audio[source]

Retrieves audio options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details of the audio options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

async update_audio_options(user_email: str = None, site_url: str = None, default_audio_type: DefaultAudioType = None, other_teleconference_description: str = None, enabled_global_call_in: bool = None, enabled_toll_free: bool = None, enabled_auto_connection: bool = None, audio_pin: str = None, office_number: OfficeNumber = None, mobile_number: OfficeNumber = None) Audio[source]

Updates audio options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will update audio options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

  • default_audio_type (DefaultAudioType) – Default audio type. This attribute can be modified with the with the Update Audio Options API.

  • other_teleconference_description (str) – Phone number and other information for the teleconference provider to be used, along with instructions for invitees. This attribute can be modified with the with the Update Audio Options API.

  • enabled_global_call_in (bool) – Flag to enable/disable global call ins. Note: If the site does not support global call-ins, you cannot set this option. This attribute can be modified with the with the Update Audio Options API.

  • enabled_toll_free (bool) – Flag to enable/disable call-ins from toll-free numbers. Note: If the site does not support calls from toll-free numbers, you cannot set this option. This attribute can be modified with the with the Update Audio Options API.

  • enabled_auto_connection (bool) – Flag to enable/disable automatically connecting to audio using a computer. The meeting host can enable/disable this option. When this option is set to true, the user is automatically connected to audio via a computer when they start or join a Webex Meetings meeting on a desktop. This attribute can be modified with the Update Audio Options API.

  • audio_pin (str) – PIN to provide a secondary level of authentication for calls where the host is using the phone and may need to invite additional invitees. It must be exactly 4 digits. It cannot contain sequential digits, such as 1234 or 4321, or repeat a digit 4 times, such as 1111. This attribute can be modified with the with the Update Audio Options API.

  • office_number (OfficeNumber) – Office phone number. We recommend that phone numbers be specified to facilitate connecting via audio. This attribute can be modified with the with the Update Audio Options API.

  • mobile_number (OfficeNumber) – Mobile phone number. We recommend that phone numbers be specified to facilitate connecting via audio. This attribute can be modified with the with the Update Audio Options API.

async video_options(user_email: str = None, site_url: str = None) list[VideoDevice][source]

Retrieves video options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details of the video options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved using Get Site List.

async update_video_options(video_devices: VideoDevice, user_email: str = None, site_url: str = None) list[VideoDevice][source]

Updates video options for the authenticated user.

Parameters:
  • video_devices (VideoDevice) – Array of video devices. If the array is not empty, one device and no more than one devices must be set as default device.

  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will update video options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

async scheduling_options(user_email: str = None, site_url: str = None) SchedulingOptions[source]

Retrieves scheduling options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details of the scheduling options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

async update_scheduling_options(user_email: str = None, site_url: str = None, enabled_join_before_host: bool = None, join_before_host_minutes: int = None, enabled_auto_share_recording: bool = None, enabled_webex_assistant_by_default: bool = None) SchedulingOptions[source]

Updates scheduling options for the authenticated user.

Parameters:
  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will update scheduling options for that user.

  • site_url (str) – URL of the Webex site to query. For individual use, if siteUrl is not specified, the query will use the default site of the user. For admin use, if siteUrl is not specified, the query will use the default site for the admin’s authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the siteUrl parameter. All available Webex sites and default site of a user can be retrieved from /meetingPreferences/sites.

  • enabled_join_before_host (bool) – Flag to enable/disable Join Before Host. The period during which invitees can join before the start time is defined by autoLockMinutes. This attribute can be modified with the Update Scheduling Options API. Note: This feature is only effective if the site supports the Join Before Host feature. This attribute can be modified with the Update Scheduling Options API.

  • join_before_host_minutes (int) – Number of minutes before the start time that an invitee can join a meeting if enabledJoinBeforeHost is true. Valid options are 0, 5, 10 and 15. This attribute can be modified with the Update Scheduling Options API.

  • enabled_auto_share_recording (bool) – Flag to enable/disable the automatic sharing of the meeting recording with invitees when it is available. This attribute can be modified with the Update Scheduling Options API.

  • enabled_webex_assistant_by_default (bool) – Flag to automatically enable Webex Assistant whenever you start a meeting. This attribute can be modified with the Update Scheduling Options API.

async site_list(user_email: str = None) list[MeetingsSite][source]

Retrieves the list of Webex sites that the authenticated user is set up to use.

Parameters:

user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user and the API will return the list of Webex sites for that user.

async update_default_site(default_site: bool, site_url: str, user_email: str = None) MeetingsSite[source]

Updates the default site for the authenticated user.

Parameters:
  • default_site (bool) – Whether or not to change user’s default site. Note: defaultSite should be set to true for the user’s single default site

  • site_url (str) – Access URL for the site.

  • user_email (str) – Email address for the user. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will update default site for that user.

base = 'meetingPreferences'
class wxc_sdk.as_api.AsMeetingQandAApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

During a Question and Answer (Q&A) session, attendees can pose questions to hosts, co-hosts, and presenters, who can answer and moderate those questions. You use the Meeting Q&A API to retrieve the questions and the answers in a meeting. Currently, these APIs are available to users with one of the meeting host, admin or Compliance Officer roles. The features and APIs described here are available upon-request and is not enabled by default. If would like this feature enabled for your organization please contact the Webex Developer Support team at devsupport@webex.com.

list_gen(meeting_id: str, **params) AsyncGenerator[QAObject, None][source]

Lists questions and answers from a meeting, when ready. Notes:

Parameters:

meeting_id (str) – A unique identifier for the meeting instance which the Q&A belongs to.

documentation: https://developer.webex.com/docs/api/v1/meeting-q-and-a/list-meeting-q-and-a

async list(meeting_id: str, **params) list[QAObject][source]

Lists questions and answers from a meeting, when ready. Notes:

Parameters:

meeting_id (str) – A unique identifier for the meeting instance which the Q&A belongs to.

documentation: https://developer.webex.com/docs/api/v1/meeting-q-and-a/list-meeting-q-and-a

list_answers_gen(question_id: str, meeting_id: str, **params) AsyncGenerator[AnswerObject, None][source]

Lists the answers to a specific question asked in a meeting.

Parameters:
  • question_id (str) – The ID of a question.

  • meeting_id (str) – A unique identifier for the meeting instance which the Q&A belongs to.

documentation: https://developer.webex.com/docs/api/v1/meeting-q-and-a/list-answers-of-a-question

async list_answers(question_id: str, meeting_id: str, **params) list[AnswerObject][source]

Lists the answers to a specific question asked in a meeting.

Parameters:
  • question_id (str) – The ID of a question.

  • meeting_id (str) – A unique identifier for the meeting instance which the Q&A belongs to.

documentation: https://developer.webex.com/docs/api/v1/meeting-q-and-a/list-answers-of-a-question

base = 'meetings/q_and_a'
class wxc_sdk.as_api.AsMeetingQualitiesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

To retrieve quality information, you must use an administrator token with the analytics:read_all scope. The authenticated user must be a read-only or full administrator of the organization to which the meeting belongs and must not be an external administrator. To use this endpoint, the org needs to be licensed for the Webex Pro Pack. For CI-Native site, no additional settings are required. For CI-linked site, the admin must also be set as the Full/ReadOnly Site Admin of the site. A minimum Webex and Teams client version is required. For details, see Troubleshooting Help Doc. Quality information is available 10 minutes after a meeting has started and may be retrieved for up to 7 days. A rate limit of 1 API call every 5 minutes for the same meeting instance ID applies.

meeting_qualities_gen(meeting_id: str, offset: int = None, **params) AsyncGenerator[MediaSessionQuality, None][source]

Get quality data for a meeting, by meetingId. Only organization administrators can retrieve meeting quality data.

Parameters:
  • meeting_id (str) – Unique identifier for the specific meeting instance. Note: The meetingId can be obtained via the Meeting List API when meetingType=meeting. The id attribute in the Meeting List Response is what is needed, for example, e5dba9613a9d455aa49f6ffdafb6e7db_I_191395283063545470.

  • offset (int) – Offset from the first result that you want to fetch.

documentation: https://developer.webex.com/docs/api/v1/meeting-qualities/get-meeting-qualities

async meeting_qualities(meeting_id: str, offset: int = None, **params) list[MediaSessionQuality][source]

Get quality data for a meeting, by meetingId. Only organization administrators can retrieve meeting quality data.

Parameters:
  • meeting_id (str) – Unique identifier for the specific meeting instance. Note: The meetingId can be obtained via the Meeting List API when meetingType=meeting. The id attribute in the Meeting List Response is what is needed, for example, e5dba9613a9d455aa49f6ffdafb6e7db_I_191395283063545470.

  • offset (int) – Offset from the first result that you want to fetch.

documentation: https://developer.webex.com/docs/api/v1/meeting-qualities/get-meeting-qualities

base = ''
class wxc_sdk.as_api.AsMeetingTranscriptsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Not supported for Webex for Government (FedRAMP) A meeting transcript is the automatic transcription of a meeting’s recordings by our industry-leading speech-to-text engine to capture of what was discussed and decided during the meeting, in text form. A transcript snippet is a short text snippet from a meeting transcript which was spoken by a particular participant in the meeting. A meeting transcript consists of many snippets. This API manages meeting transcripts and snippets. You can use the Transcript API to list meeting transcripts, list, get and update transcript snippets. Transcripts may be retrieved via download link defined by vttDownloadLink or txtDownloadlink in the response body. Refer to the Meetings API Scopes section of Meetings Overview for scopes required for each API. NOTE:

list_gen(meeting_id: str = None, host_email: str = None, site_url: str = None, from_: str = None, to_: str = None, **params) AsyncGenerator[Transcript, None][source]

Lists available transcripts of an ended meeting instance. Use this operation to list transcripts of an ended meeting instance when they are ready. Please note that only meeting instances in state ended are supported for meetingId. Meeting series, scheduled meetings and in-progress meeting instances are not supported.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting instance to which the transcript belongs. Please note that currently the meeting ID of a scheduled personal room meeting is not supported for this API. If meetingId is not specified, the operation returns an array of transcripts for all meetings of the current user.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for a meeting that is hosted by that user. If meetingId is not specified, it can not support hostEmail.

  • site_url (str) – URL of the Webex site from which the API lists transcripts. If not specified, the API lists transcripts from user’s preferred site. All available Webex sites and the preferred site of the user can be retrieved by the Get Site List API.

  • from (str) – Starting date and time (inclusive) for transcripts to return, in any ISO 8601 compliant format. from cannot be after to.

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

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-meeting-transcripts

async list(meeting_id: str = None, host_email: str = None, site_url: str = None, from_: str = None, to_: str = None, **params) list[Transcript][source]

Lists available transcripts of an ended meeting instance. Use this operation to list transcripts of an ended meeting instance when they are ready. Please note that only meeting instances in state ended are supported for meetingId. Meeting series, scheduled meetings and in-progress meeting instances are not supported.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting instance to which the transcript belongs. Please note that currently the meeting ID of a scheduled personal room meeting is not supported for this API. If meetingId is not specified, the operation returns an array of transcripts for all meetings of the current user.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for a meeting that is hosted by that user. If meetingId is not specified, it can not support hostEmail.

  • site_url (str) – URL of the Webex site from which the API lists transcripts. If not specified, the API lists transcripts from user’s preferred site. All available Webex sites and the preferred site of the user can be retrieved by the Get Site List API.

  • from (str) – Starting date and time (inclusive) for transcripts to return, in any ISO 8601 compliant format. from cannot be after to.

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

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-meeting-transcripts

list_compliance_officer_gen(site_url: str, from_: str = None, to_: str = None, **params) AsyncGenerator[Transcript, None][source]

Lists available or deleted transcripts of an ended meeting instance for a specific site. The returned list is sorted in descending order by the date and time that the transcript was created.

Parameters:
  • site_url (str) – URL of the Webex site from which the API lists transcripts.

  • from (str) – Starting date and time (inclusive) for transcripts to return, in any ISO 8601 compliant format. from cannot be after to.

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

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-meeting-transcripts-for -compliance-officer

async list_compliance_officer(site_url: str, from_: str = None, to_: str = None, **params) list[Transcript][source]

Lists available or deleted transcripts of an ended meeting instance for a specific site. The returned list is sorted in descending order by the date and time that the transcript was created.

Parameters:
  • site_url (str) – URL of the Webex site from which the API lists transcripts.

  • from (str) – Starting date and time (inclusive) for transcripts to return, in any ISO 8601 compliant format. from cannot be after to.

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

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-meeting-transcripts-for -compliance-officer

async download(transcript_id: str, format: str = None, host_email: str = None)[source]

Download a meeting transcript from the meeting transcript specified by transcriptId.

Parameters:
  • transcript_id (str) – Unique identifier for the meeting transcript.

  • format (str) – Format for the downloaded meeting transcript. Possible values: vtt, txt

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for a meeting that is hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/download-a-meeting-transcript

list_snippets_gen(transcript_id: str, **params) AsyncGenerator[TranscriptSnippet, None][source]

Lists snippets of a meeting transcript specified by transcriptId. Use this operation to list snippets of a meeting transcript when they are ready.

Parameters:

transcript_id (str) – Unique identifier for the meeting transcript to which the snippets belong.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-snippets-of-a-meeting-transcript

async list_snippets(transcript_id: str, **params) list[TranscriptSnippet][source]

Lists snippets of a meeting transcript specified by transcriptId. Use this operation to list snippets of a meeting transcript when they are ready.

Parameters:

transcript_id (str) – Unique identifier for the meeting transcript to which the snippets belong.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/list-snippets-of-a-meeting-transcript

async snippet_detail(transcript_id: str, snippet_id: str) TranscriptSnippet[source]

Retrieves details for a transcript snippet specified by snippetId from the meeting transcript specified by transcriptId.

Parameters:
  • transcript_id (str) – Unique identifier for the meeting transcript to which the requested snippet belongs.

  • snippet_id (str) – Unique identifier for the snippet being requested.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/get-a-transcript-snippet

async update_snippet(transcript_id: str, snippet_id: str, text: str, reason: str = None) TranscriptSnippet[source]

Updates details for a transcript snippet specified by snippetId from the meeting transcript specified by transcriptId.

Parameters:
  • transcript_id (str) – Unique identifier for the meeting transcript to which the snippet to be updated belongs.

  • snippet_id (str) – Unique identifier for the snippet being updated.

  • text (str) – Text for the snippet.

  • reason (str) – Reason for snippet update; only required for Compliance Officers.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/update-a-transcript-snippet

async delete(transcript_id: str, reason: str = None, comment: str = None)[source]

Removes a transcript with a specified transcript ID. The deleted transcript cannot be recovered. If a Compliance Officer deletes another user’s transcript, the transcript will be inaccessible to regular users (host, attendees), but will be still available to the Compliance Officer.

Parameters:
  • transcript_id (str) – Unique identifier for the meeting transcript.

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

  • comment (str) – Explanation for deleting a transcript. The comment can be a maximum of 255 characters long.

documentation: https://developer.webex.com/docs/api/v1/meeting-transcripts/delete-a-transcript

base = ''
class wxc_sdk.as_api.AsMeetingsApi(session: AsRestSession)[source]

Bases: AsApiChild

Meetings API

__init__(session: AsRestSession)[source]
chats: AsMeetingChatsApi

meeting chats API

closed_captions: AsMeetingClosedCaptionsApi

closed captions API

invitees: AsMeetingInviteesApi

meeting invitees API

participants: AsMeetingParticipantsApi

meeting participants API

preferences: AsMeetingPreferencesApi

preferences API

qanda: AsMeetingQandAApi

Q and A API

qualities: AsMeetingQualitiesApi

qualities API

recordings: AsRecordingsApi
transcripts: AsMeetingTranscriptsApi

transcripts

async create(title: str = None, agenda: str = None, password: str = None, start: str = None, end: str = None, timezone: str = None, recurrence: str = None, enabled_auto_record_meeting: bool = None, allow_any_user_to_be_co_host: bool = None, enabled_join_before_host: bool = None, enable_connect_audio_before_host: bool = None, join_before_host_minutes: int = None, exclude_password: bool = None, public_meeting: bool = None, reminder_time: int = None, unlocked_meeting_join_security: UnlockedMeetingJoinSecurity = None, session_type_id: int = None, enabled_webcast_view: bool = None, panelist_password: str = None, enable_automatic_lock: bool = None, automatic_lock_minutes: int = None, allow_first_user_to_be_co_host: bool = None, allow_authenticated_devices: bool = None, send_email: bool = None, host_email: str = None, site_url: str = None, meeting_options: MeetingOptions = None, attendee_privileges: AttendeePrivileges = None, integration_tags: list[str] = None, enabled_breakout_sessions: bool = None, tracking_codes: TrackingCodeItem = None, audio_connection_options: AudioConnectionOptions = None, adhoc: bool = None, room_id: str = None, template_id: str = None, scheduled_type: ScheduledType = None, invitees: InviteeForCreateMeeting = None, registration: Registration = None, simultaneous_interpretation: SimultaneousInterpretation = None, breakout_sessions: BreakoutSession = None) Meeting[source]

Creates a new meeting. Regular users can schedule up to 100 meetings in 24 hours and admin users up to 3000.

Parameters:
  • title (str) – Meeting title. The title can be a maximum of 128 characters long.

  • agenda (str) – Meeting agenda. The agenda can be a maximum of 1300 characters long.

  • password (str) – Meeting password. Must conform to the site’s password complexity settings. Read password management for details.

  • start (str) – Date and time for the start of meeting in any ISO 8601 compliant format. start cannot be before current date and time or after end. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, start of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, if start is within the same minute as the current time, start will be adjusted to the upcoming minute; otherwise, start will be adjusted with seconds and milliseconds stripped off. For instance, if the current time is 2022-03-01T10:32:16.657+08:00, start of 2022-03-01T10:32:28.076+08:00 or 2022-03-01T10:32:41+08:00 will be adjusted to 2022-03-01T10:33:00+08:00, and start of 2022-03-01T11:32:28.076+08:00 or 2022-03-01T11:32:41+08:00 will be adjusted to 2022-03-01T11:32:00+08:00.

  • end (str) – Date and time for the end of meeting in any ISO 8601 compliant format. end cannot be before current date and time or before start. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, end of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, end will be adjusted with seconds and milliseconds stripped off. For instance, end of 2022-03-01T11:52:28.076+08:00 or 2022-03-01T11:52:41+08:00 will be adjusted to 2022-03-01T11:52:00+08:00.

  • timezone (str) – Time zone in which the meeting was originally scheduled (conforming with the IANA time zone database).

  • recurrence (str) – Meeting series recurrence rule (conforming with RFC 2445). Applies only to a recurring meeting series, not to a meeting series with only one scheduled meeting. Multiple days or dates for monthly or yearly recurrence rule are not supported, only the first day or date specified is taken. For example, “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10,11,12” is not supported and it will be partially supported as “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10”.

  • enabled_auto_record_meeting (bool) – Whether or not meeting is recorded automatically.

  • allow_any_user_to_be_co_host (bool) – Whether or not to allow any attendee with a host account on the target site to become a cohost when joining the meeting. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • enabled_join_before_host (bool) – Whether or not to allow any attendee to join the meeting before the host joins the meeting.

  • enable_connect_audio_before_host (bool) – Whether or not to allow any attendee to connect audio in the meeting before the host joins the meeting. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true.

  • join_before_host_minutes (int) – The number of minutes an attendee can join the meeting before the meeting start time and the host joins. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true. Valid options are 0, 5, 10 and 15. Default is 0 if not specified.

  • exclude_password (bool) – Whether or not to exclude the meeting password from the email invitation.

  • public_meeting (bool) – Whether or not to allow the meeting to be listed on the public calendar.

  • reminder_time (int) – The number of minutes before the meeting begins, that an email reminder is sent to the host.

  • unlocked_meeting_join_security (UnlockedMeetingJoinSecurity) – Specifies how the people who aren’t on the invite can join the unlocked meeting.

  • session_type_id (int) – Unique identifier for a meeting session type for the user. This attribute is required while scheduling webinar meeting. All available meeting session types enabled for the user can be retrieved by List Meeting Session Types API.

  • enabled_webcast_view (bool) – Whether or not webcast view is enabled.

  • panelist_password (str) – Password for panelists of a webinar meeting. Must conform to the site’s password complexity settings. Read password management for details. If not specified, a random password conforming to the site’s password rules will be generated automatically.

  • enable_automatic_lock (bool) – Whether or not to automatically lock the meeting after it starts.

  • automatic_lock_minutes (int) – The number of minutes after the meeting begins, for automatically locking it.

  • allow_first_user_to_be_co_host (bool) – Whether or not to allow the first attendee of the meeting with a host account on the target site to become a cohost. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • allow_authenticated_devices (bool) – Whether or not to allow authenticated video devices in the meeting’s organization to start or join the meeting without a prompt.

  • send_email (bool) – Whether or not to send emails to host and invitees. It is an optional field and default value is true.

  • host_email (str) – 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.

  • site_url (str) – URL of the Webex site which the meeting is updated on. If not specified, the meeting is created on user’s preferred site. All available Webex sites and preferred site of the user can be retrieved by Get Site List API.

  • meeting_options (MeetingOptions) – Meeting Options.

  • attendee_privileges (AttendeePrivileges) – Attendee Privileges.

  • integration_tags (list[str]) – External keys created by an integration application in its own domain, for example Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries meetings by a key in its own domain. The maximum size of integrationTags is 3 and each item of integrationTags can be a maximum of 64 characters long. Please note that an empty or null integrationTags will delete all existing integration tags for the meeting implicitly. Developer can update integration tags for a meetingSeries but he cannot update it for a scheduledMeeting or a meeting instance.

  • enabled_breakout_sessions (bool) – Whether or not breakout sessions are enabled. If the value of enabledBreakoutSessions is false, users can not set breakout sessions. If the value of enabledBreakoutSessions is true, users can update breakout sessions using the Update Breakout Sessions API. Updating breakout sessions are not supported by this API.

  • tracking_codes (TrackingCodeItem) – Tracking codes information. All available tracking codes and their options for the specified site can be retrieved by List Meeting Tracking Codes API. If an optional tracking code is missing from the trackingCodes array and there’s a default option for this tracking code, the default option is assigned automatically. If the inputMode of a tracking code is select, its value must be one of the site-level options or the user-level value. Tracking code is not supported for a personal room meeting or an ad-hoc space meeting.

  • audio_connection_options (AudioConnectionOptions) – Audio connection options.

  • adhoc (bool) – Whether or not to create an ad-hoc meeting for the room specified by roomId. When true, roomId is required.

  • room_id (str) – Unique identifier for the Webex space which the meeting is to be associated with. It can be retrieved by List Rooms. roomId is required when adhoc is true. When roomId is specified, the parameter hostEmail will be ignored.

  • template_id (str) – Unique identifier for meeting template. Please note that start and end are optional when templateId is specified. The list of meeting templates that is available for the authenticated user can be retrieved from List Meeting Templates. This parameter is ignored for an ad-hoc meeting.

  • scheduled_type (ScheduledType) – When set as an attribute in a POST request body, specifies whether it’s a regular meeting, a webinar, or a meeting scheduled in the user’s personal room. If not specified, it’s a regular meeting by default. The default value for an ad-hoc meeting is meeting and the user’s input value will be ignored.

  • invitees (InviteeForCreateMeeting) – Invitees for meeting. The maximum size of invitees is 1000. If roomId is specified and invitees is missing, all the members in the space are invited implicitly. If both roomId and invitees are specified, only those in the invitees list are invited. coHost for each invitee is true by default if roomId is specified when creating a meeting, and anyone in the invitee list that is not qualified to be a cohost will be invited as a non-cohost invitee. The user’s input value will be ignored for an ad-hoc meeting and the the members of the room specified by roomId except “me” will be used by default.

  • registration (Registration) – Meeting registration. When this option is enabled, meeting invitees must register personal information to join the meeting. Meeting invitees will receive an email with a registration link for the registration. When the registration form has been submitted and approved, an email with a real meeting link will be received. By clicking that link the meeting invitee can join the meeting. Please note that meeting registration does not apply to a meeting when it’s a recurring meeting with a recurrence field or no password, or the Join Before Host option is enabled for the meeting. See Register for a Meeting in Cisco Webex Meetings for details. This parameter is ignored for an ad-hoc meeting.

  • simultaneous_interpretation (SimultaneousInterpretation) – Simultaneous interpretation information for a meeting.

  • breakout_sessions (BreakoutSession) – Breakout sessions are smaller groups that are split off from the main meeting or webinar. They allow a subset of participants to collaborate and share ideas over audio and video. Use breakout sessions for workshops, classrooms, or for when you need a moment to talk privately with a few participants outside of the main session. Please note that maximum number of breakout sessions in a meeting or webinar is 100. In webinars, if hosts preassign attendees to breakout sessions, the role of attendee will be changed to panelist. Breakout session is not supported for a meeting with simultaneous interpretation.

documentation: https://developer.webex.com/docs/api/v1/meetings/create-a-meeting

async get(meeting_id: str, current: bool = None, host_email: str = None) Meeting[source]

Retrieves details for a meeting with a specified meeting ID.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting being requested.

  • current (bool) – Whether or not to retrieve only the current scheduled meeting of the meeting series, i.e. the meeting ready to join or start or the upcoming meeting of the meeting series. If it’s true, return details for the current scheduled meeting of the series, i.e. the scheduled meeting ready to join or start or the upcoming scheduled meeting of the meeting series. If it’s false or not specified, return details for the entire meeting series. This parameter only applies to meeting series.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for a meeting that is hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meetings/get-a-meeting

list_gen(meeting_number: str = None, web_link: str = None, room_id: str = None, meeting_type: str = None, state: str = None, scheduled_type: str = None, current: bool = None, from_: str = None, to_: str = None, host_email: str = None, site_url: str = None, integration_tag: str = None, **params) AsyncGenerator[Meeting, None][source]

Retrieves details for meetings with a specified meeting number, web link, meeting type, etc. Please note that there are various products in the Webex Suite such as Meetings and Events. Currently, only meetings of the Meetings product are supported by this API, meetings of others in the suite are not supported. Ad-hoc meetings created by Create a Meeting with adhoc of true and a roomId will not be listed, but the ended and ongoing ad-hoc meeting instances will be listed.

Parameters:
  • meeting_number (str) – Meeting number for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive. If it’s an exceptional meeting from a meeting series, the exceptional meeting instead of the primary meeting series is returned.

  • web_link (str) – URL encoded link to information page for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive.

  • room_id (str) – Associated Webex space ID for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive.

  • meeting_type (str) – Meeting type for the meeting objects being requested. This parameter will be ignored if meetingNumber, webLink or roomId is specified. Possible values: meetingSeries, scheduledMeeting, meeting

  • state (str) – Meeting state for the meeting objects being requested. If not specified, return meetings of all states. This parameter will be ignored if meetingNumber, webLink or roomId is specified. Details of an ended meeting will only be available 15 minutes after the meeting has ended. inProgress meetings are not fully supported. The API will try to return details of an inProgress meeting 15 minutes after the meeting starts. However, it may take longer depending on the traffic. See the Webex Meetings guide for more information about the states of meetings. Possible values: active, scheduled, ready, lobby, inProgress, ended, missed, expired

  • scheduled_type (str) – Scheduled type for the meeting objects being requested. Possible values: meeting, webinar, personalRoomMeeting

  • current (bool) – Flag identifying to retrieve the current scheduled meeting of the meeting series or the entire meeting series. This parameter only applies to scenarios where meetingNumber is specified and the meeting is not an exceptional meeting from a meeting series. If it’s true, return the scheduled meeting of the meeting series which is ready to join or start or the upcoming scheduled meeting of the meeting series; if it’s false, return the entire meeting series.

  • from (str) – Start date and time (inclusive) in any ISO 8601 compliant format for the meeting objects being requested. from cannot be after to. This parameter will be ignored if meetingNumber, webLink or roomId is specified.

  • to (str) – End date and time (exclusive) in any ISO 8601 compliant format for the meeting objects being requested. to cannot be before from. This parameter will be ignored if meetingNumber, webLink or roomId is specified.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for meetings that are hosted by that user.

  • site_url (str) – URL of the Webex site which the API lists meetings from. If not specified, the API lists meetings from user’s all sites. All available Webex sites of the user can be retrieved by Get Site List API.

  • integration_tag (str) – External key created by an integration application. This parameter is used by the integration application to query meetings by a key in its own domain such as a Zendesk ticket ID, a Jira ID, a Salesforce Opportunity ID, etc.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meetings

async list(meeting_number: str = None, web_link: str = None, room_id: str = None, meeting_type: str = None, state: str = None, scheduled_type: str = None, current: bool = None, from_: str = None, to_: str = None, host_email: str = None, site_url: str = None, integration_tag: str = None, **params) list[Meeting][source]

Retrieves details for meetings with a specified meeting number, web link, meeting type, etc. Please note that there are various products in the Webex Suite such as Meetings and Events. Currently, only meetings of the Meetings product are supported by this API, meetings of others in the suite are not supported. Ad-hoc meetings created by Create a Meeting with adhoc of true and a roomId will not be listed, but the ended and ongoing ad-hoc meeting instances will be listed.

Parameters:
  • meeting_number (str) – Meeting number for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive. If it’s an exceptional meeting from a meeting series, the exceptional meeting instead of the primary meeting series is returned.

  • web_link (str) – URL encoded link to information page for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive.

  • room_id (str) – Associated Webex space ID for the meeting objects being requested. meetingNumber, webLink and roomId are mutually exclusive.

  • meeting_type (str) – Meeting type for the meeting objects being requested. This parameter will be ignored if meetingNumber, webLink or roomId is specified. Possible values: meetingSeries, scheduledMeeting, meeting

  • state (str) – Meeting state for the meeting objects being requested. If not specified, return meetings of all states. This parameter will be ignored if meetingNumber, webLink or roomId is specified. Details of an ended meeting will only be available 15 minutes after the meeting has ended. inProgress meetings are not fully supported. The API will try to return details of an inProgress meeting 15 minutes after the meeting starts. However, it may take longer depending on the traffic. See the Webex Meetings guide for more information about the states of meetings. Possible values: active, scheduled, ready, lobby, inProgress, ended, missed, expired

  • scheduled_type (str) – Scheduled type for the meeting objects being requested. Possible values: meeting, webinar, personalRoomMeeting

  • current (bool) – Flag identifying to retrieve the current scheduled meeting of the meeting series or the entire meeting series. This parameter only applies to scenarios where meetingNumber is specified and the meeting is not an exceptional meeting from a meeting series. If it’s true, return the scheduled meeting of the meeting series which is ready to join or start or the upcoming scheduled meeting of the meeting series; if it’s false, return the entire meeting series.

  • from (str) – Start date and time (inclusive) in any ISO 8601 compliant format for the meeting objects being requested. from cannot be after to. This parameter will be ignored if meetingNumber, webLink or roomId is specified.

  • to (str) – End date and time (exclusive) in any ISO 8601 compliant format for the meeting objects being requested. to cannot be before from. This parameter will be ignored if meetingNumber, webLink or roomId is specified.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return details for meetings that are hosted by that user.

  • site_url (str) – URL of the Webex site which the API lists meetings from. If not specified, the API lists meetings from user’s all sites. All available Webex sites of the user can be retrieved by Get Site List API.

  • integration_tag (str) – External key created by an integration application. This parameter is used by the integration application to query meetings by a key in its own domain such as a Zendesk ticket ID, a Jira ID, a Salesforce Opportunity ID, etc.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meetings

list_of_series_gen(meeting_series_id: str, from_: str = None, to_: str = None, meeting_type: str = None, state: str = None, is_modified: bool = None, host_email: str = None, **params) AsyncGenerator[ScheduledMeeting, None][source]

Lists scheduled meeting and meeting instances of a meeting series identified by meetingSeriesId. Scheduled meetings of an ad-hoc meeting created by Create a Meeting with adhoc of true and a roomId will not be listed, but the ended and ongoing meeting instances of it will be listed. Each scheduled meeting or meeting instance of a meeting series has its own start, end, etc. Thus, for example, when a daily meeting has been scheduled from 2019-04-01 to 2019-04-10, there are 10 scheduled meeting instances in this series, one instance for each day, and each one has its own attributes. When a scheduled meeting has been started and ended or is happening, there are even more ended or in-progress meeting instances. Use this operation to list scheduled meeting and meeting instances of a meeting series within a specific date range. Long result sets are split into pages. trackingCodes is not supported for ended meeting instances.

Parameters:
  • meeting_series_id (str) – Unique identifier for the meeting series. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • from (str) – Start date and time (inclusive) for the range for which meetings are to be returned in any ISO 8601 compliant format. from cannot be after to.

  • to (str) – End date and time (exclusive) for the range for which meetings are to be returned in any ISO 8601 compliant format. to cannot be before from.

  • meeting_type (str) – Meeting type for the meeting objects being requested. If not specified, return meetings of all types. Possible values: scheduledMeeting, meeting

  • state (str) – Meeting state for the meetings being requested. If not specified, return meetings of all states. Details of an ended meeting will only be available 15 minutes after the meeting has ended. inProgress meetings are not fully supported. The API will try to return details of an inProgress meeting 15 minutes after the meeting starts. However, it may take longer depending on the traffic. See the Webex Meetings guide for more information about the states of meetings. Possible values: scheduled, ready, lobby, inProgress, ended, missed

  • is_modified (bool) – Flag identifying whether or not only to retrieve scheduled meeting instances which have been modified. This parameter only applies to scheduled meetings. If it’s true, only return modified scheduled meetings; if it’s false, only return unmodified scheduled meetings; if not specified, all scheduled meetings will be returned.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return meetings that are hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meetings-of-a-meeting-series

async list_of_series(meeting_series_id: str, from_: str = None, to_: str = None, meeting_type: str = None, state: str = None, is_modified: bool = None, host_email: str = None, **params) list[ScheduledMeeting][source]

Lists scheduled meeting and meeting instances of a meeting series identified by meetingSeriesId. Scheduled meetings of an ad-hoc meeting created by Create a Meeting with adhoc of true and a roomId will not be listed, but the ended and ongoing meeting instances of it will be listed. Each scheduled meeting or meeting instance of a meeting series has its own start, end, etc. Thus, for example, when a daily meeting has been scheduled from 2019-04-01 to 2019-04-10, there are 10 scheduled meeting instances in this series, one instance for each day, and each one has its own attributes. When a scheduled meeting has been started and ended or is happening, there are even more ended or in-progress meeting instances. Use this operation to list scheduled meeting and meeting instances of a meeting series within a specific date range. Long result sets are split into pages. trackingCodes is not supported for ended meeting instances.

Parameters:
  • meeting_series_id (str) – Unique identifier for the meeting series. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • from (str) – Start date and time (inclusive) for the range for which meetings are to be returned in any ISO 8601 compliant format. from cannot be after to.

  • to (str) – End date and time (exclusive) for the range for which meetings are to be returned in any ISO 8601 compliant format. to cannot be before from.

  • meeting_type (str) – Meeting type for the meeting objects being requested. If not specified, return meetings of all types. Possible values: scheduledMeeting, meeting

  • state (str) – Meeting state for the meetings being requested. If not specified, return meetings of all states. Details of an ended meeting will only be available 15 minutes after the meeting has ended. inProgress meetings are not fully supported. The API will try to return details of an inProgress meeting 15 minutes after the meeting starts. However, it may take longer depending on the traffic. See the Webex Meetings guide for more information about the states of meetings. Possible values: scheduled, ready, lobby, inProgress, ended, missed

  • is_modified (bool) – Flag identifying whether or not only to retrieve scheduled meeting instances which have been modified. This parameter only applies to scheduled meetings. If it’s true, only return modified scheduled meetings; if it’s false, only return unmodified scheduled meetings; if not specified, all scheduled meetings will be returned.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will return meetings that are hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meetings-of-a-meeting-series

async patch(meeting_id: str, title: str = None, agenda: str = None, password: str = None, start: str = None, end: str = None, timezone: str = None, recurrence: str = None, enabled_auto_record_meeting: bool = None, allow_any_user_to_be_co_host: bool = None, enabled_join_before_host: bool = None, enable_connect_audio_before_host: bool = None, join_before_host_minutes: int = None, exclude_password: bool = None, public_meeting: bool = None, reminder_time: int = None, unlocked_meeting_join_security: UnlockedMeetingJoinSecurity = None, session_type_id: int = None, enabled_webcast_view: bool = None, panelist_password: str = None, enable_automatic_lock: bool = None, automatic_lock_minutes: int = None, allow_first_user_to_be_co_host: bool = None, allow_authenticated_devices: bool = None, send_email: bool = None, host_email: str = None, site_url: str = None, meeting_options: MeetingOptions = None, attendee_privileges: AttendeePrivileges = None, integration_tags: list[str] = None, enabled_breakout_sessions: bool = None, tracking_codes: TrackingCodeItem = None, audio_connection_options: AudioConnectionOptions = None) PatchMeetingResponse[source]

Updates details for a meeting with a specified meeting ID. This operation applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Ad-hoc meetings created by Create a Meeting with adhoc of true and a roomId cannot be updated.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting to be updated. This parameter applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • title (str) – Meeting title. The title can be a maximum of 128 characters long.

  • agenda (str) – Meeting agenda. The agenda can be a maximum of 1300 characters long.

  • password (str) – Meeting password. Must conform to the site’s password complexity settings. Read password management for details.

  • start (str) – Date and time for the start of meeting in any ISO 8601 compliant format. start cannot be before current date and time or after end. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, start of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, if start is within the same minute as the current time, start will be adjusted to the upcoming minute; otherwise, start will be adjusted with seconds and milliseconds stripped off. For instance, if the current time is 2022-03-01T10:32:16.657+08:00, start of 2022-03-01T10:32:28.076+08:00 or 2022-03-01T10:32:41+08:00 will be adjusted to 2022-03-01T10:33:00+08:00, and start of 2022-03-01T11:32:28.076+08:00 or 2022-03-01T11:32:41+08:00 will be adjusted to 2022-03-01T11:32:00+08:00.

  • end (str) – Date and time for the end of meeting in any ISO 8601 compliant format. end cannot be before current date and time or before start. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, end of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, end will be adjusted with seconds and milliseconds stripped off. For instance, end of 2022-03-01T11:52:28.076+08:00 or 2022-03-01T11:52:41+08:00 will be adjusted to 2022-03-01T11:52:00+08:00.

  • timezone (str) – Time zone in which the meeting was originally scheduled (conforming with the IANA time zone database).

  • recurrence (str) – Meeting series recurrence rule (conforming with RFC 2445). Applies only to a recurring meeting series, not to a meeting series with only one scheduled meeting. Multiple days or dates for monthly or yearly recurrence rule are not supported, only the first day or date specified is taken. For example, “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10,11,12” is not supported and it will be partially supported as “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10”.

  • enabled_auto_record_meeting (bool) – Whether or not meeting is recorded automatically.

  • allow_any_user_to_be_co_host (bool) – Whether or not to allow any attendee with a host account on the target site to become a cohost when joining the meeting. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • enabled_join_before_host (bool) – Whether or not to allow any attendee to join the meeting before the host joins the meeting.

  • enable_connect_audio_before_host (bool) – Whether or not to allow any attendee to connect audio in the meeting before the host joins the meeting. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true.

  • join_before_host_minutes (int) – The number of minutes an attendee can join the meeting before the meeting start time and the host joins. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true. Valid options are 0, 5, 10 and 15. Default is 0 if not specified.

  • exclude_password (bool) – Whether or not to exclude the meeting password from the email invitation.

  • public_meeting (bool) – Whether or not to allow the meeting to be listed on the public calendar.

  • reminder_time (int) – The number of minutes before the meeting begins, that an email reminder is sent to the host.

  • unlocked_meeting_join_security (UnlockedMeetingJoinSecurity) – Specifies how the people who aren’t on the invite can join the unlocked meeting.

  • session_type_id (int) – Unique identifier for a meeting session type for the user. This attribute is required while scheduling webinar meeting. All available meeting session types enabled for the user can be retrieved by List Meeting Session Types API.

  • enabled_webcast_view (bool) – Whether or not webcast view is enabled.

  • panelist_password (str) – Password for panelists of a webinar meeting. Must conform to the site’s password complexity settings. Read password management for details. If not specified, a random password conforming to the site’s password rules will be generated automatically.

  • enable_automatic_lock (bool) – Whether or not to automatically lock the meeting after it starts.

  • automatic_lock_minutes (int) – The number of minutes after the meeting begins, for automatically locking it.

  • allow_first_user_to_be_co_host (bool) – Whether or not to allow the first attendee of the meeting with a host account on the target site to become a cohost. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • allow_authenticated_devices (bool) – Whether or not to allow authenticated video devices in the meeting’s organization to start or join the meeting without a prompt.

  • send_email (bool) – Whether or not to send emails to host and invitees. It is an optional field and default value is true.

  • host_email (str) – 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.

  • site_url (str) – URL of the Webex site which the meeting is updated on. If not specified, the meeting is created on user’s preferred site. All available Webex sites and preferred site of the user can be retrieved by Get Site List API.

  • meeting_options (MeetingOptions) – Meeting Options.

  • attendee_privileges (AttendeePrivileges) – Attendee Privileges.

  • integration_tags (list[str]) – External keys created by an integration application in its own domain, for example Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries meetings by a key in its own domain. The maximum size of integrationTags is 3 and each item of integrationTags can be a maximum of 64 characters long. Please note that an empty or null integrationTags will delete all existing integration tags for the meeting implicitly. Developer can update integration tags for a meetingSeries but he cannot update it for a scheduledMeeting or a meeting instance.

  • enabled_breakout_sessions (bool) – Whether or not breakout sessions are enabled. If the value of enabledBreakoutSessions is false, users can not set breakout sessions. If the value of enabledBreakoutSessions is true, users can update breakout sessions using the Update Breakout Sessions API. Updating breakout sessions are not supported by this API.

  • tracking_codes (TrackingCodeItem) – Tracking codes information. All available tracking codes and their options for the specified site can be retrieved by List Meeting Tracking Codes API. If an optional tracking code is missing from the trackingCodes array and there’s a default option for this tracking code, the default option is assigned automatically. If the inputMode of a tracking code is select, its value must be one of the site-level options or the user-level value. Tracking code is not supported for a personal room meeting or an ad-hoc space meeting.

  • audio_connection_options (AudioConnectionOptions) – Audio connection options.

documentation: https://developer.webex.com/docs/api/v1/meetings/patch-a-meeting

async update(meeting_id: str, title: str = None, agenda: str = None, password: str = None, start: str = None, end: str = None, timezone: str = None, recurrence: str = None, enabled_auto_record_meeting: bool = None, allow_any_user_to_be_co_host: bool = None, enabled_join_before_host: bool = None, enable_connect_audio_before_host: bool = None, join_before_host_minutes: int = None, exclude_password: bool = None, public_meeting: bool = None, reminder_time: int = None, unlocked_meeting_join_security: UnlockedMeetingJoinSecurity = None, session_type_id: int = None, enabled_webcast_view: bool = None, panelist_password: str = None, enable_automatic_lock: bool = None, automatic_lock_minutes: int = None, allow_first_user_to_be_co_host: bool = None, allow_authenticated_devices: bool = None, send_email: bool = None, host_email: str = None, site_url: str = None, meeting_options: MeetingOptions = None, attendee_privileges: AttendeePrivileges = None, integration_tags: list[str] = None, enabled_breakout_sessions: bool = None, tracking_codes: TrackingCodeItem = None, audio_connection_options: AudioConnectionOptions = None) PatchMeetingResponse[source]

Updates details for a meeting with a specified meeting ID. This operation applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Ad-hoc meetings created by Create a Meeting with adhoc of true and a roomId cannot be updated.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting to be updated. This parameter applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Please note that currently meeting ID of a scheduled personal room meeting is not supported for this API.

  • title (str) – Meeting title. The title can be a maximum of 128 characters long.

  • agenda (str) – Meeting agenda. The agenda can be a maximum of 1300 characters long.

  • password (str) – Meeting password. Must conform to the site’s password complexity settings. Read password management for details.

  • start (str) – Date and time for the start of meeting in any ISO 8601 compliant format. start cannot be before current date and time or after end. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, start of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, if start is within the same minute as the current time, start will be adjusted to the upcoming minute; otherwise, start will be adjusted with seconds and milliseconds stripped off. For instance, if the current time is 2022-03-01T10:32:16.657+08:00, start of 2022-03-01T10:32:28.076+08:00 or 2022-03-01T10:32:41+08:00 will be adjusted to 2022-03-01T10:33:00+08:00, and start of 2022-03-01T11:32:28.076+08:00 or 2022-03-01T11:32:41+08:00 will be adjusted to 2022-03-01T11:32:00+08:00.

  • end (str) – Date and time for the end of meeting in any ISO 8601 compliant format. end cannot be before current date and time or before start. Duration between start and end cannot be shorter than 10 minutes or longer than 24 hours. Refer to the Webex Meetings guide for more information about restrictions on updating date and time for a meeting. Please note that when a meeting is being updated, end of the meeting will be accurate to minutes, not seconds or milliseconds. Therefore, end will be adjusted with seconds and milliseconds stripped off. For instance, end of 2022-03-01T11:52:28.076+08:00 or 2022-03-01T11:52:41+08:00 will be adjusted to 2022-03-01T11:52:00+08:00.

  • timezone (str) – Time zone in which the meeting was originally scheduled (conforming with the IANA time zone database).

  • recurrence (str) – Meeting series recurrence rule (conforming with RFC 2445). Applies only to a recurring meeting series, not to a meeting series with only one scheduled meeting. Multiple days or dates for monthly or yearly recurrence rule are not supported, only the first day or date specified is taken. For example, “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10,11,12” is not supported and it will be partially supported as “FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=10”.

  • enabled_auto_record_meeting (bool) – Whether or not meeting is recorded automatically.

  • allow_any_user_to_be_co_host (bool) – Whether or not to allow any attendee with a host account on the target site to become a cohost when joining the meeting. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • enabled_join_before_host (bool) – Whether or not to allow any attendee to join the meeting before the host joins the meeting.

  • enable_connect_audio_before_host (bool) – Whether or not to allow any attendee to connect audio in the meeting before the host joins the meeting. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true.

  • join_before_host_minutes (int) – The number of minutes an attendee can join the meeting before the meeting start time and the host joins. This attribute is only applicable if the enabledJoinBeforeHost attribute is set to true. Valid options are 0, 5, 10 and 15. Default is 0 if not specified.

  • exclude_password (bool) – Whether or not to exclude the meeting password from the email invitation.

  • public_meeting (bool) – Whether or not to allow the meeting to be listed on the public calendar.

  • reminder_time (int) – The number of minutes before the meeting begins, that an email reminder is sent to the host.

  • unlocked_meeting_join_security (UnlockedMeetingJoinSecurity) – Specifies how the people who aren’t on the invite can join the unlocked meeting.

  • session_type_id (int) – Unique identifier for a meeting session type for the user. This attribute is required while scheduling webinar meeting. All available meeting session types enabled for the user can be retrieved by List Meeting Session Types API.

  • enabled_webcast_view (bool) – Whether or not webcast view is enabled.

  • panelist_password (str) – Password for panelists of a webinar meeting. Must conform to the site’s password complexity settings. Read password management for details. If not specified, a random password conforming to the site’s password rules will be generated automatically.

  • enable_automatic_lock (bool) – Whether or not to automatically lock the meeting after it starts.

  • automatic_lock_minutes (int) – The number of minutes after the meeting begins, for automatically locking it.

  • allow_first_user_to_be_co_host (bool) – Whether or not to allow the first attendee of the meeting with a host account on the target site to become a cohost. The target site is specified by siteUrl parameter when creating the meeting; if not specified, it’s user’s preferred site.

  • allow_authenticated_devices (bool) – Whether or not to allow authenticated video devices in the meeting’s organization to start or join the meeting without a prompt.

  • send_email (bool) – Whether or not to send emails to host and invitees. It is an optional field and default value is true.

  • host_email (str) – 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.

  • site_url (str) – URL of the Webex site which the meeting is updated on. If not specified, the meeting is created on user’s preferred site. All available Webex sites and preferred site of the user can be retrieved by Get Site List API.

  • meeting_options (MeetingOptions) – Meeting Options.

  • attendee_privileges (AttendeePrivileges) – Attendee Privileges.

  • integration_tags (list[str]) – External keys created by an integration application in its own domain, for example Zendesk ticket IDs, Jira IDs, Salesforce Opportunity IDs, etc. The integration application queries meetings by a key in its own domain. The maximum size of integrationTags is 3 and each item of integrationTags can be a maximum of 64 characters long. Please note that an empty or null integrationTags will delete all existing integration tags for the meeting implicitly. Developer can update integration tags for a meetingSeries but he cannot update it for a scheduledMeeting or a meeting instance.

  • enabled_breakout_sessions (bool) – Whether or not breakout sessions are enabled. If the value of enabledBreakoutSessions is false, users can not set breakout sessions. If the value of enabledBreakoutSessions is true, users can update breakout sessions using the Update Breakout Sessions API. Updating breakout sessions are not supported by this API.

  • tracking_codes (TrackingCodeItem) – Tracking codes information. All available tracking codes and their options for the specified site can be retrieved by List Meeting Tracking Codes API. If an optional tracking code is missing from the trackingCodes array and there’s a default option for this tracking code, the default option is assigned automatically. If the inputMode of a tracking code is select, its value must be one of the site-level options or the user-level value. Tracking code is not supported for a personal room meeting or an ad-hoc space meeting.

  • audio_connection_options (AudioConnectionOptions) – Audio connection options.

documentation: https://developer.webex.com/docs/api/v1/meetings/update-a-meeting

async delete(meeting_id: str, host_email: str = None, send_email: bool = None)[source]

Deletes a meeting with a specified meeting ID. The deleted meeting cannot be recovered. This operation applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Ad-hoc meetings created by Create a Meeting with adhoc of true and a roomId cannot be deleted.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting to be deleted. This parameter applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances.

  • host_email (str) – Email address for the meeting host. This parameter is only used if the user or application calling the API has the admin-level scopes. If set, the admin may specify the email of a user in a site they manage and the API will delete a meeting that is hosted by that user.

  • send_email (bool) – Whether or not to send emails to host and invitees. It is an optional field and default value is true.

documentation: https://developer.webex.com/docs/api/v1/meetings/delete-a-meeting

async join(meeting_id: str = None, meeting_number: str = None, web_link: str = None, join_directly: bool = None, email: str = None, display_name: str = None, password: str = None, expiration_minutes: int = None) JoinMeetingResponse[source]

Retrieves a meeting join link for a meeting with a specified meetingId, meetingNumber, or webLink that allows users to join the meeting directly without logging in and entering a password.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting. This parameter applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances. Please note that currently meeting ID of a scheduled personal room meeting is also supported for this API.

  • meeting_number (str) – Meeting number. Applies to meeting series, scheduled meeting, and meeting instances, but not to meeting instances which have ended.

  • web_link (str) – Link to a meeting information page where the meeting client is launched if the meeting is ready to start or join.

  • join_directly (bool) – Whether or not to redirect to joinLink. It is an optional field and default value is true.

  • email (str) – Email address of meeting participant. If the user is a guest issuer, email is required.

  • display_name (str) – Display name of meeting participant. The maximum length of displayName is 128 characters. If the user is a guest issuer, displayName is required.

  • password (str) – It’s required when the meeting is protected by a password and the current user is not privileged to view it if they are not a host, cohost or invitee of the meeting.

  • expiration_minutes (int) – Expiration duration of joinLink in minutes. Must be between 1 and 60.

documentation: https://developer.webex.com/docs/api/v1/meetings/join-a-meeting

async update_simultaneous_interpretation(meeting_id: str, enabled: bool, interpreters: InterpreterForSimultaneousInterpretation = None) SimultaneousInterpretation[source]

Updates simultaneous interpretation options of a meeting with a specified meeting ID. This operation applies to meeting series and scheduled meetings. It doesn’t apply to ended or in-progress meeting instances.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting. Does not support meeting IDs for a scheduled personal room meeting.

  • enabled (bool) – Whether or not simultaneous interpretation is enabled.

  • interpreters (InterpreterForSimultaneousInterpretation) – Interpreters for meeting.

documentation: https://developer.webex.com/docs/api/v1/meetings/update-meeting-simultaneous-interpretation

async survey(meeting_id: str) GetMeetingSurveyResponse[source]

Retrieves details for a meeting survey identified by meetingId.

Parameters:

meeting_id (str) – Unique identifier for the meeting. Please note that only the meeting ID of a scheduled webinar is supported for this API.

documentation: https://developer.webex.com/docs/api/v1/meetings/get-a-meeting-survey

list_survey_results_gen(meeting_id: str, meeting_start_time_from: str = None, meeting_start_time_to: str = None, **params) AsyncGenerator[SurveyResult, None][source]

Retrieves results for a meeting survey identified by meetingId.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting. Please note that only the meeting ID of a scheduled webinar is supported for this API.

  • meeting_start_time_from (str) – Start date and time (inclusive) in any ISO 8601 compliant format for the meeting objects being requested. meetingStartTimeFrom cannot be after meetingStartTimeTo. This parameter will be ignored if meetingId is the unique identifier for the specific meeting instance. When meetingId is not the unique identifier for the specific meeting instance, the meetingStartTimeFrom, if not specified, equals meetingStartTimeTo minus 1 month; if meetingStartTimeTo is also not specified, the default value for meetingStartTimeFrom is 1 month before the current date and time.

  • meeting_start_time_to (str) – End date and time (exclusive) in any ISO 8601 compliant format for the meeting objects being requested. meetingStartTimeTo cannot be prior to meetingStartTimeFrom. This parameter will be ignored if meetingId is the unique identifier for the specific meeting instance. When meetingId is not the unique identifier for the specific meeting instance, if meetingStartTimeFrom is also not specified, the default value for meetingStartTimeTo is the current date and time;For example,if meetingStartTimeFrom is a month ago, the default value for meetingStartTimeTo is 1 month after meetingStartTimeFrom.Otherwise it is the current date and time.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meeting-survey-results

async list_survey_results(meeting_id: str, meeting_start_time_from: str = None, meeting_start_time_to: str = None, **params) list[SurveyResult][source]

Retrieves results for a meeting survey identified by meetingId.

Parameters:
  • meeting_id (str) – Unique identifier for the meeting. Please note that only the meeting ID of a scheduled webinar is supported for this API.

  • meeting_start_time_from (str) – Start date and time (inclusive) in any ISO 8601 compliant format for the meeting objects being requested. meetingStartTimeFrom cannot be after meetingStartTimeTo. This parameter will be ignored if meetingId is the unique identifier for the specific meeting instance. When meetingId is not the unique identifier for the specific meeting instance, the meetingStartTimeFrom, if not specified, equals meetingStartTimeTo minus 1 month; if meetingStartTimeTo is also not specified, the default value for meetingStartTimeFrom is 1 month before the current date and time.

  • meeting_start_time_to (str) – End date and time (exclusive) in any ISO 8601 compliant format for the meeting objects being requested. meetingStartTimeTo cannot be prior to meetingStartTimeFrom. This parameter will be ignored if meetingId is the unique identifier for the specific meeting instance. When meetingId is not the unique identifier for the specific meeting instance, if meetingStartTimeFrom is also not specified, the default value for meetingStartTimeTo is the current date and time;For example,if meetingStartTimeFrom is a month ago, the default value for meetingStartTimeTo is 1 month after meetingStartTimeFrom.Otherwise it is the current date and time.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meeting-survey-results

list_tracking_codes_gen(service: str, site_url: str = None, host_email: str = None) AsyncGenerator[TrackingCode, None][source]

Lists tracking codes on a site by a meeting host. The result indicates which tracking codes and what options can be used to create or update a meeting on the specified site.

Parameters:
  • service (str) – Service for schedule or sign-up pages.

  • site_url (str) – URL of the Webex site which the API retrieves the tracking code from. If not specified, the API retrieves the tracking code from the user’s preferred site. All available Webex sites and preferred sites of a user can be retrieved by Get Site List API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if a user or application calling the API has the admin-level scopes. The admin may specify the email of a user on a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meeting-tracking-codes

async list_tracking_codes(service: str, site_url: str = None, host_email: str = None) list[TrackingCode][source]

Lists tracking codes on a site by a meeting host. The result indicates which tracking codes and what options can be used to create or update a meeting on the specified site.

Parameters:
  • service (str) – Service for schedule or sign-up pages.

  • site_url (str) – URL of the Webex site which the API retrieves the tracking code from. If not specified, the API retrieves the tracking code from the user’s preferred site. All available Webex sites and preferred sites of a user can be retrieved by Get Site List API.

  • host_email (str) – Email address for the meeting host. This parameter is only used if a user or application calling the API has the admin-level scopes. The admin may specify the email of a user on a site they manage and the API will return meeting participants of the meetings that are hosted by that user.

documentation: https://developer.webex.com/docs/api/v1/meetings/list-meeting-tracking-codes

base = 'meetings'
class wxc_sdk.as_api.AsMembershipApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Manipulating Team Memberships as a Compliance Officer

As a Compliance Officer, you can indirectly manage the memberships of a team to which you do not belong. Individuals added to the team’s general space are automatically considered team members. Therefore, you can utilize your standard privilege of adding individuals to a space or room by adding them to the team’s general space.

The team ID contains the general room ID with a different prefix. To locate the general room ID of a team, you need to decode and recode the team ID using the new prefix. Below is a command-line example for this process. Note that the final sed replacement is used to remove padding characters.

Example

echo “Y2lzY29zcGFyazovL3VzL1RFQU0vYjQ5ODhmODAtN2QzMS0xMWVkLTk4Y2MtNWY5MTFhZWU1OTA0” | base64 -d | sed ‘s/TEAM/ROOM/’ | base64 | sed ‘s/=.//’

list_gen(room_id: str = None, person_id: str = None, person_email: str = None, **params) AsyncGenerator[Membership, None][source]

Lists all room memberships. By default, lists memberships for rooms to which the authenticated user belongs. Use query parameters to filter the response. Use roomId to list memberships for a room, by ID. NOTE: For moderated team spaces, the list of memberships will include only the space moderators if the user is a team member but not a direct participant of the space. Use either personId or personEmail to filter the results. The roomId parameter is required when using these parameters. Long result sets will be split into pages.

Parameters:
  • room_id (str) – List memberships associated with a room, by ID.

  • person_id (str) – List memberships associated with a person, by ID. The roomId parameter is required when using this parameter.

  • person_email (str) – List memberships associated with a person, by email address. The roomId parameter is required when using this parameter.

async list(room_id: str = None, person_id: str = None, person_email: str = None, **params) list[Membership][source]

Lists all room memberships. By default, lists memberships for rooms to which the authenticated user belongs. Use query parameters to filter the response. Use roomId to list memberships for a room, by ID. NOTE: For moderated team spaces, the list of memberships will include only the space moderators if the user is a team member but not a direct participant of the space. Use either personId or personEmail to filter the results. The roomId parameter is required when using these parameters. Long result sets will be split into pages.

Parameters:
  • room_id (str) – List memberships associated with a room, by ID.

  • person_id (str) – List memberships associated with a person, by ID. The roomId parameter is required when using this parameter.

  • person_email (str) – List memberships associated with a person, by email address. The roomId parameter is required when using this parameter.

async create(room_id: str, person_id: str = None, person_email: str = None, is_moderator: bool = None) Membership[source]

Add someone to a room by Person ID or email address, optionally making them a moderator.

Parameters:
  • room_id (str) – The room ID.

  • person_id (str) – The person ID.

  • person_email (str) – The email address of the person.

  • is_moderator (bool) – Whether or not the participant is a room moderator.

async details(membership_id: str) Membership[source]

Get details for a membership by ID. Specify the membership ID in the membershipId URI parameter.

Parameters:

membership_id (str) – The unique identifier for the membership.

async update(update: Membership) Membership[source]

Updates properties for a membership by ID

Parameters:

update (Membership) –

new settings; ID has to be set in update.

These can be updated:

is_moderator: bool: Whether or not the participant is a room moderator.

is_room_hidden: bool: When set to true, hides direct spaces in the teams client. Any new message will make the room visible again.

async delete(membership_id: str)[source]

Deletes a membership by ID. Specify the membership ID in the membershipId URI parameter. The membership for the last moderator of a Team’s General space may not be deleted; promote another user to team moderator first.

Parameters:

membership_id (str) – The unique identifier for the membership.

base = 'memberships'
class wxc_sdk.as_api.AsMessagesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(room_id: str, parent_id: str = None, mentioned_people: list[str] = None, before: datetime = None, before_message: str = None, **params) AsyncGenerator[Message, None][source]

Lists all messages in a room. Each message will include content attachments if present.

The list sorts the messages in descending order by creation date.

Long result sets will be split into pages.

Parameters:
  • room_id (str) – List messages in a room, by ID.

  • parent_id (str) – List messages with a parent, by ID.

  • mentioned_people (list[str]) – List messages with these people mentioned, by ID. Use me as a shorthand for the current API user. Only me or the person ID of the current user may be specified. Bots must include this parameter to list messages in group rooms (spaces).

  • before (str) – List messages sent before a date and time.

  • before_message (str) – List messages sent before a message, by ID.

async list(room_id: str, parent_id: str = None, mentioned_people: list[str] = None, before: datetime = None, before_message: str = None, **params) list[Message][source]

Lists all messages in a room. Each message will include content attachments if present.

The list sorts the messages in descending order by creation date.

Long result sets will be split into pages.

Parameters:
  • room_id (str) – List messages in a room, by ID.

  • parent_id (str) – List messages with a parent, by ID.

  • mentioned_people (list[str]) – List messages with these people mentioned, by ID. Use me as a shorthand for the current API user. Only me or the person ID of the current user may be specified. Bots must include this parameter to list messages in group rooms (spaces).

  • before (str) – List messages sent before a date and time.

  • before_message (str) – List messages sent before a message, by ID.

list_direct_gen(parent_id: str = None, person_id: str = None, person_email: str = None, **params) AsyncGenerator[Message, None][source]

List all messages in a 1:1 (direct) room. Use the personId or personEmail query parameter to specify the room. Each message will include content attachments if present. The list sorts the messages in descending order by creation date.

Parameters:
  • parent_id (str) – List messages with a parent, by ID.

  • person_id (str) – List messages in a 1:1 room, by person ID.

  • person_email (str) – List messages in a 1:1 room, by person email.

async list_direct(parent_id: str = None, person_id: str = None, person_email: str = None, **params) list[Message][source]

List all messages in a 1:1 (direct) room. Use the personId or personEmail query parameter to specify the room. Each message will include content attachments if present. The list sorts the messages in descending order by creation date.

Parameters:
  • parent_id (str) – List messages with a parent, by ID.

  • person_id (str) – List messages in a 1:1 room, by person ID.

  • person_email (str) – List messages in a 1:1 room, by person email.

async create(room_id: str = None, parent_id: str = None, to_person_id: str = None, to_person_email: str = None, text: str = None, markdown: str = None, html: str = None, files: list[str] = None, attachments: list[dict | MessageAttachment] = None) Message[source]

Post a plain text, rich text or html message, and optionally, a file attachment, to a room.

The files parameter is an array, which accepts multiple values to allow for future expansion, but currently only one file may be included with the message. File previews are only rendered for attachments of 1MB or less.

html formatting is limited to the following markup h1,h2,h3,ul,ol,u,i,b and links.

Parameters:
  • room_id (str) – The room ID of the message.

  • parent_id (str) – The parent message to reply to.

  • to_person_id (str) – The person ID of the recipient when sending a private 1:1 message.

  • to_person_email (str) – The email address of the recipient when sending a private 1:1 message.

  • text (str) – The message, in plain text. If markdown is specified this parameter may be optionally used to provide alternate text for UI clients that do not support rich text. The maximum message length is 7439 bytes.

  • markdown (str) – The message, in Markdown format. The maximum message length is 7439 bytes.

  • html (str) – The message, in HTML format. The maximum message length is 7439 bytes.

  • files (list[str]) – The public URL to a binary file or a path to a local file to be posted into the room. Only one file is allowed per message. Uploaded files are automatically converted into a format that all Webex clients can render. For the supported media types and the behavior of uploads, see the Message Attachments Guide.

  • attachments (list[Attachment]) – Content attachments to attach to the message. Only one card per message is supported. See the Cards Guide for more information.

Return type:

Message

async edit(message: Message) Message[source]

Update a message you have posted not more than 10 times. Specify the messageId of the message you want to edit. Edits of messages containing files or attachments are not currently supported. If a user attempts to edit a message containing files or attachments a 400 Bad Request will be returned by the API with a message stating that the feature is currently unsupported. There is also a maximum number of times a user can edit a message. The maximum currently supported is 10 edits per message. If a user attempts to edit a message greater that the maximum times allowed the API will return 400 Bad Request with a message stating the edit limit has been reached. While only the roomId and text or markdown attributes are required in the request body, a common pattern for editing message is to first call GET /messages/{id} for the message you wish to edit and to then update the text or markdown attribute accordingly, passing the updated message object in the request body of the PUT /messages/{id} request.

Parameters:

message

the updated message, id has to be set in the message attributes supported for update:

  • room_id: str: The room ID of the message.

  • text: str: The message, in plain text. If markdown is specified this parameter may be optionally used to provide alternate text for UI clients that do not support rich text. The maximum message length is 7439 bytes.

  • markdown: str: The message, in Markdown format. If this attribute is set ensure that the request does NOT contain an html attribute.

  • html: str: The message, in HTML format. The maximum message length is 7439 bytes.

async details(message_id: str) Message[source]

Show details for a message, by message ID. Specify the message ID in the messageId parameter in the URI.

Parameters:

message_id (str) – The unique identifier for the message.

async delete(message_id: str)[source]

Delete a message, by message ID. Specify the message ID in the messageId parameter in the URI.

Parameters:

message_id (str) – The unique identifier for the message.

base = 'messages'
class wxc_sdk.as_api.AsModeManagementApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Operating Mode Management for Person Call Settings

Person Call Settings supports modifying Webex Calling settings for a specific person.

Viewing People requires a full, user, or read-only administrator or location administrator auth token with a scope of spark-admin:people_read or, for select APIs, a user auth token with spark:people_read scope can be used by a person to read their own settings.

Configuring People settings requires a full, or user administrator or location administrator auth token with the spark-admin:people_write scope or, for select APIs, a user auth token with spark:people_write scope can be used by a person to update their own settings.

Call Settings API access can be restricted via Control Hub by a full administrator. Restricting access causes the APIs to throw a 403 Access Forbidden error.

See details about features available by license type for Webex Calling.

available_features_gen(person_id: str = None, name: str = None, phone_number: str = None, extension: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[AvailableFeature, None][source]

Retrieve the List of Available Features.

Retrieve a list of feature identifiers that can be assigned to a user for Mode Management. Feature identifiers reference feature instances like Auto Attendants, Call Queues, and Hunt Groups.

Features with mode-based call forwarding enabled can be assigned to a user for Mode Management.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the user.

  • name (str) – List features whose name contains this string.

  • phone_number (str) – List features whose phoneNumber contains this matching string.

  • extension (str) – List features whose extension contains this matching string.

  • order (str) – Sort the list of features based on name, phoneNumber, or extension, either asc, or desc.

  • org_id (str) – Retrieve features list from this organization.

Returns:

Generator yielding AvailableFeature instances

async available_features(person_id: str = None, name: str = None, phone_number: str = None, extension: str = None, order: str = None, org_id: str = None, **params) list[AvailableFeature][source]

Retrieve the List of Available Features.

Retrieve a list of feature identifiers that can be assigned to a user for Mode Management. Feature identifiers reference feature instances like Auto Attendants, Call Queues, and Hunt Groups.

Features with mode-based call forwarding enabled can be assigned to a user for Mode Management.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the user.

  • name (str) – List features whose name contains this string.

  • phone_number (str) – List features whose phoneNumber contains this matching string.

  • extension (str) – List features whose extension contains this matching string.

  • order (str) – Sort the list of features based on name, phoneNumber, or extension, either asc, or desc.

  • org_id (str) – Retrieve features list from this organization.

Returns:

Generator yielding AvailableFeature instances

async assigned_features(person_id: str = None, org_id: str = None) list[ModeManagementFeature][source]

Retrieve the List of Features Assigned to a User for Mode Management.

Retrieve a list of feature identifiers that are already assigned to a user for Mode Management. Feature identifiers reference feature instances like Auto Attendants, Call Queues, and Hunt Groups. A maximum of 50 features can be assigned to a user for Mode Management.

Features with mode-based call forwarding enabled can be assigned to a user for Mode Management.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – A unique identifier for the user.

  • org_id (str) – Retrieve features list from this organization.

Return type:

list[ModeManagementFeature]

async assign_features(feature_ids: list[str], person_id: str = None, org_id: str = None)[source]

Assign a List of Features to a User for Mode Management.

Assign a user a list of feature identifiers for Mode Management. Feature identifiers reference feature instances like Auto Attendants, Call Queues, and Hunt Groups. A maximum of 50 features can be assigned to a user for Mode Management.

Updating mode management settings for a user requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • feature_ids (list[str]) – Array of feature IDs.

  • person_id (str) – A unique identifier for the user.

  • org_id (str) – Retrieve features list from this organization.

Return type:

None

base = 'telephony/config/people'
class wxc_sdk.as_api.AsMonitoringApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s call monitoring settings, also used for workspaces

feature: str | None = 'monitoring'
async read(entity_id: str, org_id: str = None) Monitoring[source]

Retrieve an entity’s Monitoring Settings

Retrieves the monitoring settings of the entity, which shows specified people, places, virtual lines or call park extensions that are being monitored.

Monitors the line status which indicates if a person, place or virtual line is on a call and if a call has been parked on that extension.

This API requires a full, user, or read-only administrator or location administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

monitoring settings

Return type:

Monitoring

async configure(entity_id: str, settings: Monitoring, org_id: str = None)[source]

Modify an entity’s Monitoring Settings

Modifies the monitoring settings of the entity.

Monitors the line status of specified people, places, virtual lines or call park extension. The line status indicates if a person, place or virtual line is on a call and if a call has been parked on that extension.

The number of monitored elements is limited to 50.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (Monitoring) – settings for update

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsMoveUsersJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async validate_or_initiate(users_list: list[MoveUsersList], org_id: str = None) StartMoveUsersJobResponse[source]

Validate or Initiate Move Users Job

This API allows the user to perform any one of the following operations:

  • When the validate attribute is true, this validates the user move from one location to another location.

  • When the validate attribute is false, this performs the user move from one location to another location.

In order to validate or move a user,

  • Maximum of one calling user can be moved at a time.

  • The target location must be a calling location.

  • Only one new extension can be moved to the target location, which is optional. An empty value will remove the already configured extension. If not provided, the existing extension will be retained to the user.

  • Only one new phone number belonging to the target location can be assigned to the user, which is optional. Phone number must follow E.164 format. An empty value will remove the already configured phone number. If not provided, the existing phone number of the user will be moved to the target location.

Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code.

List of possible Errors:

  • 1026005 - Request is supported only for single user.

  • 1026006 - Attribute ‘Location ID’ is required.

  • 1026006 - Attribute ‘User ID’ is required.

  • 1026006 - Attribute ‘Validate’ is required.

  • 1026010 - User is not a valid Calling User.

  • 1026011 - Users list should not be empty.

  • 1026012 - Users should not be empty.

  • 1026013 - The source and the target location cannot be the same.

  • 1026014 - Error occurred while processing the move users request.

  • 1026015 - Error occurred while moving user number to target location.

  • 1026016 - User should have either phone number or extension.

  • 1026017 - Phone number is not in e164 format.

When the validate is set to be true, the errors and impacts associated with the user move will be identified and returned in the response.

List of possible Errors:

  • 4003 - User Not Found

  • 4007 - User Not Found

  • 4152 - Location Not Found

  • 5620 - Location Not Found

  • 4202 - The extension is not available. It is already assigned to a user : {0}

  • 8264 - Routing profile is different with new group: {0}

  • 19600 - User has to be within an enterprise to be moved.

  • 19601 - User can only be moved to a different group within the same enterprise.

  • 19602 - Only regular end user can be moved. Service instance virtual user cannot be moved.

  • 19603 - New group already reaches maximum number of user limits.

  • 19604 - The {0} number of the user is the same as the calling line ID of the group.

  • 19605 - User is assigned services not authorized to the new group: {0}.

  • 19606 - User is in an active hoteling/flexible seating association.

  • 19607 - User is pilot user of a trunk group.

  • 19608 - User is using group level device profiles which is used by other users in current group. Following re the device profiles shared with other users: {0}.

  • 19609 - Following device profiles cannot be moved to the new group because there are already devices with the same name defined in the new group: {0}.

  • 19610 - The extension of the user is used as transfer to operator number for following Auto Attendent : {0}.

  • 19611 - Fail to move announcement file from {0} to {1}.

  • 19612 - Fail to move device management file from {0} to {1}.

  • 19613 - User is assigned service packs not authorized to the new group: {0}.

  • 25008 - Missing Mandatory field name: {0}

  • 25110 - {fieldName} cannot be less than {0} or greater than {1} characters.

  • 25378 - Target location is same as user’s current location.

  • 25379 - Error Occurred while Fetching User’s Current Location Id.

  • 25381 - Error Occurred while rolling back to Old Location Call recording Settings

  • 25382 - Error Occurred while Disabling Call Recording for user which is required Before User can be Moved

  • 25383 - OCI Error while moving user

  • 25384 - Error Occurred while checking for Possible Call Recording Impact.

  • 25385 - Error Occurred while getting Call Recording Settings

  • 27559 - The groupExternalId search criteria contains groups with different calling zone.

  • 27960 - Parameter isWebexCalling, newPhoneNumber, or newExtension can only be set in Webex Calling deployment mode.

  • 27961 - Parameter isWebexCalling shall be set if newPhoneNumber or newExtension is set.

  • 27962 - Work space cannot be moved.

  • 27963 - Virtual profile user cannot be moved.

  • 27965 - The user’s phone number: {0}, is same as the current group charge number.

  • 27966 - The phone number, {0}, is not available in the new group.

  • 27967 - User is configured as the ECBN user for another user in the current group.

  • 27968 - User is configured as the ECBN user for the current group.

  • 27969 - User is associated with DECT handset(s): {0}

  • 27970 - User is using a customer managed device: {0}

  • 27971 - User is using an ATA device: {0}

  • 27972 - User is in an active hotdesking association.

  • 27975 - Need to unassign CLID number from group before moving the number to the new group. Phone number: {0}

  • 27976 - Local Gateway configuration is different with new group. Phone number: {0}

  • 1026015 - Error occurred while moving user number to target location

  • 10010000 - Total numbers exceeded maximum limit allowed

  • 10010001 - to-location and from-location cannot be same

  • 10010002 - to-location and from-location should belong to same customer

  • 10010003 - to-location must have a carrier

  • 10010004 - from-location must have a carrier

  • 10010005 - Different Carrier move is not supported for non-Cisco PSTN carriers.

  • 10010006 - Number move not supported for WEBEX_DIRECT carriers.

  • 10010007 - Numbers out of sync, missing on CPAPI

  • 10010008 - from-location not found or pstn connection missing in CPAPI

  • 10010010 - from-location is in transition

  • 10010009 - to-location not found or pstn connection missing in CPAPI

  • 10010011 - to-location is in transition

  • 10010012 - Numbers don’t have a carrier Id

  • 10010013 - Location less numbers don’t have a carrier Id

  • 10010014 - Different Carrier move is not supported for numbers with different country or region.

  • 10010015 - Numbers contain mobile and non-mobile types.

  • 10010016 - To/From location carriers must be same for mobile numbers.

  • 10010017 - Move request for location less number not supported

  • 10010200 - Move request for more than one block number is not supported

  • 10010201 - Cannot move block number as few numbers not from the block starting %s to %s

  • 10010202 - Cannot move block number as few numbers failed VERIFICATION from the block %s to %s

  • 10010203 - Cannot move block number as few numbers missing from the block %s to %s

  • 10010204 - Cannot move number as it is NOT a part of the block %s to %s

  • 10010205 - Move request for Cisco PSTN block order not supported.

  • 10010299 - Move order couldn’t be created as no valid number to move

  • 10030000 - Number not found

  • 10030001 - Number does not belong to from-location

  • 10030002 - Number is not present in CPAPI

  • 10030003 - Number assigned to an user or device

  • 10030004 - Number not in Active status

  • 10030005 - Number is set as main number of the location

  • 10030006 - Number has pending order associated with it

  • 10030007 - Number belongs to a location but a from-location was not set

  • 10030008 - Numbers from multiple carrier ids are not supported

  • 10030009 - Location less number belongs to a location. from-location value is set to null or no location id

  • 10030010 - One or more numbers are not portable.

  • 10030011 - Mobile number carrier was not set

  • 10030012 - Number must be assigned for assigned move

  • 10050000 - Failed to update customer reference for phone numbers on carrier

  • 10050001 - Failed to update customer reference

  • 10050002 - Order is not of operation type MOVE

  • 10050003 - CPAPI delete call failed

  • 10050004 - Not found in database

  • 10050005 - Error sending notification to WxcBillingService

  • 10050006 - CPAPI provision number as active call failed with status %s ,reason %s

  • 10050007 - Failed to update E911 Service

  • 10050008 - Target location does not have Inbound Toll Free license

  • 10050009 - Source location or Target location subscription found cancelled or suspended

  • 10050010 - Moving On Premises or Non Integrated CCP numbers from one location to another is not supported.

  • 10099999 - {Error Code} - {Error Message}

List of possible Impacts:

  • 19701 - The identity/device profile the user is using is moved to the new group: {0}.

  • 19702 - The user level customized incoming digit string setting is removed from the user. User is set to use the new group setting.

  • 19703 - The user level customized outgoing digit plan setting is removed from the user. User is set to use the new group setting.

  • 19704 - The user level customized enhanced outgoing calling plan setting is removed from the user. User is set to use the new group setting.

  • 19705 - User is removed from following group services: {0}.

  • 19706 - The current group schedule used in any criteria is removed from the service settings.

  • 19707 - User is removed from the department of the old group.

  • 19708 - User is changed to use the default communication barring profile of the new group.

  • 19709 - The communication barring profile of the user is assigned to the new group: {0}.

  • 19710 - The charge number for the user is removed.

  • 19711 - The disabled FACs for the user are removed because they are not available in the new group.

  • 19712 - User is removed from trunk group.

  • 19713 - The extension of the user is reset to empty due to either the length is out of bounds of the new group, or the extension is already taken in new group.

  • 19714 - The extension of the following alternate number is reset to empty due to either the length out of bounds of the new group or the extension is already taken in new group: {0}.

  • 19715 - The collaborate room using current group default collaborate bridge is moved to the default collaborate bridge of the new group.

  • 19716 - Previously stored voice messages of the user are no longer available. The new voice message will be stored on the mail server of the new group.

  • 19717 - The primary number, alternate numbers or fax messaging number of the user are assigned to the new group: {0}.

  • 19718 - Following domains are assigned to the new group: {0}.

  • 19719 - The NCOS of the user is assigned to the new group: {0}.

  • 19720 - The office zone of the user is assigned to the new group: {0}.

  • 19721 - The announcement media files are relocated to the new group directory.

  • 19722 - User CLID number is set to use the new group CLID number: {0}.

  • 19723 - New group CLID number is not configured.

  • 19724 - The group level announcement file(s) are removed from the user’s music on hold settings.

  • 25388 - Target Location Does not Have Vendor Configured. Call Recording for user will be disabled

  • 25389 - Call Recording Vendor for user will be changed from:{0} to:{1}

  • 25390 - Dub point of user is moved to new external group

  • 25391 - Error Occurred while moving Call recording Settings to new location

  • 25392 - Error Occurred while checking for Possible Call Recording Impact.

  • 25393 - Sending Billing Notification Failed

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write, spark-admin:people_write and identity:groups_rw.

Parameters:
  • users_list (list[MoveUsersList]) – The user to be moved from the source location.

  • org_id (str) – Create Move Users job for this organization.

Return type:

StartJobResponse

list_gen(org_id: str = None, **params) AsyncGenerator[MoveUserJobDetails, None][source]

List Move Users Jobs

Lists all the Move Users jobs for the given organization in order of most recent job to oldest job irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of Move Users jobs for this organization.

Returns:

Generator yielding JobDetailsResponse instances

async list(org_id: str = None, **params) list[MoveUserJobDetails][source]

List Move Users Jobs

Lists all the Move Users jobs for the given organization in order of most recent job to oldest job irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of Move Users jobs for this organization.

Returns:

Generator yielding JobDetailsResponse instances

async status(job_id: str, org_id: str = None) MoveUserJobDetails[source]

Get Move Users Job Status

Returns the status and other details of the job.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job details for this jobId.

  • org_id (str) – Retrieve job details for this organization.

Return type:

MoveUserJobDetails

async abandon(job_id: str, org_id: str = None)[source]

Abandon the Move Users Job.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Abandon the Move Users job for this jobId.

  • org_id (str) – Abandon the Move Users job for this organization.

Return type:

None

async pause(job_id: str, org_id: str = None)[source]

Pause the Move Users Job

Pause the running Move Users Job. A paused job can be resumed or abandoned.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Pause the Move Users job for this jobId.

  • org_id (str) – Pause the Move Users job for this organization.

Return type:

None

async resume(job_id: str, org_id: str = None)[source]

Resume the Move Users Job

Resume the paused Move Users Job that is in paused status.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Resume the Move Users job for this jobId.

  • org_id (str) – Resume the Move Users job for this organization.

Return type:

None

errors_gen(job_id: str, org_id: str = None, **params) AsyncGenerator[JobErrorItem, None][source]

List Move Users Job errors

Lists all error details of Move Users job. This will not list any errors if exitCode is COMPLETED. If the status is COMPLETED_WITH_ERRORS then this lists the cause of failures.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve the error details for this jobId.

  • org_id (str) – Retrieve list of jobs for this organization.

Returns:

Generator yielding JobErrorItem instances

async errors(job_id: str, org_id: str = None, **params) list[JobErrorItem][source]

List Move Users Job errors

Lists all error details of Move Users job. This will not list any errors if exitCode is COMPLETED. If the status is COMPLETED_WITH_ERRORS then this lists the cause of failures.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve the error details for this jobId.

  • org_id (str) – Retrieve list of jobs for this organization.

Returns:

Generator yielding JobErrorItem instances

base = 'telephony/config/jobs/person/moveLocation'
class wxc_sdk.as_api.AsMusicOnHoldApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

feature: str | None = 'musicOnHold'
async read(entity_id: str, org_id: str = None) MusicOnHold[source]

Retrieve Music On Hold Settings for a Person, virtual line, or workspace.

Retrieve the music on hold settings.

Music on hold is played when a caller is put on hold, or the call is parked.

Retrieving a person’s music on hold settings requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • entity_id (str) – Unique identifier for the person, virtual line, or workspace.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

GetMusicOnHoldObject

async configure(entity_id: str, settings: MusicOnHold, org_id: str = None)[source]

Configure Music On Hold Settings for a Personvirtual line, or workspace.

Configure music on hold settings.

Music on hold is played when a caller is put on hold, or the call is parked.

To configure music on hold settings for a person, music on hold setting must be enabled for this location.

Updating a person’s music on hold settings requires a full or user administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Unique identifier for the person, virtual line, or workspace.

  • settings (MusicOnHold) – new MOH settings

  • org_id (str) – ID of the organization in which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsNumbersApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s numbers

feature: str | None = 'numbers'
async read(person_id: str, prefer_e164_format: bool = None, org_id: str = None) PersonNumbers[source]

Get a person’s phone numbers including alternate numbers.

A person can have one or more phone numbers and/or extensions via which they can be called.

This API requires a full or user administrator auth token with the spark-admin:people_read scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • prefer_e164_format (bool) – Return phone numbers in E.164 format.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

Alternate numbers of the user

Return type:

PersonNumbers

async update(person_id: str, update: UpdatePersonNumbers, org_id: str = None)[source]

Assign or unassign alternate phone numbers to a person.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Phone numbers must follow E.164 format for all countries, except for the United States, which can also follow the National format. Active phone numbers are in service.

Assigning or Unassigning an alternate phone number to a person requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier of the person.

  • update (UpdatePersonNumbers) – Update to apply

  • org_id (str) – organization to work on

base = ''
class wxc_sdk.as_api.AsOperatingModesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Operating Modes

Features: Operating modes help manage calls more efficiently by routing them based on predefined settings. Authorized users can adjust these modes to reduce wait times for clients. Operating modes are used by mode-based forwarding for the Auto Attendant, Call Queue, and Hunt Group features.

Viewing these read-only organization settings requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve, or change settings in a customer’s organization using the optional orgId query parameter.

list_gen(limit_to_location_id: str = None, name: str = None, limit_to_org_level_enabled: bool = None, order: str = None, org_id: str = None, **params) AsyncGenerator[OperatingMode, None][source]

Read the List of Operating Modes.

Retrieve Operating Modes list defined at location, or organization level. Use query parameters to filter the result set by location or level. The list returned is sorted in ascending order by operating mode name. Long result sets are split into pages.

Operating modes help manage calls more efficiently by routing them based on predefined settings.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • limit_to_location_id (str) – Location query parameter to filter the operating modes from that location only.

  • name (str) – List operating modes whose name contains this string.

  • limit_to_org_level_enabled (bool) – If true, only return operating modes defined at the organization level.

  • order (str) – Sort the list of operating modes based on name, either asc, or desc.

  • org_id (str) – Retrieve operating modes list from this organization.

Returns:

Generator yielding OperatingMode instances

async list(limit_to_location_id: str = None, name: str = None, limit_to_org_level_enabled: bool = None, order: str = None, org_id: str = None, **params) list[OperatingMode][source]

Read the List of Operating Modes.

Retrieve Operating Modes list defined at location, or organization level. Use query parameters to filter the result set by location or level. The list returned is sorted in ascending order by operating mode name. Long result sets are split into pages.

Operating modes help manage calls more efficiently by routing them based on predefined settings.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • limit_to_location_id (str) – Location query parameter to filter the operating modes from that location only.

  • name (str) – List operating modes whose name contains this string.

  • limit_to_org_level_enabled (bool) – If true, only return operating modes defined at the organization level.

  • order (str) – Sort the list of operating modes based on name, either asc, or desc.

  • org_id (str) – Retrieve operating modes list from this organization.

Returns:

Generator yielding OperatingMode instances

async details(mode_id: str, org_id: str = None) OperatingMode[source]

Get Details for an Operating Mode.

Retrieve an Operating Mode by Operating Mode ID.

Operating modes can be used to define call routing rules for different scenarios like business hours, after hours, holidays, etc.

Retrieving an operating mode requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • mode_id (str) – Get the operating mode with the matching ID.

  • org_id (str) – Get the operating mode from this organization.

Return type:

OperatingMode

async create(settings: OperatingMode, org_id: str = None) str[source]

Create an Operating Mode.

Create an Operating Mode at an organization, or a location level.

Operating modes can be used to define call routing rules for different scenarios like business hours, after hours, holidays, etc.

Creating an Operating Mode requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings (OperatingMode) – Create the operating mode with these settings. At least name, type and level must be set.

  • org_id (str) – Create the operating mode for this organization.

Return type:

str

async update(mode_id: str, settings: OperatingMode, org_id: str = None)[source]

Modify an Operating Mode.

Modify the designated Operating Mode’s configuration.

Operating modes can be used to define call routing rules for different scenarios like business hours, after hours, holidays, etc.

Modifying an Operating Mode requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • mode_id (str) – Modify the operating mode with the matching ID.

  • settings (OperatingMode) – Modify the operating mode with these settings.

  • org_id (str) – Modify the operating mode from this organization.

Return type:

None

async delete(mode_id: str, org_id: str = None)[source]

Delete an Operating Mode.

Delete the designated Operating Mode.

Deleting an Operating Mode requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • mode_id (str) – Delete the operating mode with the matching ID.

  • org_id (str) – Delete the operating mode from this organization.

Return type:

None

async holiday_details(mode_id: str, holiday_id: str, org_id: str = None) OperatingModeHoliday[source]

Get details for an Operating Mode Holiday.

Retrieve an Operating Mode Holiday by ID.

Holidays define a recurring schedule for the Operating Modes.

Retrieving an Operating Mode Holiday requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • mode_id (str) – Get the holiday from this operating mode matching ID.

  • holiday_id (str) – Get the operating mode Holiday with the matching ID.

  • org_id (str) – Get the operating mode from this organization.

Return type:

OperatingModeHoliday

async holiday_create(mode_id: str, settings: OperatingModeHoliday, org_id: str = None) str[source]

Create an Operating Mode Holiday.

Create a holiday schedule event for the designated Operating Mode.

Holidays define a recurring schedule for the Operating Modes. An Operating Mode can have a max of 150 holidays.

Creating an Operating Mode Holiday requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • mode_id (str) – Create the holiday for this operating mode.

  • settings (OperatingModeHoliday) – Create the operating mode holiday with these settings.

  • org_id (str) – Create the operating mode holiday for this organization.

Return type:

str

async holiday_update(mode_id: str, holiday_id: str, settings: OperatingModeHoliday, org_id: str = None)[source]

Modify an Operating Mode Holiday.

Modify the designated Operating Mode Holiday’s configuration.

Modifying an Operating Mode Holiday requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • mode_id (str) – Modify the holiday from this operating mode matching ID.

  • holiday_id (str) – Modify the Holiday with the matching ID.

  • settings (OperatingModeHoliday) – Modify the operating mode holiday with these settings.

  • org_id (str) – Modify the operating mode from this organization.

Return type:

None

async holiday_delete(mode_id: str, holiday_id: str = None, org_id: str = None)[source]

Delete an Operating Mode Holiday.

Delete the designated Operating Mode Holiday.

Deleting an Operating Mode Holiday requires a full, or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • mode_id (str) – Delete the holiday from this operating mode matching ID.

  • holiday_id (str) – Delete the holiday with the matching ID.

  • org_id (str) – Delete the operating mode from this organization.

Return type:

None

async available_operating_modes(location_id: str, org_id: str = None) list[IdAndName][source]

Retrieve the List of Available Operating Modes in a Location.

Retrieve list of Operating Modes which are available to be assigned to a location level feature (Auto Attendant, Call Queue, or Hunt Group). Since each location and an org can have a max of 100 Operating Modes defined. The max number of operating modes that can be returned is 200.

Operating modes can be used to define call routing rules for different scenarios like business hours, after hours, holidays, etc. for the Auto Attendant, Call Queue, and Hunt Group features.

Retrieving this list requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve operating modes list from this location.

  • org_id (str) – Retrieve operating modes list from this organization.

Return type:

list[IdAndName]

call_forward_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Operating Mode Call Forward Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as a operating mode’s call forward number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async call_forward_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, extension: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Operating Mode Call Forward Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as a operating mode’s call forward number.

These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • extension (str) – Returns the list of PSTN phone numbers with the given extension.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

base = 'telephony/config'
class wxc_sdk.as_api.AsOrgEmergencyServicesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Organization Call Settings with Emergency Services

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

Viewing these organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read. Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

async get_notification(org_id: str = None) OrgEmergencyCallNotification[source]

Get an Organization Emergency Call Notification

Get organization emergency call notification.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To retrieve organization call notifications requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve Emergency Call Notification attributes for the organization.

Return type:

OrgEmergencyCallNotification

async update_notification(setting: OrgEmergencyCallNotification, org_id: str = None)[source]

Update an organization emergency call notification.

Once settings are enabled at the organization level, the configured email address will receive emergency call notifications for all locations.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To update organization call notification requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • setting (OrgEmergencyCallNotification) – updated settings

  • org_id (str) – Update Emergency Call Notification attributes for the organization.

Return type:

None

async hunt_group_ecbn_dependencies(hunt_group_id: str, org_id: str = None) ECBNDependencies[source]

Get Dependencies for a Hunt Group Emergency Callback Number

Retrieves the emergency callback number dependencies for a specific hunt group.

Hunt groups can route incoming calls to a group of people, workspaces or virtual lines. You can even configure a pattern to route to a whole group.

Retrieving the dependencies requires a full, user, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • hunt_group_id (str) – Unique identifier for the hunt group.

  • org_id (str) – Retrieve Emergency Callback Number attributes for the hunt group under this organization.

Return type:

ECBNDependencies

async get_location_notification(location_id: str, org_id: str = None) LocationCallNotification[source]

Get a Location Emergency Call Notification

Get location emergency call notification.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To retrieve location call notifications requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve Emergency Call Notification attributes for this location.

  • org_id (str) – Retrieve Emergency Call Notification attributes for the location in this organization.

Return type:

LocationCallNotification

async update_location_notification(location_id: str, emergency_call_notification_enabled: bool = None, email_address: str = None, org_id: str = None)[source]

Update a location emergency call notification.

Once settings enabled at the organization level, the configured email address will receive emergency call notifications for all locations; for specific location customization, users can navigate to Management > Locations, select the Calling tab, and update the Emergency Call Notification settings.

Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that’s made from within your organization to emergency services must generate an email notification.

To update location call notification requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update Emergency Call Notification attributes for this location.

  • emergency_call_notification_enabled (bool) – When true sends an email to the specified email address when a call is made from this location to emergency services.

  • email_address (str) – Sends an email to this email address when a call is made from this location to emergency services and emergencyCallNotificationEnabled is true.

  • org_id (str) – Update Emergency Call Notification attributes for a location in this organization.

Return type:

None

async get_location_parameters(location_id: str, org_id: str = None) RedSkyLocationParameters[source]

Get a Location’s RedSky Emergency Calling Parameters

Get the Emergency Calling Parameters for a specific location.

The enhanced emergency (E911) service for Webex Calling provides an emergency service designed for organizations with a hybrid or nomadic workforce. It provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada.

To retrieve location calling parameters requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve Calling Parameters for this location.

  • org_id (str) – Retrieve Calling Parameters for the location in this organization.

Return type:

RedSkyLocationParameters

async create_location_address_and_alert_email(location_id: str, alerting_email: str, address: RedSkyAddress = None, org_id: str = None)[source]

Create a RedSky Building Address and Alert Email for a Location

Add a RedSky building address and alert email for a specified location.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Creating a building address and alert email requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the building address and alert email for this location.

  • alerting_email (str) – Email that is used to create alerts in RedSky. At least one email is mandatory.

  • address (RedSkyAddress) – Contains address information for the building.

  • org_id (str) – The organization in which the location exists.

Return type:

None

async update_location_address(location_id: str, address: RedSkyAddress = None, org_id: str = None)[source]

Update a RedSky Building Address for a Location

Update a RedSky building address for a specified location.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Updating a building address requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update the building address for this location.

  • address (RedSkyAddress) – Contains address information for the building.

  • org_id (str) – The organization in which the location exists.

Return type:

None

async get_location_compliance_status(location_id: str, org_id: str = None) RedSkyComplianceStatus[source]

Get a Location’s RedSky Compliance Status

Get RedSky compliance status for a specific location.

The enhanced emergency (E911) service for Webex Calling provides an emergency service designed for organizations with a hybrid or nomadic workforce. It provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada.

Retrieving the location’s compliance status requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve the compliance status for this location.

  • org_id (str) – Retrieve compliance status for the location in this organization.

Return type:

RedSkyComplianceStatus

async update_location_compliance_status(location_id: str, compliance_status: RedSkyLocationState, org_id: str = None) ComplianceLocationStatus[source]

Update a Location’s RedSky Compliance Status

Update the compliance status for a specific location.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Updating the RedSky account’s compliance status requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update the E911 compliance status for this location.

  • compliance_status (RedSkyLocationState) – Specifies which stage of the RedSky account creation process has been completed. The stages must be completed in the following order: LOCATION_SETUP, ALERTS, NETWORK_ELEMENTS, ROUTING_ENABLED.

  • org_id (str) – Update the E911 compliance status for the location in this organization.

Return type:

ComplianceLocationStatus

async get_redsky_account_details(org_id: str = None) RedSkyAccount[source]

Retrieve RedSky account details for an organization.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

To retrieve the RedSky account details requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve RedSky account for the organization.

Return type:

RedSkyAccount

async create_redsky_account_and_admin(email: str, org_prefix: OrgPrefixObject = None, partner_redsky_org_id: str = None, org_id: str = None)[source]

Create an account and admin in RedSky.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Creating a RedSky account requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • email (str) – The email for the RedSky account administrator.

  • org_prefix (OrgPrefixObject) – Represents whether the customer is ‘Webex Calling’ or not.

  • partner_redsky_org_id (str) – New organization is created under this partner organization ID if present, otherwise it will be created under a Cisco partner.

  • org_id (str) – Create RedSky account for the organization.

Return type:

None

async login(email: str, password: str, red_sky_org_id: str = None, org_id: str = None) LoginResponse[source]

Login to a RedSky Admin Account

Login to Redsky for an existing account admin user to retrieve the companyId and verify the status of externalTenantEnabled. The password provided will not be stored.

The enhanced emergency (E911) service for Webex Calling provides an emergency service designed for organizations with a hybrid or nomadic workforce. It provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada.

Logging in requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • email (str) – Email for the RedSky account.

  • password (str) – Password for the RedSky account.

  • red_sky_org_id (str) – The RedSky organization ID for the organization which can be found in the RedSky portal.

  • org_id (str) – Login to a RedSky account for the organization.

Return type:

LoginResponse

async get_org_compliance(start: int = None, max_: int = None, order: str = None, org_id: str = None) RedSkyComplianceStatus[source]

Get the Organization Compliance Status and the Location Status List

Get the organization compliance status and the location status list for a RedSky account.

The enhanced emergency (E911) service for Webex Calling provides an emergency service designed for organizations with a hybrid or nomadic workforce. It provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada.

To retrieve organization compliance status requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • start (int) – Specifies the offset from the first result that you want to fetch.

  • max (int) – Specifies the maximum number of records that you want to fetch.

  • order (str) – Sort the list of locations in ascending or descending order. To sort in descending order append -desc to possible sort order values. Possible sort order values are locationName and locationState.

  • org_id (str) – Retrieve the compliance status and the list of location statuses for the organization.

Return type:

RedSkyComplianceStatus

async update_service_settings(enabled: bool, company_id: str = None, secret: str = None, external_tenant_enabled: bool = None, email: str = None, password: str = None, org_id: str = None)[source]

Update RedSky Service Settings

Update the RedSky service settings.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Updating the RedSky service settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • enabled (bool) – true if the service is enabled.

  • company_id (str) – The RedSky company ID, which can be retrieved from the RedSky portal.

  • secret (str) – The company secret key, which can be found in the RedSky portal.

  • external_tenant_enabled (bool) – true if the RedSky reseller customer is not under a Cisco account.

  • email (str) – The email for the RedSky account. email is required if externalTenantEnabled is true.

  • password (str) – The password for the RedSky account. password is required if externalTenantEnabled is true.

  • org_id (str) – Update E911 settings for the organization.

Return type:

None

async get_org_compliance_status(org_id: str = None) RedSkyComplianceStatus[source]

Get the Organization Compliance Status for a RedSky Account

Get the organization compliance status for a RedSky account. The locationStatus.state in the response will show the state for the location that is in the earliest stage of configuration.

The enhanced emergency (E911) service for Webex Calling provides an emergency service designed for organizations with a hybrid or nomadic workforce. It provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada.

To retrieve organization compliance status requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve the compliance status for the organization.

Return type:

RedSkyComplianceStatus

async update_org_compliance_status(compliance_status: RedSkyLocationState, org_id: str = None) RedSkyComplianceStatus[source]

Update the Organization RedSky Account’s Compliance Status

Update the compliance status for the customer’s RedSky account.

The Enhanced Emergency (E911) Service for Webex Calling provides dynamic location support and a network that routes emergency calls to Public Safety Answering Points (PSAP) around the US, its territories, and Canada. E911 services are provided in conjunction with a RedSky account.

Updating the RedSky account’s compliance status requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • compliance_status (RedSkyLocationState) – Specifies which stage of the RedSky account creation process has been completed. The stages must be completed in the following order: LOCATION_SETUP, ALERTS, NETWORK_ELEMENTS, ROUTING_ENABLED.

  • org_id (str) – Update E911 compliance status for the organization.

Return type:

RedSkyComplianceStatus

base = 'telephony/config'
class wxc_sdk.as_api.AsOrgMSTeamsSettingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Client Call Settings

Client Call Settings supports reading and writing of Webex Calling client settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async read(org_id: str = None) OrgMSTeamsSettings[source]

Get an Organization’s MS Teams Settings

Not supported for Webex for Government (FedRAMP)

Get organization MS Teams settings.

At an organization level, MS Teams settings allow access to viewing the HIDE WEBEX APP and PRESENCE SYNC settings.

To retrieve an organization’s MS Teams settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve MS Teams settings for the organization.

Return type:

OrgMSTeamsSettings

async configure(setting_name: str, value: bool, org_id: str = None)[source]

Update an Organization’s MS Teams Setting

Not supported for Webex for Government (FedRAMP)

Update an MS Teams setting.

MS Teams setting can be updated at the organization level.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • setting_name (SettingsObjectSettingName) – The enum value, either HIDE_WEBEX_APP or PRESENCE_SYNC, for the respective settingName to be updated.

  • value (bool) – The boolean value, either true or false, for the respective settingName to be updated.

  • org_id (str) – Update MS Teams setting value for the organization.

Return type:

None

base = 'telephony/config/settings/msTeams'
class wxc_sdk.as_api.AsOrganisationAccessCodesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Viewing an organisation requires a full, user or read-only administrator auth token with a scope of `spark-admin:telephony_config_read.

list_gen(code: list[str] = None, description: list[str] = None, org_id: str = None, **params) AsyncGenerator[AuthCode, None][source]

Retrieve the organisation’s access codes.

Access codes, also known as authorization codes, provide a mechanism to allow authorized users to enter a code to bypass outgoing or incoming calling permissions.

This API requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read

Parameters:
  • code (list[str]) – Filter access code based on the comma-separated list provided in the code array.

  • description (list[str]) – Filter access code based on the comma-separated list provided in the description array.

  • org_id (str) – ID of the organisation. Only admin users of another organisation (such as partners) may use this parameter as the default is the same organisation as the token used to access the API.

Returns:

Generator yielding AuthCode instances

async list(code: list[str] = None, description: list[str] = None, org_id: str = None, **params) list[AuthCode][source]

Retrieve the organisation’s access codes.

Access codes, also known as authorization codes, provide a mechanism to allow authorized users to enter a code to bypass outgoing or incoming calling permissions.

This API requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read

Parameters:
  • code (list[str]) – Filter access code based on the comma-separated list provided in the code array.

  • description (list[str]) – Filter access code based on the comma-separated list provided in the description array.

  • org_id (str) – ID of the organisation. Only admin users of another organisation (such as partners) may use this parameter as the default is the same organisation as the token used to access the API.

Returns:

Generator yielding AuthCode instances

async delete(delete_codes: list[str] = None, org_id: str = None)[source]

Delete Outgoing Permission Access Code for an Organisation

Deletes the access code details for a particular organisation and max limit is 10k per request.

Access codes, also known as authorization codes, provide a mechanism to allow authorized users to enter a code to bypass outgoing or incoming calling permissions.

This API requires a full or user administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • delete_codes (list[str]) – Indicates access codes to delete.

  • org_id (str) – ID of the organisation. Only admin users of another organisation (such as partners) may use this parameter as the default is the same organisation as the token used to access the API.

Return type:

None

async create(access_codes: list[AuthCode], org_id: str = None)[source]

Create Access Codes for an Organisation

Create new access codes for the organisation and max limit is 10k per request.

Access codes, also known as authorization codes, provide a mechanism to allow authorized users to enter a code to bypass outgoing or incoming calling permissions.

This API requires a full or user administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • access_codes (list[AuthCode]) – Indicates the set of activation codes and description.

  • org_id (str) – ID of the organisation. Only admin users of another organisation (such as partners) may use this parameter as the default is the same organisation as the token used to access the API.

Return type:

None

base = 'telephony/config/outgoingPermission/accessCodes'
class wxc_sdk.as_api.AsOrganisationVoicemailSettingsAPI(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for Organisation voicemail settings

async read(org_id: str = None) OrganisationVoicemailSettings[source]

Get Voicemail Settings

Retrieve the organization’s voicemail settings.

Organizational voicemail settings determines what voicemail features a person can configure and automatic message expiration.

Retrieving organization’s voicemail settings requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve voicemail settings for this organization.

Returns:

VM settings

Return type:

OrganisationVoicemailSettings

async update(settings: OrganisationVoicemailSettings, org_id: str = None)[source]

Update the organization’s voicemail settings.

Organizational voicemail settings determines what voicemail features a person can configure and automatic message expiration.

Updating organization’s voicemail settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
base = 'telephony/config/voicemail/settings'
class wxc_sdk.as_api.AsOrganizationApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async list(calling_data: bool = None) list[Organization][source]

List all organizations visible by your account. The results will not be paginated.

Parameters:

calling_data (bool) – Include XSI endpoint values in the response (if applicable) for the organization. Default: false

Returns:

list of Organizations

async details(org_id: str, calling_data: bool = None) Organization[source]

Get Organization Details

Shows details for an organization, by ID.

Parameters:
  • org_id (str) – The unique identifier for the organization.

  • calling_data (bool) – Include XSI endpoint values in the response (if applicable) for the organization. Default: false

Returns:

org details

Return type:

Organization

async delete(org_id: str)[source]

Delete Organization

Deletes an organization, by ID. It may take up to 10 minutes for the organization to be deleted after the response is returned.

Parameters:

org_id (str) – The unique identifier for the organization.

base = 'organizations'
class wxc_sdk.as_api.AsOrganizationContactsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Organization Contacts

Organizational contacts are entities that can be created, imported, or synchronized with Webex. Searching and viewing contacts require an auth token with a scope of Identity:contact or Identity:SCIM, while adding, updating, and removing contacts in your Organization requires an administrator auth token with the Identity:contact or Identity:SCIM scope. An admin can only operate on the contacts list for his org or a managed org.

Note:

  • broadworks-connector entitled callers are limited to org contacts with either source=`CH` or source=`Webex4Broadworks`, while non-entitled callers are limited to source=`CH`.

  • The orgId used in the path for this API are the org UUIDs. They follow a xxxx-xxxx-xxxx-xxxx pattern. If you have an orgId in base64 encoded format (starting with Y2…..) you need to base64 decode the id and extract the UUID from the slug, before you use it in your API call.

async create(org_id: str, contact: Contact) Contact[source]

Create a Contact

Creating a new contact for a given organization requires an org admin role.

At least one of the following body parameters: phoneNumbers, emails, sipAddresses is required to create a new contact for source “CH”, displayName is required to create a new contact for source “Webex4Broadworks”.

Use the optional groupIds field to add group IDs in an array within the organisation contact. This will become a group contact.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • contact (Contact) – The contact to create.

Return type:

None

async get(org_id: str, contact_id: str) Contact[source]

Get a Contact

Shows details for an organization contact by ID. Specify the organization ID in the orgId parameter in the URI, and specify the contact ID in the contactId parameter in the URI.

NOTE: The orgId used in the path for this API are the org UUIDs. They follow a xxxx-xxxx-xxxx-xxxx pattern. If you have an orgId in base64 encoded format (starting with Y2…..) you need to base64 decode the id and extract the UUID from the slug, before you use it in your API call.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • contact_id (str) – The contact ID.

Return type:

Contact

async update(org_id: str, contact_id: str, update: Contact)[source]

Update a Contact

Update details for contact by ID. Only an admin can update a contact. Specify the organization ID in the orgId parameter in the URI, and specify the contact ID in the contactId parameter in the URI.

Use the optional groupIds field to update the group IDs by changing the existing array. You can add or remove one or all groups. To remove all associated groups, pass an empty array in the groupIds field.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • contact_id (str) – The contact ID.

  • update (Contact) – the update

Return type:

None

async delete(org_id: str, contact_id: str)[source]

Delete a Contact

Remove a contact from the organization. Only an admin can remove a contact.

Specify the organization ID in the orgId parameter in the URI, and specify the contact ID in the contactId parameter in the URI.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • contact_id (str) – The contact ID.

Return type:

None

list_gen(org_id: str, keyword: str = None, source: str = None, limit: int = None, group_ids: list[str] = None) AsyncGenerator[Contact, None][source]

List Contacts

List contacts in the organization. The default limit is 100.

keyword can be the value of “displayName”, “firstName”, “lastName”, “email”. An empty string of keyword means get all contacts.

groupIds is a comma separated list group IDs. Results are filtered based on those group IDs.

Long result sets will be split into pages.

Parameters:
  • org_id (str) – The organization ID.

  • keyword (str) – List contacts with a keyword.

  • source (str) – List contacts with source.

  • limit (int) – Limit the maximum number of contact in the response. Default: 100

  • group_ids (list[str]) – Filter contacts based on groups.

async list(org_id: str, keyword: str = None, source: str = None, limit: int = None, group_ids: list[str] = None) list[Contact][source]

List Contacts

List contacts in the organization. The default limit is 100.

keyword can be the value of “displayName”, “firstName”, “lastName”, “email”. An empty string of keyword means get all contacts.

groupIds is a comma separated list group IDs. Results are filtered based on those group IDs.

Long result sets will be split into pages.

Parameters:
  • org_id (str) – The organization ID.

  • keyword (str) – List contacts with a keyword.

  • source (str) – List contacts with source.

  • limit (int) – Limit the maximum number of contact in the response. Default: 100

  • group_ids (list[str]) – Filter contacts based on groups.

async bulk_create_or_update(org_id: str, contacts: list[Contact]) BulkResponse[source]

Bulk Create or Update Contacts

Create or update contacts in bulk. Update an existing contact by specifying the contact ID in the contactId parameter in the request body.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • contacts (list[BulkCreateContact]) – Contains a list of contacts to be created/updated.

Return type:

None

async bulk_delete(org_id: str, object_ids: list[str])[source]

Bulk Delete Contacts

Delete contacts in bulk.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for the user’s organization or the organization he manages.

  • object_ids (list[str]) – List of UUIDs for the contacts.

Return type:

None

base = 'contacts/organizations'
class wxc_sdk.as_api.AsOutgoingPermissionsApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for outgoing permissions settings

Also used for user, workspace, location, and virtual line outgoing permissions

feature: str | None = 'outgoingPermission'
__init__(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]
transfer_numbers: AsTransferNumbersApi
access_codes: AsAccessCodesApi
digit_patterns: AsDigitPatternsApi
async read(entity_id: str, org_id: str = None) OutgoingPermissions[source]

Retrieve Outgoing Calling Permissions Settings

You can change the outgoing calling permissions for a person if you want them to be different from your organization’s default.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

outgoing permission settings for specific user

Return type:

OutgoingPermissions

async configure(entity_id: str, settings: OutgoingPermissions, drop_call_types: set[str] = None, org_id: str = None)[source]

Configure Outgoing Calling Permissions Settings

Turn on outgoing call settings for this entity to override the calling settings from the location that are used by default.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a person to update their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (OutgoingPermissions) – new setting to be applied

  • drop_call_types (set[str]) – set of call type names to be excluded from updates. Default is the set of call_types known to be not supported for updates

  • org_id – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsPSTNApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

PSTN

PSTN Location Connection Settings supports PSTN selection when creating a location or changing a PSTN type for a location. This is only supported for Local Gateway and Non-integrated CCP.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_pstn_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_pstn_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async list(location_id: str, service_types: list[PSTNServiceType] = None, org_id: str = None) list[PSTNConnectionOption][source]

Retrieve PSTN Connection Options for a Location

Retrieve the list of PSTN connection options available for a location.

PSTN location connection settings enables the admin to configure or change the PSTN provider for a location.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_pstn_read.

Parameters:
  • location_id (str) – Return the list of List PSTN location connection options for this location.

  • service_types (list[PSTNServiceType]) –

    Use the serviceTypes parameter to fetch connections for the following services

    • MOBILE_NUMBERS

  • org_id (str) – List PSTN location connection options for this organization.

Return type:

list[PSTNConnectionOption]

async configure(location_id: str, id: str = None, premise_route_type: str = None, premise_route_id: str = None, org_id: str = None)[source]

Setup PSTN Connection for a Location

Set up or update the PSTN connection details for a location.

PSTN location connection settings enables the admin to configure or change the PSTN provider for a location.

Setting up PSTN connection on a location requires a full administrator auth token with a scope of spark-admin:telephony_pstn_write.

Parameters:
  • location_id (str) – Setup PSTN location connection options for this location.

  • id (str) – A unique identifier for the connection. This is required for non-integrated CCP.

  • premise_route_type (str) – Premise route type. The possible types are TRUNK and ROUTE_GROUP. This is required for the local gateway.

  • premise_route_id (str) – Premise route ID. This refers to either a Trunk ID or a Route Group ID and is required for the local gateway.

  • org_id (str) – Setup PSTN location connection for this organization.

Return type:

None

async read(location_id: str, org_id: str = None) PSTNConnectionOption[source]

Retrieve PSTN Connection for a Location

Retrieves the current configured PSTN connection details for a location.

PSTN location connection settings enables the admin to configure or change the PSTN provider for a location.

Retrieving the PSTN connection details for a location requires a full or read-only administrator auth token with a scope of spark-admin:telephony_pstn_read.

Parameters:
  • location_id (str) – Retrieve PSTN location connection details for this location.

  • org_id (str) – Retrieve PSTN location connection details for this organization.

Return type:

PSTNConnectionOption

base = 'telephony/pstn/locations'
class wxc_sdk.as_api.AsPagingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(location_id: str = None, name: str = None, phone_number: str = None, org_id: str = None, **params: Any) AsyncGenerator[Paging, None][source]

Read the List of Paging Groups

List all Paging Groups for the organization.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return only paging groups with matching location ID. Default is all locations

  • name (str) – Return only paging groups with the matching name.

  • phone_number (str) – Return only paging groups with matching primary phone number or extension.

  • org_id (str) – List paging groups for this organization.

Returns:

generator of class:Paging objects

async list(location_id: str = None, name: str = None, phone_number: str = None, org_id: str = None, **params: Any) list[Paging][source]

Read the List of Paging Groups

List all Paging Groups for the organization.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return only paging groups with matching location ID. Default is all locations

  • name (str) – Return only paging groups with the matching name.

  • phone_number (str) – Return only paging groups with matching primary phone number or extension.

  • org_id (str) – List paging groups for this organization.

Returns:

generator of class:Paging objects

async create(location_id: str, settings: Paging, org_id: str = None) str[source]

Create a new Paging Group

Create a new Paging Group for the given location.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Creating a paging group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create the paging group for this location.

  • settings (Paging) – new paging group

  • org_id (str) – Create the paging group for this organization.

Returns:

ID of the newly created paging group.

Return type:

str

async delete_paging(location_id: str, paging_id: str, org_id: str = None) None[source]

Delete a Paging Group

Delete the designated Paging Group.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Deleting a paging group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete a paging group.

  • paging_id – Delete the paging group with the matching ID.

  • org_id – Delete the paging group from this organization.

async details(location_id: str, paging_id: str, org_id: str = None) Paging[source]

Get Details for a Paging Group

Retrieve Paging Group details.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Retrieving paging group details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read. :param location_id: Retrieve settings for a paging group in this location. :param paging_id: Retrieve settings for the paging group with this identifier. :param org_id: Retrieve paging group settings from this organization. :return: Paging object

async update(location_id: str, update: Paging, paging_id: str, org_id: str = None) None[source]

Update a Paging Group

Update the designated Paging Group.

Group Paging allows a person to place a one-way call or group page to up to 75 people and/or workspaces by dialing a number or extension assigned to a specific paging group. The Group Paging service makes a simultaneous call to all the assigned targets.

Updating a paging group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update settings for a paging group in this location.

  • update (Paging) – update parameters

  • paging_id (str) – Update settings for the paging group with this identifier.

  • org_id (str) – Update paging group settings from this organization.

primary_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params: Any) AsyncGenerator[AvailableNumber, None][source]

Get Paging Group Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the paging group’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async primary_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params: Any) list[AvailableNumber][source]

Get Paging Group Primary Available Phone Numbers

List service and standard numbers that are available to be assigned as the paging group’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

base = 'telephony/config'
class wxc_sdk.as_api.AsPeopleApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

People

As of January 2024, the Webex APIs have been fully upgraded to support the industry-standard SCIM 2.0 protocol, which is used for user and group management, provisioning, and maintenance. Developers are advised to use this API instead of the people API, due to its higher performance and readily available connectors. Users created via SCIM should be licensed using the /licenses API, even in large quantities, using the new PATCH method.

People are registered users of Webex. Searching and viewing People requires an auth token with a scope of spark:people_read. Viewing the list of all People in your organization requires an administrator auth token with spark-admin:people_read scope. Adding, updating, and removing People requires an administrator auth token with the spark-admin:people_write and spark-admin:people_read scope.

A person’s call settings are for Webex Calling and necessitate Webex Calling licenses.

To learn more about managing people in a room see the Memberships API. For information about how to allocate Hybrid Services licenses to people, see the Managing Hybrid Services guide.

list_gen(email: str = None, display_name: str = None, id_list: list[str] = None, org_id: str = None, roles: str = None, calling_data: bool = None, location_id: str = None, exclude_status: bool = None, **params) AsyncGenerator[Person, None][source]

List people in your organization. For most users, either the email or displayName parameter is required. Admin users can omit these fields and list all users in their organization.

Response properties associated with a user’s presence status, such as status or lastActivity, will only be returned for people within your organization or an organization you manage. Presence information will not be returned if the authenticated user has disabled status sharing.

Admin users can include Webex Calling (BroadCloud) user details in the response by specifying callingData parameter as true. Admin users can list all users in a location or with a specific phone number. Admin users will receive an enriched payload with additional administrative fields like liceneses,roles etc. These fields are shown when accessing a user via GET /people/{id}, not when doing a GET /people?id=

Lookup by email is only supported for people within the same org or where a partner admin relationship is in place.

Lookup by roles is only supported for Admin users for the people within the same org.

Parameters:
  • email (str) – List people with this email address. For non-admin requests, either this or displayName are required.

  • display_name (str) – List people whose name starts with this string. For non-admin requests, either this or email are required.

  • id_list (list[str]) – List people by ID. Accepts up to 85 person IDs. If this parameter is provided then presence information (such as the last_activity or status properties) will not be included in the response.

  • org_id (str) – List people in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • roles (str) – List of roleIds separated by commas.

  • calling_data (bool) – Include Webex Calling user details in the response. Default: False

  • location_id (str) – List people present in this location.

  • exclude_status (bool) – Omit people status/availability to enhance query performance.

Returns:

yield Person instances

async list(email: str = None, display_name: str = None, id_list: list[str] = None, org_id: str = None, roles: str = None, calling_data: bool = None, location_id: str = None, exclude_status: bool = None, **params) list[Person][source]

List people in your organization. For most users, either the email or displayName parameter is required. Admin users can omit these fields and list all users in their organization.

Response properties associated with a user’s presence status, such as status or lastActivity, will only be returned for people within your organization or an organization you manage. Presence information will not be returned if the authenticated user has disabled status sharing.

Admin users can include Webex Calling (BroadCloud) user details in the response by specifying callingData parameter as true. Admin users can list all users in a location or with a specific phone number. Admin users will receive an enriched payload with additional administrative fields like liceneses,roles etc. These fields are shown when accessing a user via GET /people/{id}, not when doing a GET /people?id=

Lookup by email is only supported for people within the same org or where a partner admin relationship is in place.

Lookup by roles is only supported for Admin users for the people within the same org.

Parameters:
  • email (str) – List people with this email address. For non-admin requests, either this or displayName are required.

  • display_name (str) – List people whose name starts with this string. For non-admin requests, either this or email are required.

  • id_list (list[str]) – List people by ID. Accepts up to 85 person IDs. If this parameter is provided then presence information (such as the last_activity or status properties) will not be included in the response.

  • org_id (str) – List people in this organization. Only admin users of another organization (such as partners) may use this parameter.

  • roles (str) – List of roleIds separated by commas.

  • calling_data (bool) – Include Webex Calling user details in the response. Default: False

  • location_id (str) – List people present in this location.

  • exclude_status (bool) – Omit people status/availability to enhance query performance.

Returns:

yield Person instances

async create(settings: Person, calling_data: bool = False, min_response: bool = None) Person[source]

Create a Person

Create a new user account for a given organization. Only an admin can create a new user account.

At least one of the following body parameters is required to create a new user: displayName, firstName, lastName.

Currently, users may have only one email address associated with their account. The emails parameter is an array, which accepts multiple values to allow for future expansion, but currently only one email address will be used for the new user.

Admin users can include Webex calling (BroadCloud) user details in the response by specifying callingData parameter as true. It may happen that the POST request with calling data returns a 400 status, but the person was created still. One way to get into this state is if an invalid phone number is assigned to a user. The people API aggregates calls to several other microservices, and one may have failed. A best practice is to check if the user exists before retrying. This can be done with the user’s email address and a GET /people.

When doing attendee management, to make the new user an attendee for a site: append #attendee to the siteUrl parameter (eg: mysite.webex.com#attendee).

NOTES:

  • For creating a Webex Calling user, you must provide phoneNumbers or extension, locationId, and licenses string in the same request.

  • SipAddresses are assigned via an asynchronous process. This means that the POST response may not show the SIPAddresses immediately. Instead, you can verify them with a separate GET to /people, after they were newly configured.

  • When assigning multiple licenses in a single request, the system will assign all valid and available licenses. If any requested licenses cannot be assigned, the operation will continue with the remaining licenses. As a result, it is possible that not all requested licenses are assigned to the user.

Parameters:
  • settings (Person) – settings for new user

  • calling_data (bool) – Include Webex Calling user details in the response.

  • min_response (bool) – Set to true to improve performance by omitting person details and returning only the ID in the response when successful. If unsuccessful the response will have optional error details.

Returns:

new user

Return type:

Person

async details(person_id: str, calling_data: bool = False) Person[source]

Get Person Details

Shows details for a person, by ID.

Response properties associated with a user’s presence status, such as status or lastActivity, will only be displayed for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has disabled status sharing.

Admin users can include Webex Calling (BroadCloud) user details in the response by specifying callingData parameter as true.

Parameters:
  • person_id (str) – A unique identifier for the person.

  • calling_data (bool) – Include Webex Calling user details in the response. Default: false

Returns:

person details

Return type:

Person

async delete_person(person_id: str)[source]

Delete a Person

Remove a person from the system.

Required Administrator Roles:

The following administrators have permission to use this API:

Customer Organization:

  • Full administrator

  • User administrator

Partner/External Access:

  • External full administrator

Note: External read-only administrators, provisioning administrators, and device administrators cannot delete users.

Parameters:

person_id – A unique identifier for the person.

Returns:

async update(person: Person, calling_data: bool = False, show_all_types: bool = False, min_response: bool = None) Person[source]

Update a Person

Update details for a person, by ID.

Specify the person ID in the personId parameter in the URI. Only an admin can update a person details.

Include all details for the person. This action expects all user details to be present in the request. A common approach is to first GET the person’s details, make changes, then PUT both the changed and unchanged values.

Admin users can include Webex Calling (BroadCloud) user details in the response by specifying callingData parameter as true.

When doing attendee management, to update a user from host role to an attendee for a site append #attendee to the respective siteUrl and remove the meeting host license for this site from the license array.

To update a person from an attendee role to a host for a site, add the meeting license for this site in the meeting array, and remove that site from the siteurl parameter.

To remove the attendee privilege for a user on a meeting site, remove the sitename#attendee from the siteUrl`s array. The `showAllTypes parameter must be set to true.

NOTE:

  • The locationId can only be set when assigning a calling license to a user. It cannot be changed if a user is already an existing calling user.

  • The extension field should be used to update the Webex Calling extension for a person. The extension value should not include the location routing prefix. The work_extension type in the phoneNumbers object as seen in the response payload of List People or `Get Person Details extension for a person.

  • When updating a user with multiple email addresses using a PUT request, ensure that the primary email address is listed first in the array. Note that the order of email addresses returned by a GET request is not guaranteed..

  • The People API is a combination of several microservices, each responsible for specific attributes of a person. As a result, a PUT request that returns an error response code may still have altered some values of the person’s data. Therefore, it is recommended to perform a GET request after encountering an error to verify the current state of the resource.

  • Some licenses are implicitly assigned by the system and cannot be admin controlled. They are necessary for the baseline function of the Webex system. If you get an error about implicitly assigned licensed that cannot be removed, please ensure you have the corresponding license in your PUT request.

  • When assigning multiple licenses in a single request, the system will assign all valid and available licenses. If any requested licenses cannot be assigned, the operation will continue with the remaining licenses. As a result, it is possible that not all requested licenses are assigned to the user.

Parameters:
  • person (Person) – The person to update

  • calling_data (bool) – Include Webex Calling user details in the response. Default: False

  • show_all_types (bool) – Include additional user data like #attendee role

  • min_response (bool) – Set to true to improve performance by omitting person details in the response. If unsuccessful the response will have optional error details.

Returns:

Person details

Return type:

Person

async me(calling_data: bool = False) Person[source]

Show the profile for the authenticated user. This is the same as GET /people/{personId} using the Person ID associated with your Auth token.

Admin users can include Webex Calling (BroadCloud) user details in the response by specifying callingData parameter as true.

Parameters:

calling_data (bool) – True -> return calling data

Return type:

Person

Returns:

profile of authenticated user

base = 'people'
class wxc_sdk.as_api.AsPersonForwardingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s call forwarding settings

Also used for virtual lines, workspaces

feature: str | None = 'callForwarding'
async read(entity_id: str, org_id: str = None) PersonForwardingSetting[source]

Retrieve an entity’s Call Forwarding Settings

Three types of call forwarding are supported:

  • Always – forwards all incoming calls to the destination you choose.

  • When busy – forwards all incoming calls to the destination you chose while the phone is in use or the person is busy.

  • When no answer – forwarding only occurs when you are away or not answering your phone.

In addition, the Business Continuity feature will send calls to a destination of your choice if your phone is not connected to the network for any reason, such as power outage, failed Internet connection, or wiring problem

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read or a user auth token with spark:people_read scope can be used by a person to read their own settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

user’s forwarding settings

Return type:

PersonForwardingSetting

async configure(entity_id: str, forwarding: PersonForwardingSetting, org_id: str = None)[source]

Configure an Entity’s Call Forwarding Settings

Three types of call forwarding are supported:

  • Always – forwards all incoming calls to the destination you choose.

  • When busy – forwards all incoming calls to the destination you chose while the phone is in use or the entity is busy.

  • When no answer – forwarding only occurs when you are away or not answering your phone.

In addition, the Business Continuity feature will send calls to a destination of your choice if your phone is not connected to the network for any reason, such as power outage, failed Internet connection, or wiring problem

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a person to update their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • forwarding (PersonForwardingSetting) – new forwarding settings

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Example

api = self.api.telephony.virtual_lines.forwarding

forwarding = api.read(entity_id=self.target.id)
always = CallForwardingAlways(
    enabled=True,
    destination='9999',
    destination_voicemail_enabled=True,
    ring_reminder_enabled=True)
forwarding.call_forwarding.always = always
api.configure(entity_id=self.target.id, forwarding=forwarding)
base = ''
class wxc_sdk.as_api.AsPersonSettingsApi(session: AsRestSession)[source]

Bases: AsApiChild

API for all user level settings

__init__(session: AsRestSession)[source]
agent_caller_id: AsAgentCallerIdApi

agent caller id Api

anon_calls: AsAnonCallsApi
app_shared_line: AsAppSharedLineApi
appservices: AsAppServicesApi

Person’s Application Services Settings

available_numbers: AsAvailableNumbersApi

Available numbers for a person

barge: AsBargeApi

Barge In Settings for a Person

call_bridge: AsCallBridgeApi

Call bridge settings for a person

call_intercept: AsCallInterceptApi

Call Intercept Settings for a Person

call_recording: AsCallRecordingApi

Call Recording Settings for a Person

call_waiting: AsCallWaitingApi

Call Waiting Settings for a Person

calling_behavior: AsCallingBehaviorApi

Person’s Calling Behavior

caller_id: AsCallerIdApi

Caller ID Settings for a Person

dnd: AsDndApi

Do Not Disturb Settings for a Person

ecbn: AsECBNApi

ECBN settings

exec_assistant: AsExecAssistantApi

Executive Assistant settings for a Person

executive: AsExecutiveSettingsApi

Executive settings for a person

feature_access: AsFeatureAccessApi

Feature access settings for a person

forwarding: AsPersonForwardingApi

Forwarding Settings for a Person

hotdesking: AsHotDeskingApi
hoteling: AsHotelingApi

Hoteling Settings for a Person

mode_management: AsModeManagementApi

Person’s mode management settings

monitoring: AsMonitoringApi

Person’s Monitoring Settings

ms_teams: AsMSTeamsSettingApi
music_on_hold: AsMusicOnHoldApi

music on hold settings

numbers: AsNumbersApi

Phone Numbers for a Person

permissions_in: AsIncomingPermissionsApi

Incoming Permission Settings for a Person

permissions_out: AsOutgoingPermissionsApi

Person’s Outgoing Calling Permissions Settings

personal_assistant: AsPersonalAssistantApi

Personal Assistant Settings

preferred_answer: AsPreferredAnswerApi

Preferred answer endpoint settings

privacy: AsPrivacyApi

Person’s Privacy Settings

push_to_talk: AsPushToTalkApi

Push-to-Talk Settings for a Person

receptionist: AsReceptionistApi

Receptionist Client Settings for a Person

schedules: AsScheduleApi

Schedules for a Person

selective_accept: AsSelectiveAcceptApi

selective accept settings

selective_forward: AsSelectiveForwardApi

selective forward settings

selective_reject: AsSelectiveRejectApi

selective reject settings

sim_ring: AsSimRingApi
single_number_reach: AsSingleNumberReachApi

single nunber reach settings

voicemail: AsVoicemailApi

Voicemail Settings for a Person

async reset_vm_pin(person_id: str, org_id: str = None)[source]

Reset Voicemail PIN

Reset a voicemail PIN for a person.

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via Voicemail. A voicemail PIN is used to retrieve your voicemail messages.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

This endpoint is also available in the voicemail API and is only kept here for backward compatibility.

Parameters:
  • person_id – Unique identifier for the person.

  • org_id – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async devices(person_id: str, org_id: str = None) DeviceList[source]

Get all devices for a person.

This requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Person to retrieve devices for

  • org_id (str) – organization that person belongs to

Returns:

device info for user

Return type:

DeviceList

async modify_hoteling_settings_primary_devices(person_id: str, hoteling: Hoteling, org_id: str = None)[source]

Modify Hoteling Settings for a Person’s Primary Devices

Modify hoteling login configuration on a person’s Webex Calling Devices which are in effect when the device is the user’s primary device and device type is PRIMARY. To view the current hoteling login settings, see the hoteling field in Get Person Devices.

Modifying devices for a person requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – ID of the person associated with the device.

  • hoteling (Hoteling) – Modify person Device Hoteling Setting.

  • org_id (str) – Organization to which the person belongs.

Return type:

None

async get_call_captions_settings(person_id: str, org_id: str = None) UserCallCaptions[source]

Get the user call captions settings

Retrieve the user’s call captions settings.

NOTE: The call captions feature is not supported for Webex Calling Standard users or users assigned to locations in India.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full, user, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Unique identifier for the organization.

Return type:

UserCallCaptions

async update_call_captions_settings(person_id: str, settings: UserCallCaptions, org_id: str = None)[source]

Update the user call captions settings

Update the user’s call captions settings.

NOTE: The call captions feature is not supported for Webex Calling Standard users or users assigned to locations in India.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full, user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (UserCallCaptions) – User call captions settings.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

async get(person_id: str, org_id: str = None) PersonSettings[source]

Get Timezone and Announcement Language Settings of a Person

Retrieve a person’s timezone and announcement language settings.

Webex Calling supports configuring timezone and announcement language preferences, allowing personalized call experience based on their location and language preferences.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Retrieve timezone and announcement language settings of this person.

  • org_id (str) – Organization ID. If not specified, uses the organization from the OAuth token.

Return type:

PersonSettings

async modify(person_id: str, announcement_language: str = None, time_zone: str = None, org_id: str = None) None[source]

Update Timezone and Announcement Language Settings of a Person

Modify a person’s timezone and announcement language settings.

Webex Calling supports configuring timezone and announcement language preferences, allowing personalized call experience based on their location and language preferences.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Modify timezone and announcement language settings of this person.

  • announcement_language (str) – Person’s phone announcement language.

  • time_zone (str) – Timezone associated with the person for calling configuration. Refer to the Get Country Configuration API to retrieve the list of available timezones for a specific country.

  • org_id (str) – Organization ID. If not specified, uses the organization from the OAuth token.

Return type:

None

async get_calling_services(person_id: str, org_id: str = None) list[str][source]

List Enabled Calling Services for a Person

Retrieves the list of enabled calling services for a person.

Calling services are designed to improve call handling and ensure that people can manage their communications effectively.

Viewing requires a full, read-only, user, or location administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Organization ID. If not specified, uses the organization from the OAuth token.

Return type:

list[str]

base = 'people'
class wxc_sdk.as_api.AsPersonSettingsApiChild(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsApiChild

Base class for all classes implementing person settings APIs

feature: str | None = None
__init__(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]
base = ''
class wxc_sdk.as_api.AsPersonalAssistantApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for personal assistant settings

async get(person_id: str, org_id: str = None) PersonalAssistant[source]

Get Personal Assistant

Retrieve Personal Assistant details for a specific user.

Personal Assistant is used to manage a user’s incoming calls when they are away.

Retrieving Personal Assistant details requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Get Personal Assistant details for the organization.

Return type:

PersonalAssistant

async update(person_id: str, settings: PersonalAssistant, org_id: str = None)[source]

Update Personal Assistant

Update Personal Assistant details for a specific user.

Personal Assistant is used to manage a user’s incoming calls when they are away.

Updating Personal Assistant details requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (PersonalAssistant) – Personal Assistant settings.

  • org_id (str) – Update Personal Assistant details for the organization.

Return type:

None

base = ''
class wxc_sdk.as_api.AsPlayListApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Announcement PlayList

Features: Announcement PlayList support reading and writing of Webex Calling Announcement PlayList settings for a specific organization. The playlist has multiple announcement files which will be played where the announcement playlist is selected.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

async list(org_id: str = None) list[PlayList][source]

List Announcement Playlists

Fetch a list of announcement playlist at an organization.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Get announcements playlist in this organization.

Return type:

list[PlayList]

async create(name: str, announcement_ids: list[str], org_id: str = None) str[source]

Create announcement Playlist at organization level

Create announcement Playlist at an organization level. A maximum of 25 announcement files can be included in a single playlist.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – Unique name for the announcement playlist.

  • announcement_ids (list[str]) – Array of announcementIds associated with the playlist.

  • org_id (str) – Create an announcement playlist in this organization.

Return type:

str

async usage(play_list_id: str, playlist_usage_type: PlaylistUsageType = None) PlaylistUsage[source]

Get Playlist Usage

Parameters:
  • play_list_id (str) – Unique identifier of the playlist.

  • playlist_usage_type (PlaylistUsageType) – Filter usage by type.

Return type:

PlaylistUsage

async delete(play_list_id: str, org_id: str = None)[source]

Delete Announcement Playlist

Delete an announcement playlist for an organization.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • play_list_id (str) – Unique identifier of an announcement playlist.

  • org_id (str) – Delete an announcement playlist in this organization.

Return type:

None

async details(play_list_id: str, org_id: str = None) PlayList[source]

Get Announcement Playlist

Fetch details of announcement playlist by its ID at an organization level.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • play_list_id (str) – Unique identifier of an announcement playlist.

  • org_id (str) – Get an announcement playlist in this organization.

Return type:

PlayList

async modify(play_list_id: str, name: str = None, announcement_ids: list[str] = None, org_id: str = None)[source]

Update Announcement Playlist

Modify an existing announcement playlist at an organization level.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • play_list_id (str) – Unique identifier of an announcement playlist.

  • name (str) – Unique name for the announcement playlist.

  • announcement_ids (list[str]) – Array of announcementIds associated with the playlist.

  • org_id (str) – Modify an announcement playlist in this organization.

Return type:

None

async assigned_locations(play_list_id: str, org_id: str = None) list[IdAndName][source]

List Playlist Locations

Fetch list of locations which are assigned to the given announcement playlist

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • play_list_id (str) – Unique identifier of playlist.

  • org_id (str) – Get location associated to a playlist in this organization.

Return type:

PlayListAssignedLocations

async modify_assigned_locations(play_list_id: str, location_ids: list[str], org_id: str = None)[source]

Update Playlist Locations

Modify list of assigned locations or add new locations to the announcement playlist. This will assing the playlist to the location’s music on hold.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • play_list_id (str) – Unique identifier of an announcement playlist.

  • location_ids (list[str]) – Array of location IDs with which the playlist is associated.

  • org_id (str) – Modify an assign location for announcement playlist for organization.

Return type:

None

base = 'telephony/config/announcements/playlists'
class wxc_sdk.as_api.AsPreferredAnswerApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async read(person_id: str, org_id: str = None) PreferredAnswerResponse[source]

Get Preferred Answer Endpoint Get the person’s preferred answer endpoint (if any) and the list of endpoints available for selection. These endpoints can be used by the following Call Control API’s that allow the person to specify an endpointId to use for the call:

/v1/telephony/calls/dial

/v1/telephony/calls/retrieve

/v1/telephony/calls/pickup

/v1/telephony/calls/barge-in

/v1/telephony/calls/answer

This API requires spark:telephony_config_read or spark-admin:telephony_config_read scope.

Parameters:
  • person_id – A unique identifier for the person.

  • org_id – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

person’s preferred answer endpoint settings

Return type:

PreferredAnswerResponse

async modify(person_id: str, preferred_answer_endpoint_id: str, org_id: str = None)[source]

Modify Preferred Answer Endpoint Sets or clears the person’s preferred answer endpoint. To clear the preferred answer endpoint the p preferred_answer_endpoint_id parameter must be set to None. This API requires spark:telephony_config_write or spark-admin:telephony_config_write scope.

Parameters:
  • person_id – A unique identifier for the person.

  • preferred_answer_endpoint_id – Person’s preferred answer endpoint.

  • org_id – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = 'telephony/config/people'
class wxc_sdk.as_api.AsPremisePstnApi(session: AsRestSession)[source]

Bases: AsApiChild

Premises PSTN API

__init__(session: AsRestSession)[source]
dial_plan: AsDialPlanApi

dial plan configuration

trunk: AsTrunkApi

trunk configuration

route_group: AsRouteGroupApi

route group configuration

route_list: AsRouteListApi

route list configuration

async validate_pattern(dial_patterns: str | list[str], org_id: str = None) DialPatternValidationResult[source]

Validate a Dial Pattern.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Validating a dial pattern requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • dial_patterns (list[str] or str) – Array of dial patterns.

  • org_id – Organization to which dial plan belongs.

Returns:

validation result

Return type:

DialPatternValidationResult

base = 'telephony/config/premisePstn'
class wxc_sdk.as_api.AsPriorityAlertApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for priority alert settings

For now only used for workspaces

base = ''
feature: str | None = 'priorityAlert'
async read_criteria(entity_id: str, id: str, org_id: str = None) PriorityAlertCriteria[source]

Retrieve Priority Alert Criteria for a Workspace

Retrieve Priority Alert Criteria Settings for a Workspace.

The priority alert feature enables administrators to configure priority alert settings for a professional workspace.

Priority Alert Criteria (Schedules) can also be set up to alert these phones during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

PriorityAlertCriteria

async configure_criteria(entity_id: str, id: str, settings: PriorityAlertCriteria, org_id: str = None)[source]

Modify Priority Alert Criteria for a Workspace

Modify Priority Alert Criteria Settings for a Workspace.

The priority alert feature enables administrators to configure priority alert settings for a professional workspace.

Priority Alert Criteria (Schedules) can also be set up to alert these phones during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (PriorityAlertCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete Priority Alert Criteria for a Workspace

Delete Priority Alert criteria Settings for a workspace.

The priority alert feature enables administrators to configure priority alert settings for a professional workspace.

Priority Alert Criteria (Schedules) can also be set up to alert these phones during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: PriorityAlertCriteria, org_id: str = None) str[source]

Create Priority Alert Criteria for a Workspace

Create Priority Alert Criteria Settings for a Workspace.

The priority alert feature enables administrators to configure priority alert settings for a professional workspace.

Priority Alert Criteria (Schedules) can also be set up to alert these phones during certain times of the day or days of the week.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (PriorityAlertCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) PriorityAlert[source]

Retrieve Priority Alert Settings for a Workspace.

The priority alert feature enables administrators to configure priority alert settings for a professional workspace.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

PriorityAlert

async configure(entity_id: str, settings: PriorityAlert, org_id: str = None)[source]

Configure Priority Alert Settings for a Workspace

Configure a workspace Priority Alert Settings.

The priority alert feature enables administrator to configure priority alert settings for a professional workspace.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (PriorityAlert) – Settings for new criteria

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

class wxc_sdk.as_api.AsPrivacyApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for privacy settings for users, vírtual lines and workspaces

feature: str | None = 'privacy'
async read(entity_id: str, org_id: str = None) Privacy[source]

Get Privacy Settings for an entity

Get privacy settings for the specified entity id.

The privacy feature enables the entity’s line to be monitored by others and determine if they can be reached by Auto Attendant services.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

privacy settings

Return type:

Privacy

async configure(entity_id: str, settings: Privacy, org_id: str = None)[source]

Configure an entity’s Privacy Settings

Configure an entity’s privacy settings for the specified entity ID.

The privacy feature enables the entity’s line to be monitored by others and determine if they can be reached by Auto Attendant services.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (Monitoring) – settings for update

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsPrivateNetworkConnectApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for location private network connect API settings

async read(location_id: str, org_id: str = None) NetworkConnectionType[source]

Get Private Network Connect

Retrieve the location’s network connection type.

Network Connection Type determines if the location’s network connection is public or private.

Retrieving location’s network connection type requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve network connection type for this location.

  • org_id (str) – Retrieve network connection type for this organization.

Returns:

location PNC settings

Return type:

NetworkConnectionType

async update(location_id: str, connection_type: NetworkConnectionType, org_id: str = None)[source]

Get Private Network Connect

Retrieve the location’s network connection type.

Network Connection Type determines if the location’s network connection is public or private.

Retrieving location’s network connection type requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Update network connection type for this location.

  • connection_type (NetworkConnectionType) – Network Connection Type for the location.

  • org_id (str) – Update network connection type for this organization.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsPushToTalkApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s PTT settings

Also used for virtual lines and workspaces

feature: str | None = 'pushToTalk'
async read(entity_id: str, org_id: str = None) PushToTalkSettings[source]

Read Push-to-Talk Settings for an entity

Push-to-Talk allows the use of desk phones as either a one-way or two-way intercom that connects people in different parts of your organization.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

PTT settings for specific entity

Return type:

PushToTalkSettings

async configure(entity_id: str, settings: PushToTalkSettings, org_id: str = None)[source]

Configure Push-to-Talk Settings for an entity

Configure an entity’s Push-to-Talk Settings

Push-to-Talk allows the use of desk phones as either a one-way or two-way intercom that connects people in different parts of your organization.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • entity_id (str) – Unique identifier for the person.

  • settings (PushToTalkSettings) – new setting to be applied. For members only the ID needs to be set

  • org_id – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsQueueCallRecordingSettingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Queue Call Recording Settings

Queue Call Settings supports modifying Webex Calling settings for a specific queue.

Viewing Queue recording settings requires a full, user, or read-only administrator or location administrator auth token with a scope of spark-admin:people_read or, for select APIs, a user auth token with spark:people_read scope can be used by a person to read their own settings.

Configuring Queue recording settings requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope or, for select APIs, a user auth token with spark:people_write scope can be used by a person to update their own settings.

Call Queue Recording Settings API access can be restricted via Control Hub by a full administrator. Restricting access causes the APIs to throw a 403 Access Forbidden error.

See details about features available by license type for Webex Calling.

async read(location_id: str, queue_id: str, org_id: str = None) CallRecordingSetting[source]

Read Queue Call Recording Settings for a Queue

Retrieve a queue’s Call Recording settings.

The Call Recording feature provides a hosted mechanism to record the calls placed and received on the Carrier platform for replay and archival. This feature is helpful for quality assurance, security, training, and more.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_read scope.

A person with a Webex Calling Standard license is eligible for the Call Recording feature only when the Call Recording vendor is Webex.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • queue_id (str) – Unique identifier for the queue.

  • org_id (str) – ID of the organization in which the queue resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

CallRecordingSetting

async configure(location_id: str, queue_id: str, recording: CallRecordingSetting, org_id: str = None)[source]

Configure Queue Call Recording Settings for a Queue

Configure a queue’s Call Recording settings.

The Call Recording feature provides a hosted mechanism to record the calls placed and received on the Carrier platform for replay and archival. This feature is helpful for quality assurance, security, training, and more.

This API requires a full or user administrator or location administrator auth token with the spark-admin:people_write scope.

<div><Callout type=”warning”>A person with a Webex Calling Standard license is eligible for the Call Recording feature only when the Call Recording vendor is Webex.</Callout></div>

Parameters:
  • location_id (str) – Unique identifier for the location.

  • queue_id (str) – Unique identifier for the queue.

  • recording (CallRecordingSetting) – the new recording settings

  • org_id (str) – ID of the organization in which the queue resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsRebuildPhonesJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async rebuild_phones_configuration(location_id: str, org_id: str = None) StartJobResponse[source]

Rebuild Phones Configuration

Not supported for Webex for Government (FedRAMP)

Rebuild all phone configurations for the specified location.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Unique identifier of the location.

  • org_id (str) – Rebuild phones for this organization.

Return type:

RebuildPhonesJob

async list(org_id: str = None) list[StartJobResponse][source]

List Rebuild Phones Jobs

Not supported for Webex for Government (FedRAMP)

Get the list of all Rebuild Phones jobs in an organization.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List of rebuild phones jobs in this organization.

Return type:

list[RebuildPhonesJob]

async status(job_id: str, org_id: str = None) StartJobResponse[source]

Get the Job Status of a Rebuild Phones Job

Not supported for Webex for Government (FedRAMP)

Get the details of a rebuild phones job by its job ID.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Check a rebuild phones job status in this organization.

Return type:

RebuildPhonesJob

errors_gen(job_id: str, org_id: str = None) AsyncGenerator[JobErrorItem, None][source]

Get Job Errors for a Rebuild Phones Job

Not supported for Webex for Government (FedRAMP)

Get errors for a rebuild phones job in an organization.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for a rebuild phones job in this organization.

Return type:

list[ItemObject]

async errors(job_id: str, org_id: str = None) list[JobErrorItem][source]

Get Job Errors for a Rebuild Phones Job

Not supported for Webex for Government (FedRAMP)

Get errors for a rebuild phones job in an organization.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for a rebuild phones job in this organization.

Return type:

list[ItemObject]

base = 'telephony/config/jobs/devices/rebuildPhones'
class wxc_sdk.as_api.AsReceptionistApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s receptionist client settings

feature: str | None = 'reception'
async read(person_id: str, org_id: str = None) ReceptionistSettings[source]

Read Receptionist Client Settings for a Person

Retrieve a Person’s Receptionist Client Settings

To help support the needs of your front-office personnel, you can set up people or workspaces as telephone attendants so that they can screen all incoming calls to certain numbers within your organization.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

receptionist client settings

Return type:

ReceptionistSettings

async configure(person_id: str, settings: ReceptionistSettings, org_id: str = None)[source]

Modify Executive Assistant Settings for a Person

Modify the executive assistant settings for the specified personId.

People with the executive service enabled, can select from a pool of assistants who have been assigned the executive assistant service and who can answer or place calls on their behalf. Executive assistants can set the call forward destination and join or leave an executive’s pool.

This API requires a full or user administrator auth token with the spark-admin:people_write scope.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (ReceptionistSettings) – New receptionist client settings

  • org_id (str) – Person is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsReceptionistContactsDirectoryApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Webex Calling Location Receptionist Contacts supports creation of directories and assigning custom groups of users to directories for a location within an organization.

Receptionist Contact Directories are named custom groups of users.

Viewing these read-only directories requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read, as the current set of APIs is designed to provide supplemental information for administrators utilizing People Webex Calling APIs.

Modifying these directories requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional OrgId query parameter.

async create(location_id: str, name: str, contacts: list[str], org_id: str = None) str[source]

Creates a new Receptionist Contact Directory for a location.

Receptionist Contact Directories can be used to create named directories of users.

Adding a directory requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Add a Receptionist Contact Directory to this location.

  • name (str) – Receptionist Contact Directory name.

  • contacts (list[str]) – Array of user or workspace ids assigned to this Receptionist Contact Directory

  • org_id (str) – Add a Receptionist Contact Directory to this organization.

Returns:

Receptionist Contact Directory ID.

list_gen(location_id: str, org_id: str = None) AsyncGenerator[IdAndName, None][source]

List all Receptionist Contact Directories for a location.

Receptionist Contact Directories can be used to create named directories of users.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – List Receptionist Contact Directories for this location.

  • org_id (str) – List Receptionist Contact Directories for this organization.

Returns:

Yields IdAndName instances

async list(location_id: str, org_id: str = None) list[IdAndName][source]

List all Receptionist Contact Directories for a location.

Receptionist Contact Directories can be used to create named directories of users.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – List Receptionist Contact Directories for this location.

  • org_id (str) – List Receptionist Contact Directories for this organization.

Returns:

Yields IdAndName instances

async delete(location_id: str, directory_id: str, org_id: str = None)[source]

Delete a Receptionist Contact Directory from a location.

Receptionist Contact Directories can be used to create named directories of users.

Deleting a directory requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id – Delete a Receptionist Contact Directory from this location.

  • directory_id – ID of directory to delete.

  • org_id – Delete a Receptionist Contact Directory from this organization.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsRecordingsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Recordings

Recordings are meeting content captured in a meeting or files uploaded via the upload page for your Webex site.

This API manages recordings. Recordings may be retrieved via download or playback links defined by downloadUrl or playbackUrl in the response body.

When the recording function is paused in the meeting the recording will not contain the pause. If the recording function is stopped and restarted in the meeting, several recordings will be created. These recordings will be consolidated and available all at once.

Refer to the Meetings API Scopes for the specific scopes required for each API.

list_recordings_gen(from_: str | datetime = None, to_: str | datetime = None, meeting_id: str = None, host_email: str = None, site_url: str = None, integration_tag: str = None, topic: str = None, format_: RecordingFormat = None, service_type: RecordingServiceType = None, status: RecordingStatus = None, **params) AsyncGenerator[Recording, None][source]

List Recordings

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.

  • 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 API.

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.

  • meeting_id (str) – 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.

  • host_email (str) – 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. 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.

  • site_url (str) –

    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 API.

  • integration_tag (str) – 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.

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • format (RecordingsFormat) – Recording’s file format. If specified, the API filters recordings by format.

  • service_type (RecordingServiceType) – The service type for recordings. If this item is specified, the API filters recordings by service-type.

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

Returns:

Generator yielding RecordingObject instances

async list_recordings(from_: str | datetime = None, to_: str | datetime = None, meeting_id: str = None, host_email: str = None, site_url: str = None, integration_tag: str = None, topic: str = None, format_: RecordingFormat = None, service_type: RecordingServiceType = None, status: RecordingStatus = None, **params) list[Recording][source]

List Recordings

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.

  • 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 API.

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.

  • meeting_id (str) – 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.

  • host_email (str) –

    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. 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.

  • site_url (str) –

    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 API.

  • integration_tag (str) – 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.

  • topic (str) – Recording’s topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • format (RecordingsFormat) – Recording’s file format. If specified, the API filters recordings by format.

  • service_type (RecordingServiceType) – The service type for recordings. If this item is specified, the API filters recordings by service-type.

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

Returns:

Generator yielding RecordingObject instances

list_recordings_for_an_admin_or_compliance_officer_gen(from_: str | datetime = None, to_: str | datetime = None, meeting_id: str = None, site_url: str = None, integration_tag: str = None, topic: str = None, format_: RecordingFormat = None, service_type: RecordingServiceType = None, status: RecordingStatus = None, **params) AsyncGenerator[Recording, None][source]

List Recordings For an Admin or Compliance Officer

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.

  • If meetingId is specified, only recordings associated with the specified meeting will be listed. Please note that when meetingId is specified, parameter of siteUrl 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 API.

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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • meeting_id (str) – 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.

  • site_url (str) –

    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 API.

  • integration_tag (str) – 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.

  • topic (str) – Recording topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • format (RecordingsFormat) – Recording’s file format. If specified, the API filters recordings by format.

  • service_type (RecordingServiceType) – The service type for recordings. If specified, the API filters recordings by service type.

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

Returns:

Generator yielding RecordingObjectForAdminAndCO instances

async list_recordings_for_an_admin_or_compliance_officer(from_: str | datetime = None, to_: str | datetime = None, meeting_id: str = None, site_url: str = None, integration_tag: str = None, topic: str = None, format_: RecordingFormat = None, service_type: RecordingServiceType = None, status: RecordingStatus = None, **params) list[Recording][source]

List Recordings For an Admin or Compliance Officer

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.

  • If meetingId is specified, only recordings associated with the specified meeting will be listed. Please note that when meetingId is specified, parameter of siteUrl 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 API.

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. The interval between from and to must be within 30 days.

  • 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. The interval between from and to must be within 30 days.

  • meeting_id (str) – 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.

  • site_url (str) –

    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 API.

  • integration_tag (str) – 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.

  • topic (str) – Recording topic. If specified, the API filters recordings by topic in a case-insensitive manner.

  • format (RecordingsFormat) – Recording’s file format. If specified, the API filters recordings by format.

  • service_type (RecordingServiceType) – The service type for recordings. If specified, the API filters recordings by service type.

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

Returns:

Generator yielding RecordingObjectForAdminAndCO instances

async get_recording_details(recording_id: str, host_email: str = None) Recording[source]

Get Recording Details

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.

The temporaryDirectDownloadLinks of a recording which are retrieved by the Get Recording Details API are still available to Compliance Officers even if the recording has been deleted.

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

  • host_email (str) –

    Email address for the meeting host. Only used if the user or application calling the API has required admin-level meeting scopes. If set, the admin may specify the email of a user in a site they manage, and the API will return recording details of that user.

Return type:

RecordingObjectWithDirectDownloadLinks

async delete_a_recording(recording_id: str, reason: str, comment: str, host_email: str = 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), but will be still available to the Compliance Officer.

Only recordings of meetings hosted by the authenticated user can be deleted.

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.

  • host_email (str) –

    Email address for the meeting host. Only used if the user or application calling the API has the required admin-level meeting 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.

Return type:

None

async move_recordings_into_the_recycle_bin(recording_ids: list[str], site_url: str, host_email: str = None)[source]

Move Recordings into the Recycle Bin

Move recordings into the recycle bin with recording IDs. Recordings in the recycle bin can be recovered by 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 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.

Parameters:
  • recording_ids (list[str]) – 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.

  • site_url (str) –

    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 API.

  • host_email (str) –

    Email address for the meeting host. Only used if the user or application calling the API has the required admin-level meeting 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

Return type:

None

async restore_recordings_from_recycle_bin(restore_all: bool, recording_ids: list[str], site_url: str, host_email: str = None)[source]

Restore Recordings from Recycle Bin

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.

Parameters:
  • restore_all (bool) – If not specified or false, restores the recordings specified by recordingIds. If true, restores all recordings from the recycle bin.

  • recording_ids (list[str]) – 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.

  • site_url (str) –

    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 API.

  • host_email (str) –

    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. 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.

Return type:

None

async purge_recordings_from_recycle_bin(purge_all: bool, recording_ids: list[str], site_url: str, host_email: str = None)[source]

Purge Recordings from Recycle Bin

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.

Parameters:
  • purge_all (bool) – If not specified or false, purges the recordings specified by recordingIds. If true, purges all recordings from the recycle bin.

  • recording_ids (list[str]) – 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.

  • site_url (str) –

    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 API.

  • host_email (str) –

    Email address for the meeting host. Only used if the user or application calling the API has the required admin-level meeting 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.

Return type:

None

base = ''
class wxc_sdk.as_api.AsReportsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Reports

To access these endpoints, you must use an administrator token with the analytics:read_all scope. The authenticated user must be a read-only or full administrator of the organization to which the report belongs.

To use this endpoint the org needs to be licensed for the Pro Pack.

Reports available via Webex Control Hub may be generated and downloaded via the Reports API. To access this API, the authenticated user must be a read-only or full administrator of the organization to which the report belongs.

For more information about Reports, see the Admin API guide.

async list_templates() list[ReportTemplate][source]

List all the available report templates that can be generated.

CSV (comma separated value) reports for Webex services are only supported for organizations based in the North American region. Organizations based in other regions will return blank CSV files for any Webex reports.

Returns:

list of report templates

Return type:

list[ReportTemplate]

list_gen(report_id: str = None, service: str = None, template_id: str = None, from_date: date = None, to_date: date = None) AsyncGenerator[Report, None][source]

Lists all reports. Use query parameters to filter the response. The parameters are optional. However, from and to parameters should be provided together.

CSV reports for Teams services are only supported for organizations based in the North American region. Organizations based in a different region will return blank CSV files for any Teams reports.

Reports are usually provided in zip format. A Content-header application/zip or application/octet-stream does indicate the zip format. There is usually no .zip file extension.

Parameters:
  • report_id – List reports by ID.

  • service – List reports which use this service.

  • template_id – List reports with this report template ID.

  • from_date – List reports that were created on or after this date.

  • to_date – List reports that were created before this date.

Returns:

yields Report instances

async list(report_id: str = None, service: str = None, template_id: str = None, from_date: date = None, to_date: date = None) list[Report][source]

Lists all reports. Use query parameters to filter the response. The parameters are optional. However, from and to parameters should be provided together.

CSV reports for Teams services are only supported for organizations based in the North American region. Organizations based in a different region will return blank CSV files for any Teams reports.

Reports are usually provided in zip format. A Content-header application/zip or application/octet-stream does indicate the zip format. There is usually no .zip file extension.

Parameters:
  • report_id – List reports by ID.

  • service – List reports which use this service.

  • template_id – List reports with this report template ID.

  • from_date – List reports that were created on or after this date.

  • to_date – List reports that were created before this date.

Returns:

yields Report instances

async create(template_id: int, start_date: date = None, end_date: date = None, site_list: str = None) str[source]

Create a new report. For each templateId, there are a set of validation rules that need to be followed. For example, for templates belonging to Webex, the user needs to provide siteUrl. These validation rules can be retrieved via the Report Templates API.

CSV reports for Teams services are only supported for organizations based in the North American region. Organizations based in a different region will return blank CSV files for any Teams reports.

Parameters:
  • template_id (int) – Unique ID representing valid report templates.

  • start_date (date) – Data in the report will be from this date onwards.

  • end_date (date) – Data in the report will be until this date.

  • site_list (str) – Sites belonging to user’s organization. This attribute is needed for site-based templates.

Returns:

The unique identifier for the report.

Return type:

str

async details(report_id: str) Report[source]

Shows details for a report, by report ID.

Specify the report ID in the reportId parameter in the URI.

CSV reports for Teams services are only supported for organizations based in the North American region. Organizations based in a different region will return blank CSV files for any Teams reports.

Parameters:

report_id (str) – The unique identifier for the report.

Returns:

report details

Return type:

Report

async delete(report_id: str)[source]

Remove a report from the system.

Specify the report ID in the reportId parameter in the URI

CSV reports for Teams services are only supported for organizations based in the North American region. Organizations based in a different region will return blank CSV files for any Teams reports.

Parameters:

report_id (str) – The unique identifier for the report.

async download(url: str) list[dict][source]

Download a report from the given URL and yield the rows as dicts

Parameters:

url (str) – download URL

Returns:

list of dicts (one per row)

Return type:

list[dict]

base = 'devices'
class wxc_sdk.as_api.AsRestSession(*, tokens: Tokens, concurrent_requests: int, retry_429: bool = True, trace_configs: list[TraceConfig] = None, proxy_url: str = None, ssl: bool | Fingerprint | SSLContext = None, **kwargs: Any)[source]

Bases: ClientSession

REST session used for API requests:
  • includes an Authorization header in reach request

  • implements retries on 429

  • loads deserializes JSON data if needed

BASE = 'https://webexapis.com/v1'

base URL for all Webex API requests

__init__(*, tokens: Tokens, concurrent_requests: int, retry_429: bool = True, trace_configs: list[TraceConfig] = None, proxy_url: str = None, ssl: bool | Fingerprint | SSLContext = None, **kwargs: Any)[source]

Initialize the REST session

Parameters:
  • tokens – tokens to be used for the session

  • concurrent_requests – maximum number of concurrent requests

  • retry_429 – enable automatic retry on 429 responses

  • trace_configs – trace configurations, passed to aiohttp.ClientSession

  • proxy_url – used as proxy argument for all aiohttp.ClientSession.request() calls

  • ssl – used as ssl argument for all aiohttp.ClientSession.request() calls

  • kwargs – additional arguments. All arguments with a req_ prefix are passed to each :meth:`aiohttp.ClientSession.request call. All other arguments are passed to the constructor of aiohttp.ClientSession

property access_token: str | None

access token used for all requests

Returns:

access token

Return type:

str

async follow_pagination(url: str, model: type[ApiModelType] = None, params: dict[str, Any] = None, item_key: str = None, **kwargs: Any) AsyncGenerator[ApiModelType, None][source]

Handling RFC5988 pagination of list requests. Generator of parsed objects

Parameters:
  • url (str) – start url for 1st GET

  • model (ApiModel) – data type to return

  • params (Optional[dict]) – URL parameters, optional

  • item_key (str) – key to list of values

Returns:

yields parsed objects

register_response_callback(callback: Callable[[ClientResponse, str, str, dict[Any, Any], int], None]) str[source]

Register a response callback

Registered response callbacks are called with the response object and the time the request took for all responses. This can be used for logging or other purposes.

Parameters:

callback – callback to register

Returns:

callback ID

async rest_delete(*args: Any, **kwargs: Any) str | dict[str, Any][source]

DELETE request

Parameters:
  • args

  • kwargs

async rest_get(*args: Any, **kwargs: Any) str | dict[str, Any][source]

GET request

Parameters:
  • args

  • kwargs

Returns:

deserialized JSON content or body text

async rest_patch(*args: Any, **kwargs: Any) str | dict[str, Any][source]

PATCH request

Parameters:
  • args

  • kwargs

async rest_post(*args: Any, **kwargs: Any) str | dict[str, Any][source]

POST request

Parameters:
  • args

  • kwargs

Returns:

deserialized JSON content or body text

async rest_put(*args: Any, **kwargs: Any) str | dict[str, Any][source]

PUT request

Parameters:
  • args

  • kwargs

Returns:

deserialized JSON content or body text

unregister_response_callback(id: str) None[source]

Unregister a response callback

Parameters:

id – callback ID

retry_429: bool
class wxc_sdk.as_api.AsRolesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Roles

A persona for an authenticated user, corresponding to a set of privileges within an organization. This roles resource can be accessed only by an admin and shows only roles relevant to an admin.

async list() list[IdAndName][source]

List Roles

List all roles.

Return type:

list[Role]

async details(role_id: str) IdAndName[source]

Get Role Details

Shows details for a role, by ID.

Specify the role ID in the roleId parameter in the URI.

Parameters:

role_id (str) – The unique identifier for the role.

Return type:

Role

base = 'roles'
class wxc_sdk.as_api.AsRoomTabsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

A Room Tab represents a URL shortcut that is added as a persistent tab to a Webex room (space) tab row. Use this API to list tabs of any Webex room that you belong to. Room Tabs can also be updated to point to a different content URL, or deleted to remove the tab from the room. Just like in the Webex app, you must be a member of the room in order to list its Room Tabs.

list_tabs_gen(room_id: str, **params) AsyncGenerator[RoomTab, None][source]

Lists all Room Tabs of a room specified by the roomId query parameter.

Parameters:

room_id (str) – ID of the room for which to list room tabs.

async list_tabs(room_id: str, **params) list[RoomTab][source]

Lists all Room Tabs of a room specified by the roomId query parameter.

Parameters:

room_id (str) – ID of the room for which to list room tabs.

async create_tab(room_id: str, content_url: str, display_name: str) RoomTab[source]

Add a tab with a specified URL to a room.

Parameters:
  • room_id (str) – A unique identifier for the room.

  • content_url (str) – URL of the Room Tab. Must use https protocol.

  • display_name (str) – User-friendly name for the room tab.

async tab_details(tab_id: str) RoomTab[source]

Get details for a Room Tab with the specified room tab ID.

Parameters:

tab_id (str) – The unique identifier for the Room Tab.

async update_tab(tab_id: str, room_id: str, content_url: str, display_name: str) RoomTab[source]

Updates the content URL of the specified Room Tab ID.

Parameters:
  • tab_id (str) – The unique identifier for the Room Tab.

  • room_id (str) – ID of the room that contains the room tab in question.

  • content_url (str) – Content URL of the Room Tab. URL must use https protocol.

  • display_name (str) – User-friendly name for the room tab.

async delete_tab(tab_id: str)[source]

Deletes a Room Tab with the specified ID.

Parameters:

tab_id (str) – The unique identifier for the Room Tab to delete.

base = 'room/tabs'
class wxc_sdk.as_api.AsRoomsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Rooms are virtual meeting places where people post messages and collaborate to get work done. This API is used to manage the rooms themselves. Rooms are created and deleted with this API. You can also update a room to change its title, for example. To create a team room, specify the a teamId in the POST payload. Note that once a room is added to a team, it cannot be moved. To learn more about managing teams, see the Teams API. To manage people in a room see the Memberships API. To post content see the Messages API.

list_gen(team_id: str = None, type_: RoomType = None, org_public_spaces: bool = None, from_: datetime = None, to_: datetime = None, sort_by: str = None, **params) AsyncGenerator[Room, None][source]

List rooms.

The title of the room for 1:1 rooms will be the display name of the other person. By default, lists rooms to which the authenticated user belongs.

Long result sets will be split into pages.

Known Limitations:

The underlying database does not support natural sorting by lastactivity and will only sort on limited set of results, which are pulled from the database in order of roomId. For users or bots in more than 3000 spaces this can result in anomalies such as spaces that have had recent activity not being returned in the results when sorting by lastacivity.

Parameters:
  • team_id (str) – List rooms associated with a team, by ID.

  • type (RoomType) – List rooms by type. Possible values: direct, group

  • org_public_spaces (bool) – Shows the org’s public spaces joined and unjoined. When set the result list is sorted by the madePublic timestamp.

  • from (datetime) – Filters rooms, that were made public after this time. See madePublic timestamp

  • to (datetime) – Filters rooms, that were made public before this time. See maePublic timestamp

  • sort_by (str) – Sort results. Possible values: id, lastactivity, created

async list(team_id: str = None, type_: RoomType = None, org_public_spaces: bool = None, from_: datetime = None, to_: datetime = None, sort_by: str = None, **params) list[Room][source]

List rooms.

The title of the room for 1:1 rooms will be the display name of the other person. By default, lists rooms to which the authenticated user belongs.

Long result sets will be split into pages.

Known Limitations:

The underlying database does not support natural sorting by lastactivity and will only sort on limited set of results, which are pulled from the database in order of roomId. For users or bots in more than 3000 spaces this can result in anomalies such as spaces that have had recent activity not being returned in the results when sorting by lastacivity.

Parameters:
  • team_id (str) – List rooms associated with a team, by ID.

  • type (RoomType) – List rooms by type. Possible values: direct, group

  • org_public_spaces (bool) – Shows the org’s public spaces joined and unjoined. When set the result list is sorted by the madePublic timestamp.

  • from (datetime) – Filters rooms, that were made public after this time. See madePublic timestamp

  • to (datetime) – Filters rooms, that were made public before this time. See maePublic timestamp

  • sort_by (str) – Sort results. Possible values: id, lastactivity, created

async create(title: str, team_id: str = None, classification_id: str = None, is_locked: bool = None, is_public: bool = None, description: str = None, is_announcement_only: bool = None) Room[source]

Creates a room. The authenticated user is automatically added as a member of the room. See the Memberships API to learn how to add more people to the room.

To create a 1:1 room, use the Create Messages endpoint to send a message directly to another person by using the toPersonId or toPersonEmail parameters. Bots are not able to create and simultaneously classify a room. A bot may update a space classification after a person of the same owning organization joined the space as the first human user.

A space can only be put into announcement mode when it is locked.

Parameters:
  • title (str) – A user-friendly name for the room.

  • team_id (str) – The ID for the team with which this room is associated.

  • classification_id (str) – The classificationId for the room.

  • is_locked (bool) – Set the space as locked/moderated and the creator becomes a moderator

  • is_public (bool) – The room is public and therefore discoverable within the org. Anyone can find and join that room. When true the description must be filled in.

  • description (str) – The description of the space.

  • is_announcement_only (bool) – Sets the space into announcement Mode.

async details(room_id: str) Room[source]

Shows details for a room, by ID. The title of the room for 1:1 rooms will be the display name of the other person. Specify the room ID in the roomId parameter in the URI.

Parameters:

room_id (str) – The unique identifier for the room.

async meeting_details(room_id: str) GetRoomMeetingDetailsResponse[source]

The meetingInfo API is deprecated and will be EOL on Jan 31, 2025. Meetings in the WSMP must be scheduled and licensed via the meetings backend. The Create a Meeting endpoint will provide the SIP address for the meeting to call.

Shows Webex meeting details for a room such as the SIP address, meeting URL, toll-free and toll dial-in numbers. Specify the room ID in the roomId parameter in the URI.

Parameters:

room_id (str) – The unique identifier for the room.

async update(update: Room) Room[source]

Updates details for a room, by ID.

Specify the room ID in the roomId parameter in the URI.

A space can only be put into announcement mode when it is locked.

Any space participant or compliance officer can convert a space from public to private. Only a compliance officer can convert a space from private to public and only if the space is classified with the lowest category (usually public), and the space has a description.

To remove a description please use a space character ` ` by itself.

When using this method for moving a space under a team, ensure that all moderators in the space are also team members. If a moderator is not part of the team, demote or remove them as a moderator. Alternatively, add the non-team moderators to the team. This ensures compliance with the requirement that all space moderators must be team members for successful operation execution.

Update:

update to apply. ID and title have to be set. Only can update:

  • title: str: A user-friendly name for the room.

  • classification_id: str: The classificationId for the room.

  • team_id: str: The teamId to which this space should be assigned. Only unowned spaces can be assigned to a team. Assignment between teams is unsupported.

  • is_locked: bool: Set the space as locked/moderated and the creator becomes a moderator

  • is_public: The room is public and therefore discoverable within the org. Anyone can find and join that room. When true the description must be filled in.

  • description: The description of the space.

  • is_announcement_only: bool: Sets the space into announcement mode or clears the anouncement Mode (false)

  • is_read_only: bool: A compliance officer can set a direct room as read-only, which will disallow any new information exchanges in this space, while maintaining historical data.

async delete(room_id: str)[source]

Deletes a room, by ID. Deleted rooms cannot be recovered. As a security measure to prevent accidental deletion, when a non moderator deletes the room they are removed from the room instead. Deleting a room that is part of a team will archive the room instead. Specify the room ID in the roomId parameter in the URI.

Parameters:

room_id (str) – The unique identifier for the room.

base = 'rooms'
class wxc_sdk.as_api.AsRouteGroupApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for everything route groups

list_gen(name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[RouteGroup, None][source]

List all Route Groups for an organization. A Route Group is a group of trunks that allows further scale and redundancy with the connection to the premises.

Retrieving this route group list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (st) – Return the list of route groups matching the route group name.

  • order (str) – Order the route groups according to designated fields. Available sort orders: asc, desc.

  • org_id (str) – List route groups for this organization.

Returns:

generator of RouteGroup instances

async list(name: str = None, order: str = None, org_id: str = None, **params) list[RouteGroup][source]

List all Route Groups for an organization. A Route Group is a group of trunks that allows further scale and redundancy with the connection to the premises.

Retrieving this route group list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (st) – Return the list of route groups matching the route group name.

  • order (str) – Order the route groups according to designated fields. Available sort orders: asc, desc.

  • org_id (str) – List route groups for this organization.

Returns:

generator of RouteGroup instances

async create(route_group: RouteGroup, org_id: str = None) str[source]

Creates a Route Group for the organization.

A Route Group is a collection of trunks that allows further scale and redundancy with the connection to the premises. Route groups can include up to 10 trunks from different locations.

Creating a Route Group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • route_group (RouteGroup) –

    settings for new route group. name and local_gateways need to be set. For each LGW id and priority need to be set. Example:

    rg = RouteGroup(name=rg_name,
            local_gateways=[RGTrunk(trunk_id=trunk.trunk_id,
                                    priority=1)])
    rg_id = api.telephony.prem_pstn.route_group.create(route_group=rg)
    

  • org_id (str)

Returns:

id of new route group

Return type:

str

async details(rg_id: str, org_id: str = None) RouteGroup[source]

Reads a Route Group for the organization based on id.

A Route Group is a collection of trunks that allows further scale and redundancy with the connection to the premises. Route groups can include up to 10 trunks from different locations.

Reading a Route Group requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id (str) – Route Group for which details are being requested.

  • org_id (str) – Organization of the Route Group.

Returns:

route group details

Return type:

RouteGroup

async update(rg_id: str, update: RouteGroup, org_id: str = None)[source]

Modifies an existing Route Group for an organization based on id.

A Route Group is a collection of trunks that allows further scale and redundancy with the connection to the premises. Route groups can include up to 10 trunks from different locations.

Modifying a Route Group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rg_id (str) – route group to be modified

  • update (RouteGroup) – new settings

  • org_id (str) – Organization of the Route Group.

async delete_route_group(rg_id: str, org_id: str = None)[source]

Remove a Route Group from an Organization based on id.

A Route Group is a collection of trunks that allows further scale and redundancy with the connection to the premises. Route groups can include up to 10 trunks from different locations.

Removing a Route Group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rg_id (str) – Route Group to be deleted

  • org_id (str) – Organization of the Route Group.

async usage(rg_id: str, org_id: str = None) RouteGroupUsage[source]

Read the Usage of a Routing Group

List the number of “Call to” on-premises Extensions, Dial Plans, PSTN Connections, and Route Lists used by a specific Route Group. Users within Call to Extension locations are registered to a PBX which allows you to route unknown extensions (calling number length of 2-6 digits) to the PBX using an existing Trunk or Route Group. PSTN Connections may be a Cisco PSTN, a cloud-connected PSTN, or a premises-based PSTN (local gateway). Dial Plans allow you to route calls to on-premises extensions via your trunk or route group. Route Lists are a list of numbers that can be reached via a route group and can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving usage information requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id (str) – Route group requested for information.

  • org_id (str) – Organization associated with specific route group

Returns:

usage information

Return type:

RouteGroupUsage

usage_call_to_extension_gen(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[IdAndName, None][source]

List “Call to” on-premises Extension Locations for a specific route group. Users within these locations are registered to a PBX which allows you to route unknown extensions (calling number length of 2-6 digits) to the PBX using an existing trunk or route group.

Retrieving this location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

async usage_call_to_extension(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) list[IdAndName][source]

List “Call to” on-premises Extension Locations for a specific route group. Users within these locations are registered to a PBX which allows you to route unknown extensions (calling number length of 2-6 digits) to the PBX using an existing trunk or route group.

Retrieving this location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

usage_dial_plan_gen(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[IdAndName, None][source]

List Dial Plan Locations for a specific route group.

Dial Plans allow you to route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A Dial Plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Retrieving this location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

async usage_dial_plan(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) list[IdAndName][source]

List Dial Plan Locations for a specific route group.

Dial Plans allow you to route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A Dial Plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Retrieving this location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

usage_location_pstn_gen(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[IdAndName, None][source]

List PSTN Connection Locations for a specific route group. This solution lets you configure users to use Cloud PSTN (CCP or Cisco PSTN) or Premises-based PSTN.

Retrieving this Location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

async usage_location_pstn(rg_id: str, location_name: str = None, order: str = None, org_id: str = None, **params) list[IdAndName][source]

List PSTN Connection Locations for a specific route group. This solution lets you configure users to use Cloud PSTN (CCP or Cisco PSTN) or Premises-based PSTN.

Retrieving this Location list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • location_name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

usage_route_lists_gen(rg_id: str, name: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[UsageRouteLists, None][source]

Read the Route Lists of a Routing Group

List Route Lists for a specific route group. Route Lists are a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving this list of Route Lists requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

async usage_route_lists(rg_id: str, name: str = None, order: str = None, org_id: str = None, **params) list[UsageRouteLists][source]

Read the Route Lists of a Routing Group

List Route Lists for a specific route group. Route Lists are a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving this list of Route Lists requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rg_id – Route group requested for information.

  • name (str) – Return the list of locations matching the location name.

  • order (str) – Order the locations according to designated fields. Available sort orders are asc, and desc.

  • org_id – Organization associated with specific route group.

Returns:

generator of instances

Return type:

wxc_sdk.common.IdAndName

base = 'telephony/config/premisePstn/routeGroups'
class wxc_sdk.as_api.AsRouteListApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for everything route lists

list_gen(name: list[str] = None, location_id: list[str] = None, order: str = None, org_id: str = None, **params) AsyncGenerator[RouteList, None][source]

List all Route Lists for the organization.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving the Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Return the list of Route List matching the route list name.

  • location_id (str) – Return the list of Route Lists matching the location id.

  • order (str) – Order the Route List according to the designated fields.Available sort fields: name, locationId. Sort order is ascending by default

  • org_id (str) – List all Route List for this organization.

Returns:

generator yielding RouteList instances

async list(name: list[str] = None, location_id: list[str] = None, order: str = None, org_id: str = None, **params) list[RouteList][source]

List all Route Lists for the organization.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving the Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Return the list of Route List matching the route list name.

  • location_id (str) – Return the list of Route Lists matching the location id.

  • order (str) – Order the Route List according to the designated fields.Available sort fields: name, locationId. Sort order is ascending by default

  • org_id (str) – List all Route List for this organization.

Returns:

generator yielding RouteList instances

async create(name: str, location_id: str, rg_id: str, org_id: str = None) str[source]

Create a Route List for the organization.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Creating a Route List requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – Name of the Route List

  • location_id (str) – Location associated with the Route List.

  • rg_id (str) – UUID of the route group associated with Route List.

  • org_id (str) – Organization to which Route List belongs.

Returns:

ID of the newly route list created.

Return type:

str

async details(rl_id: str, org_id: str = None) RouteListDetail[source]

Get Route List Details.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving a Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • rl_id (str) – ID of the Route List.

  • org_id (str) – Organization to which Route List belongs.

Returns:

route list details

Return type:

RouteListDetail

async update(rl_id: str, name: str = None, rg_id: str = None, org_id: str = None)[source]

Modify the details for a Route List.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving a Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rl_id (str) – ID of the Route List.

  • name (str) – Route List new name.

  • rg_id (str) – New route group id.

  • org_id (str) – Organization to which Route List belongs.

async delete_route_list(rl_id: str, org_id: str = None)[source]

Delete Route List for a Customer

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Deleting a Route List requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rl_id (str) – ID of the Route List.

  • org_id (str) – Organization to which Route List belongs.

numbers_gen(rl_id: str, order: str = None, number: str = None, org_id: str = None, **params) AsyncGenerator[str, None][source]

Get numbers assigned to a Route List

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving a Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rl_id (str) – ID of the Route List.

  • order (str) – Order the Route Lists according to number.

  • number (str) – Number assigned to the route list.

  • org_id (str) – Organization to which Route List belongs.

Returns:

generator yielding str

async numbers(rl_id: str, order: str = None, number: str = None, org_id: str = None, **params) list[str][source]

Get numbers assigned to a Route List

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving a Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rl_id (str) – ID of the Route List.

  • order (str) – Order the Route Lists according to number.

  • number (str) – Number assigned to the route list.

  • org_id (str) – Organization to which Route List belongs.

Returns:

generator yielding str

async update_numbers(rl_id: str, numbers: list[NumberAndAction] = None, delete_all_numbers: bool = None, org_id: str = None) list[UpdateNumbersResponse][source]

Modify Numbers for Route List

Modify numbers for a specific Route List of a Customer.

A Route List is a list of numbers that can be reached via a Route Group. It can be used to provide cloud PSTN connectivity to Webex Calling Dedicated Instance.

Retrieving a Route List requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • rl_id (str) – ID of the Route List.

  • numbers (list[NumberAndAction]) – Array of the numbers to be deleted/added.

  • delete_all_numbers (bool) – If present, the numbers array is ignored and all numbers in the route list are deleted.

  • org_id (str) – Organization to which Route List belongs.

Returns:

list of update number status

Return type:

list[UpdateNumbersResponse]

async delete_all_numbers(rl_id: str, org_id: str = None)[source]
base = 'telephony/config/premisePstn/routeLists'
class wxc_sdk.as_api.AsSCIM2BulkApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsScimApiChild

Bulk Manage SCIM 2 Users and Groups

The bulk API allows you to create, update, and remove multiple users and groups in Webex. The number of Bulk operations in a single request is limited to 100.

Bulk deletion of Users is irreversible. Please test in a test org or sandbox before running the command in your production system.

async bulk_request(org_id: str, operations: list[BulkOperation], fail_on_errors: int = None) BulkResponse[source]

User bulk API

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

Usage:

  1. The input JSON must conform to the following schema: ‘urn:ietf:params:scim:api:messages:2.0:BulkRequest’.

  2. The request must be accompanied with a body in JSON format according to the standard SCIM schema definition. The maximum number of operations in a request is 100; an error is thrown if the limit is exceeded.

  3. failOnErrors parameter

    An integer specifies the number of errors that the service provider will accept before the operation is terminated and an error response is returned. It is OPTIONAL in a request. Maximum number of operations allowed to fail before the server stops processing the request. The value must be between 1 and 100.

  4. operations parameter

    Contains a list of bulk operations for POST/PATCH/DELETE operations. (REQUIRED)

    • operations.method

      The HTTP method of the current operation. Possible values are POST, PATCH or DELETE.

    • `operations.path

      The Resource’s relative path. If the method is POST the value must specify a Resource type endpoint; e.g., /Users or /Groups whereas all other method values must specify the path to a specific Resource; e.g., /Users/2819c223-7f76-453a-919d-413861904646.

    • operations.data

      The Resource data as it would appear for a single POST or PATCH Resource operation. It is REQUIRED in a request when method is POST and PATCH. Refer to corresponding wiki for SCIM 2.0 POST, PATCH and DELETE API.

    • operations.bulkId

      The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. It is REQUIRED when “method” is “POST”.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • operations (list[BulkOperation]) – Contains a list of bulk operations for POST/PATCH/DELETE operations.

  • fail_on_errors (int) – An integer specifying the maximum number of errors that the service provider will accept before the operation is terminated and an error response is returned.

Return type:

BulkResponse

Example

# bulk operations to create a bunch of users from a list of ScimUser instances
new_scim_users: list[ScimUser]
operations = [BulkOperation(method=BulkMethod.post, path='/Users',
                            bulk_id=str(uuid.uuid4()),
                            data=scim_user.create_update())
              for scim_user in new_scim_users]
bulk_response = self.api.scim.bulk.bulk_request(org_id=org_id, fail_on_errors=1,
                                                operations=operations)
base = 'identity/scim'
class wxc_sdk.as_api.AsSCIM2GroupsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsScimApiChild

SCIM 2 Groups

Implementation of the SCIM 2.0 group part for group management in a standards based manner. Please also see the SCIM Specification. The schema and API design follows the standard SCIM 2.0 definition with detailed in SCIM 2.0 schema and `SCIM 2.0 Protocol

async create(org_id: str, group: ScimGroup) ScimGroup[source]

Create a group

Create a new group for a given organization. The group may optionally be created with group members.

Authorization

OAuth token returned by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

Usage:

  1. The input JSON must conform to one of the following schemas:

  • urn:ietf:params:scim:schemas:core:2.0:Group

  • urn:scim:schemas:extension:cisco:webexidentity:2.0:Group

  1. Unrecognized schemas (ID/section) are ignored.

  2. Read-only attributes provided as input values are ignored.

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • group (ScimGroup) – Group settings

Return type:

ScimGroup

async details(org_id: str, group_id: str, excluded_attributes: str = None) ScimGroup[source]

Get a group

Retrieve details for a group, by ID.

Optionally, members can be retrieved with this request. The maximum number of members returned is 500.

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • identity:people_read

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

  • id_readonly_admin

  • id_device_admin

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • group_id (str) – A unique identifier for the group.

  • excluded_attributes (str) – Attributes to be excluded from the return.

Return type:

ScimGroup

async search(org_id: str, filter: str = None, excluded_attributes: str = None, attributes: str = None, start_index: int = None, count: int = None, sort_by: str = None, sort_order: str = None, include_members: bool = None, member_type: str = None) SearchGroupResponse[source]

Search groups

Retrieve a list of groups in the organization.

Long result sets are split into pages.

Authorization

An OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • identity:people_read

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

  • id_readonly_admin

  • id_device_admin

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • filter (str) –

    The url encoded filter. The example content is ‘displayName Eq “group1@example.com” or displayName Eq “group2@example.com”’.

    For more filter patterns, see https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2. If the value is empty, the API returns all groups under the organization.

  • excluded_attributes (str) – Attributes to be excluded from the return.

  • attributes (str) – The attributes to return.

  • start_index (int) – An integer indicating the 1-based index of the first query result. The default is 1.

  • count (int) – An integer indicating the desired maximum number of query results per page. The default is 100.

  • sort_by (str) – A string indicating the attribute whose value be used to order the returned responses. Now we only allow displayName, id, meta.lastModified to sort.

  • sort_order (str) – A string indicating the order in which the sortBy parameter is applied. Allowed values are ascending and descending.

  • include_members (bool) – Default “false”. If false, no members returned.

  • member_type (str) – Filter the members by member type. Sample data: user, machine, group.

Return type:

SearchGroupResponse

async search_all_gen(org_id: str, filter: str = None, excluded_attributes: str = None, attributes: str = None, count: int = None, sort_by: str = None, sort_order: str = None, include_members: bool = None, member_type: str = None) AsyncGenerator[ScimGroup, None][source]
async search_all(org_id: str, filter: str = None, excluded_attributes: str = None, attributes: str = None, count: int = None, sort_by: str = None, sort_order: str = None, include_members: bool = None, member_type: str = None) list[ScimGroup][source]
async members(org_id: str, group_id: str, start_index: int = None, count: int = None, member_type: str = None) GroupMemberResponse[source]

Get Group Members

Returns the members of a group.

  • The default maximum number of members returned is 500.

  • Control parameters are available to page through the members and to control the size of the results.

  • Long result sets are split into pages.

Note

Location groups are different from SCIM groups. You cannot search for identities in a location via groups.

Authorization

OAuth token returned by the Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • identity:people_read

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

  • id_readonly_admin

  • id_device_admin

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • group_id (str) – A unique identifier for the group.

  • start_index (int) – The index to start for group pagination.

  • count (int) – Non-negative integer that specifies the desired number of search results per page. The maximum value for the count is 500.

  • member_type (str) – Filter the members by member type. Sample data: user, machine, group.

Return type:

GroupMemberResponse

async members_all_gen(org_id: str, group_id: str, start_index: int = None, count: int = None, member_type: str = None) AsyncGenerator[ScimGroupMember, None][source]
async members_all(org_id: str, group_id: str, start_index: int = None, count: int = None, member_type: str = None) list[ScimGroupMember][source]
async update(org_id: str, group: ScimGroup) ScimGroup[source]

Update a group with PUT

Replace the contents of the Group.

Authorization

OAuth token returned by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

Usage:

  1. The input JSON must conform to one of the following schemas:

  • urn:ietf:params:scim:schemas:core:2.0:Group

  • urn:scim:schemas:extension:cisco:webexidentity:2.0:Group

  1. Unrecognized schemas (ID/section) are ignored.

  2. Read-only attributes provided as input values are ignored.

  3. The group id is not changed.

  4. All attributes are cleaned up if a new value is not provided by the client.

  5. The values, meta and created are not changed.

Parameters:

org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

Return type:

ScimGroup

async patch(org_id: str, group_id: str, schemas: list[str] = None, operations: list[PatchUserOperation] = None) ScimGroup[source]

Update a group with PATCH

Update group attributes with PATCH.

Authorization

OAuth token returned by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

Usage:

  1. The input JSON must conform to one of the following schemas:

  • urn:ietf:params:scim:schemas:core:2.0:Group

  • urn:scim:schemas:extension:cisco:webexidentity:2.0:Group

  1. Unrecognized schemas (ID/section) are ignored.

  2. Read-only attributes provided as input values are ignored.

  3. Each operation on an attribute must be compatible with the attribute’s mutability.

5. Each PATCH operation represents a single action to be applied to the same SCIM resource specified by the request URI. Operations are applied sequentially in the order they appear in the array. Each operation in the sequence is applied to the target resource; the resulting resource becomes the target of the next operation. Evaluation continues until all operations are successfully applied or until an error condition is encountered.

Add operations:

The add operation is used to add a new attribute value to an existing resource. The operation must contain a value member whose content specifies the value to be added. The value may be a quoted value, or it may be a JSON object containing the sub-attributes of the complex attribute specified in the operation’s path. The result of the add operation depends upon the target location indicated by path references:

  • If omitted, the target location is assumed to be the resource itself. The value parameter contains a set of attributes to be added to the resource.

  • If the target location does not exist, the attribute and value are added.

  • If the target location specifies a complex attribute, a set of sub-attributes shall be specified in the value parameter.

  • If the target location specifies a multi-valued attribute, a new value is added to the attribute.

  • If the target location specifies a single-valued attribute, the existing value is replaced.

  • If the target location specifies an attribute that does not exist (has no value), the attribute is added with the new value.

  • If the target location exists, the value is replaced.

  • If the target location already contains the value specified, no changes should be made to the resource.

Replace operations:

The replace operation replaces the value at the target location specified by the path. The operation performs the following functions, depending on the target location specified by path:

  • If the path parameter is omitted, the target is assumed to be the resource itself. In this case, the value attribute shall contain a list of one or more attributes that are to be replaced.

  • If the target location is a single-value attribute, the value of the attribute is replaced.

  • If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are replaced.

  • If the target location path specifies an attribute that does not exist, the service provider shall treat the operation as an “add”.

  • If the target location specifies a complex attribute, a set of sub-attributes SHALL be specified in the value parameter, which replaces any existing values or adds where an attribute did not previously exist. Sub-attributes that are not specified in the value parameters are left unchanged.

  • If the target location is a multi-valued attribute and a value selection (“valuePath”) filter is specified that matches one or more values of the multi-valued attribute, then all matching record values will be replaced.

  • If the target location is a complex multi-valued attribute with a value selection filter (“valuePath”) and a specific sub-attribute (e.g., “addresses[type eq “work”].streetAddress”), the matching sub-attribute of all matching records is replaced.

  • If the target location is a multi-valued attribute for which a value selection filter (“valuePath”) has been supplied and no record match was made, the service provider will indicate the failure by returning HTTP status code 400 and a scimType error code of noTarget.

Remove operations:

The remove operation removes the value at the target location specified by the required attribute path. The operation performs the following functions, depending on the target location specified by path:

  • If path is unspecified, the operation fails with HTTP status code 400 and a “scimType” error code of “noTarget”.

  • If the target location is a single-value attribute, the attribute and its associated value is removed, and the attribute will be considered unassigned.

  • If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are removed, and the attribute SHALL be considered unassigned.

  • If the target location is a multi-valued attribute and a complex filter is specified comparing a value, the values matched by the filter are removed. If no other values remain after the removal of the selected values, the multi-valued attribute will be considered unassigned.

  • If the target location is a complex multi-valued attribute and a complex filter is specified based on the attribute`s sub-attributes, the matching records are removed. Sub-attributes whose values have been removed will be considered unassigned. If the complex multi-valued attribute has no remaining records, the attribute will be considered unassigned.

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • group_id (str) – A unique identifier for the group.

  • schemas (list[str]) – Input JSON schemas.

  • operations (list[PatchGroupOperations]) – A list of patch operations.

Return type:

ScimGroup

async delete(org_id: str, group_id: str) None[source]

Delete a group

Remove a group from the system.

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_group_admin

Parameters:
  • org_id (str) – The ID of the organization to which this group belongs. If not specified, the organization ID from the OAuth token is used.

  • group_id (str) – A unique identifier for the group.

Return type:

None

base = 'identity/scim'
class wxc_sdk.as_api.AsSCIM2UsersApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsScimApiChild

SCIM 2 Users

Implementation of the SCIM 2.0 user part for user management in a standards based manner. Please also see the SCIM Specification. The schema and API design follows the standard SCIM 2.0 definition with detailed in SCIM 2.0 schema and SCIM 2.0 Protocol

async create(org_id: str, user: ScimUser) ScimUser[source]

Create a user

The SCIM 2 /Users API provides a programmatic way to manage users in Webex Identity using The Internet Engineering Task Force standard SCIM 2.0 standard as specified by RFC 7643 SCIM 2.0 Core Schema and RFC 7644 SCIM 2.0 Core Protocol. The WebEx SCIM 2.0 APIs allow clients supporting the SCIM 2.0 standard to manage users, and groups within Webex. Webex supports the following SCIM 2.0 Schemas:

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

Usage:

  1. Input JSON must contain schema: “urn:ietf:params:scim:schemas:core:2.0:User”.

1. Support 3 schemas : - “urn:ietf:params:scim:schemas:core:2.0:User” - “urn:ietf:params:scim:schemas:extension:enterprise:2.0:User” - “urn:scim:schemas:extension:cisco:webexidentity:2.0:User

  1. Unrecognized schemas (ID/section) are ignored.

  1. Read-only attributes provided as input values are ignored.

The following roles cannot be assigned to a user:

1. Location Admin 1. Webex Site Admin

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user (ScimUser) – User settings

Return type:

ScimUser

async details(org_id: str, user_id: str) ScimUser[source]

Get a user

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • identity:people_read

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

  • id_readonly_admin

  • id_device_admin

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user_id (str) – Webex Identity assigned user identifier.

Return type:

ScimUser

async search(org_id: str, filter: str = None, attributes: str = None, excluded_attributes: str = None, sort_by: str = None, sort_order: str = None, start_index: int = None, count: int = None, return_groups: bool = None, include_group_details: bool = None, group_usage_types: str = None) SearchUserResponse[source]

Search users

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • identity:people_read

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

  • id_readonly_admin

  • id_device_admin

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • filter (str) –

    The url encoded filter. If the value is empty, the API will return all users under the organization.

    The examples below show some search filters:

    Attributes

    Operators

    SCIM Core

    id

    eq

    userName

    eq sw ew

    name.familyName

    eq sw ew

    name.givenName

    eq sw

    name.middleName

    eq sw

    name.formatted

    eq sw

    displayName

    eq sw ew

    nickName

    eq sw ew

    emails.display

    eq sw ew

    emails.value

    eq sw ew

    phoneNumbers.value

    eq sw ew

    phoneNumbers.display

    eq sw ew

    Enterprise Extensions

    employeeNumber

    eq sw ew

    costCenter

    eq sw ew

    organization

    eq sw ew

    division

    eq sw ew

    department

    eq sw ew

    manager.value

    eq

    manager.displayName

    eq sw ew

  • attributes (str) – A multi-valued list of strings indicating the names of resource attributes to return in the response, like ‘userName,department,emails’. It supports the SCIM id ‘urn:ietf:params:scim:schemas:extension:enterprise:2.0:User,userName’. The default is empty, all attributes will be returned

  • excluded_attributes (str) – A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return. The default is empty, all attributes will be returned

  • sort_by (str) – A string indicating the attribute whose value be used to order the returned responses. Now we only allow ‘userName, id, meta.lastModified’ to sort.

  • sort_order (str) – A string indicating the order in which the ‘sortBy’ parameter is applied. Allowed values are ‘ascending’ and ‘descending’.

  • start_index (int) – An integer indicating the 1-based index of the first query result. The default is 1.

  • count (int) – An integer indicating the desired maximum number of query results per page. The default is 100.

  • return_groups (str) – Define whether the group information needs to be returned. The default is false.

  • include_group_details (str) – Define whether the group information with details need been returned. The default is false.

  • group_usage_types (str) – Returns groups with details of the specified group type

Return type:

SearchUserResponse

async search_all_gen(org_id: str, filter: str = None, attributes: str = None, excluded_attributes: str = None, sort_by: str = None, sort_order: str = None, count: int = None, return_groups: str = None, include_group_details: str = None, group_usage_types: str = None) AsyncGenerator[ScimUser, None][source]
async search_all(org_id: str, filter: str = None, attributes: str = None, excluded_attributes: str = None, sort_by: str = None, sort_order: str = None, count: int = None, return_groups: str = None, include_group_details: str = None, group_usage_types: str = None) list[ScimUser][source]
async update(org_id: str, user: ScimUser) ScimUser[source]

Update a user with PUT

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

Usage:

  1. Input JSON must contain schema: “urn:ietf:params:scim:schemas:core:2.0:User”.

  2. Support 3 schemas:

  1. Unrecognized schemas (ID/section) are ignored.

  2. Read-only attributes provided as input values are ignored.

  3. User id will not be changed.

  4. meta.`created` will not be changed.

7. The PUT API replaces the contents of the user’s data with the data in the request body. All attributes specified in the request body will replace all existing attributes for the userId specified in the URL. Should you wish to replace or change some attributes as opposed to all attributes please refer to the SCIM PATCH operation https://developer.webex.com/docs/api/v1/scim2-user/update-a-user-with-patch .

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user – user to be updates

Return type:

ScimUser

async patch(org_id: str, user_id: str, operations: list[PatchUserOperation]) ScimUser[source]

Update a user with PATCH

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

Usage:

1. The PATCH API replaces individual attributes of the user’s data in the request body. The PATCH api supports add, remove and replace operations on any individual attribute allowing only specific attributes of the user’s object to be modified.

  1. Each operation against an attribute must be compatible with the attribute’s mutability.

3. Each PATCH operation represents a single action to be applied to the same SCIM resource specified by the request URI. Operations are applied sequentially in the order they appear in the array. Each operation in the sequence is applied to the target resource; the resulting resource becomes the target of the next operation. Evaluation continues until all operations are successfully applied or until an error condition is encountered.

Add operations:

The add operation is used to add a new attribute value to an existing resource. The operation must contain a value member whose content specifies the value to be added. The value may be a quoted value, or it may be a JSON object containing the sub-attributes of the complex attribute specified in the operation’s path. The result of the add operation depends upon the target location indicated by path references:

  • If omitted, the target location is assumed to be the resource itself. The value parameter contains a set of attributes to be added to the resource.

  • If the target location does not exist, the attribute and value are added.

  • If the target location specifies a complex attribute, a set of sub-attributes shall be specified in the value parameter.

  • If the target location specifies a multi-valued attribute, a new value is added to the attribute.

  • If the target location specifies a single-valued attribute, the existing value is replaced.

  • If the target location specifies an attribute that does not exist (has no value), the attribute is added with the new value.

  • If the target location exists, the value is replaced.

  • If the target location already contains the value specified, no changes should be made to the resource.

Replace operations:

The replace operation replaces the value at the target location specified by the path. The operation performs the following functions, depending on the target location specified by path:

  • If the path parameter is omitted, the target is assumed to be the resource itself. In this case, the value attribute shall contain a list of one or more attributes that are to be replaced.

  • If the target location is a single-value attribute, the value of the attribute is replaced.

  • If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are replaced.

  • If the target location path specifies an attribute that does not exist, the service provider shall treat the operation as an “add”.

  • If the target location specifies a complex attribute, a set of sub-attributes SHALL be specified in the value parameter, which replaces any existing values or adds where an attribute did not previously exist. Sub-attributes that are not specified in the value parameters are left unchanged.

  • If the target location is a multi-valued attribute and a value selection (“valuePath”) filter is specified that matches one or more values of the multi-valued attribute, then all matching record values will be replaced.

  • If the target location is a complex multi-valued attribute with a value selection filter (“valuePath”) and a specific sub-attribute (e.g., “addresses[type eq “work”].streetAddress”), the matching sub-attribute of all matching records is replaced.

  • If the target location is a multi-valued attribute for which a value selection filter (“valuePath”) has been supplied and no record match was made, the service provider will indicate the failure by returning HTTP status code 400 and a scimType error code of “noTarget”.

Remove operations:

The remove operation removes the value at the target location specified by the required attribute path. The operation performs the following functions, depending on the target location specified by path:

  • If path is unspecified, the operation fails with HTTP status code 400 and a “scimType” error code of “noTarget”.

  • If the target location is a single-value attribute, the attribute and its associated value is removed, and the attribute will be considered unassigned.

  • If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are removed, and the attribute SHALL be considered unassigned.

  • If the target location is a multi-valued attribute and a complex filter is specified comparing a value, the values matched by the filter are removed. If no other values remain after the removal of the selected values, the multi-valued attribute will be considered unassigned.

  • If the target location is a complex multi-valued attribute and a complex filter is specified based on the attribute’s sub-attributes, the matching records are removed. Sub-attributes whose values have been removed will be considered unassigned. If the complex multi-valued attribute has no remaining records, the attribute will be considered unassigned.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user_id (str) – Webex Identity assigned user identifier.

  • operations (list[PatchUserOperation]) – A list of patch operations.

Return type:

ScimUser

async delete(org_id: str, user_id: str) None[source]

Delete a user

Authorization

OAuth token rendered by Identity Broker.

One of the following OAuth scopes is required:

  • identity:people_rw

  • Identity:SCIM

The following administrators can use this API:

  • id_full_admin

  • id_user_admin

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user_id (str) – Webex Identity assigned user identifier.

Return type:

None

base = 'identity/scim'
class wxc_sdk.as_api.AsScheduleApi(*, session: AsRestSession, base: ScheduleApiBase)[source]

Bases: AsApiChild

Schedules API

__init__(*, session: AsRestSession, base: ScheduleApiBase)[source]
list_gen(obj_id: str, org_id: str = None, schedule_type: ScheduleType = None, name: str = None, **params) AsyncGenerator[Schedule, None][source]

List of schedules for a person or location

List schedules for a person or location in an organization.

Schedules are used to support calling features and can be defined at the location or person level. businessHours schedules allow you to apply specific call settings at different times of the day or week by defining one or more events. holidays schedules define exceptions to normal business hours by defining one or more events.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • obj_id (str) – Return the list of schedules for this location or user

  • org_id (str) – List schedules for this organization.

  • schedule_type – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • name – Only return schedules with the matching name.

Returns:

yields schedules

async list(obj_id: str, org_id: str = None, schedule_type: ScheduleType = None, name: str = None, **params) list[Schedule][source]

List of schedules for a person or location

List schedules for a person or location in an organization.

Schedules are used to support calling features and can be defined at the location or person level. businessHours schedules allow you to apply specific call settings at different times of the day or week by defining one or more events. holidays schedules define exceptions to normal business hours by defining one or more events.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • obj_id (str) – Return the list of schedules for this location or user

  • org_id (str) – List schedules for this organization.

  • schedule_type – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • name – Only return schedules with the matching name.

Returns:

yields schedules

async details(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, org_id: str = None) Schedule[source]

Get details for a schedule

Retrieve schedule details.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Retrieving schedule details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • obj_id (str) – Retrieve schedule details in this location or user

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Retrieve the schedule with the matching id.

  • org_id (str) – Retrieve schedule details from this organization.

Returns:

async create(obj_id: str, schedule: Schedule, org_id: str = None) str[source]

Create a schedule

Create new schedule for the given location or user

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Creating a schedule requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • obj_id (str) – Create the schedule for this location or user

  • schedule (Schedule) – Schedule to be created

  • org_id (str) – Create the schedule for this organization.

Returns:

id of the newly created schedule.

Return type:

str

async update(obj_id: str, schedule: Schedule, schedule_type: str | ScheduleType = None, schedule_id: str = None, org_id: str = None) str[source]

Update a schedule

Update the designated schedule.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Updating a schedule requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The schedule id will change upon modification of the Schedule name

Parameters:
  • obj_id (str) – Location or user for which this schedule exists

  • schedule (Schedule) – data for the update

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. Default: schedule_type from schedule businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Update schedule with the matching id. Default: schedule_id from schedule

  • org_id (str) – Update schedule from this organization.

Returns:

schedule id

async delete_schedule(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, org_id: str = None)[source]

Delete a schedule

Delete the designated schedule.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Deleting a schedule requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • obj_id (str) – Location or user from which to delete a schedule.

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Delete the schedule with the matching id.

  • org_id (str) – Retrieve schedule details from this organization.

Returns:

async event_details(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, event_id: str, org_id: str = None) Event[source]

Get details for a schedule event

Retrieve schedule event details.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Retrieving schedule event details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • obj_id (str) – Retrieve schedule event details for this location or user

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Retrieve schedule event details for schedule with the matching id.

  • event_id (str) – Retrieve the schedule event with the matching schedule event id.

  • org_id (str) – Retrieve schedule event details from this organization.

Returns:

async event_create(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, event: Event, org_id: str = None) str[source]

Create a schedule event

Create new event for the given location or user schedule.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Creating a schedule event requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • obj_id (str) – Create the schedule for this location.

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Create event for a given schedule id.

  • event (Event) – event data

  • org_id (str) – Retrieve schedule event details from this organization.

Returns:

event id

Return type:

str

async event_update(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, event: Event, event_id: str = None, org_id: str = None) str[source]

Update a schedule event

Update the designated schedule event.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Updating a schedule event requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

NOTE: The schedule event id will change upon modification of the schedule event name.

Parameters:
  • obj_id (str) – Location or user for which this schedule event exists.

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Update schedule event with the matching schedule id.

  • event (Event) – update settings

  • event_id (str) – Update the schedule event with the matching schedule event id. Default: event id from event

  • org_id (str) – Update schedule from this organization.

Returns:

event id; changed if name changed

async event_delete(obj_id: str, schedule_type: str | ScheduleType, schedule_id: str, event_id: str, org_id: str = None)[source]

Delete a schedule event

Delete the designated schedule event.

A time schedule establishes a set of times during the day or holidays in the year in which a feature, for example auto attendants, can perform a specific action.

Deleting a schedule event requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • obj_id (str) – Location or user from which to delete a schedule.

  • schedule_type (ScheduleTypeOrStr) – Type of the schedule. businessHours - Business hours schedule type. holidays - Holidays schedule type.

  • schedule_id (str) – Delete schedule event with the matching schedule id.

  • event_id (str) – Delete the schedule event with the matching schedule event id. Default: event id from event

  • org_id (str) – Delete schedule from this organization.

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsScimApiChild(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

base = 'identity/scim'
class wxc_sdk.as_api.AsScimV2Api(*, session: wxc_sdk.as_rest.AsRestSession)[source]

Bases: AsApiChild

__init__(*, session: AsRestSession)[source]
users: AsSCIM2UsersApi
bulk: AsSCIM2BulkApi
groups: AsSCIM2GroupsApi
base = ''
class wxc_sdk.as_api.AsSelectiveAcceptApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for selective accept settings

For now only used for workspaces

feature: str | None = 'selectiveAccept'
async read_criteria(entity_id: str, id: str, org_id: str = None) SelectiveAcceptCriteria[source]

Retrieve Selective Accept Criteria for an entity

Retrieve Selective Accept Criteria Settings for an entity.

With the Selective Accept feature, you can accept calls at specific times from specific callers. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveAcceptCriteria

async configure_criteria(entity_id: str, id: str, settings: SelectiveAcceptCriteria, org_id: str = None)[source]

Modify Selective Accept Criteria for an entity

Modify Selective Accept Criteria Settings for an entity.

With the Selective Accept feature, you can accept calls at specific times from specific callers Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (SelectiveAcceptCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete Selective Accept Criteria for an entity

Delete Selective Accept criteria Settings for an entity.

With the Selective Accept feature, you can accept calls at specific times from specific callers. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: SelectiveAcceptCriteria, org_id: str = None) str[source]

Create Selective Accept Criteria for an entity

Create Selective Accept Criteria Settings for an entity.

With the Selective Accept feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveAcceptCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) SelectiveAccept[source]

Retrieve Selective Accept Settings for an entity.

With the Selective Accept feature, you can accept calls at specific times from specific callers. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveAccept

async configure(entity_id: str, settings: SelectiveAccept, org_id: str = None)[source]

Modify Selective Accept Settings for an entity.

With the Selective Accept feature, you can accept calls at specific times from specific callers. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveAccept) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsSelectiveForwardApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for selective forward settings

For now only used for workspaces

feature: str | None = 'selectiveForward'
async read_criteria(entity_id: str, id: str, org_id: str = None) SelectiveForwardCriteria[source]

Retrieve Selective Forward Criteria for a Workspace

Retrieve Selective Forward Criteria Settings for a Workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveCriteria

async configure_criteria(entity_id: str, id: str, settings: SelectiveForwardCriteria, org_id: str = None)[source]

Modify Selective Forward Criteria for a Workspace

Modify Selective Forward Call Criteria Settings for a Workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (SelectiveForwardCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete Selective Forward Criteria for a Workspace

Delete Selective Forward Call criteria Settings for a workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: SelectiveForwardCriteria, org_id: str = None) str[source]

Create Selective Forward Criteria for a Workspace

Create Selective Forward Call Criteria Settings for a Workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with a scope of spark:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) SelectiveForward[source]

Retrieve Selective Forward Settings for a Workspace

Retrieve Selective Forward Call Settings for a Workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveForward

async configure(entity_id: str, settings: SelectiveForward, org_id: str = None)[source]

Modify Selective Forward Settings for a Workspace

Modify Selective Forward Call Settings for a Workspace.

With the Selective Forward feature, you can forward calls at specific times from specific callers. This setting takes precedence over call forwarding. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveForward) – Settings for new criteria

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsSelectiveRejectApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for selective reject settings

For now only used for workspaces

feature: str | None = 'selectiveReject'
async read_criteria(entity_id: str, id: str, org_id: str = None) SelectiveRejectCriteria[source]

Retrieve Selective Reject Criteria for an entity

Retrieve Selective Reject Criteria Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveRejectCriteria

async configure_criteria(entity_id: str, id: str, settings: SelectiveRejectCriteria, org_id: str = None)[source]

Modify Selective Reject Criteria for an entity

Modify Selective Reject Criteria Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (SelectiveRejectCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete Selective Reject Criteria for an entity

Delete Selective Reject criteria Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: SelectiveRejectCriteria, org_id: str = None) str[source]

Create Selective Reject Criteria for an entity

Create Selective Reject Criteria Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveRejectCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) SelectiveReject[source]

Retrieve Selective Reject Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveReject

async configure(entity_id: str, settings: SelectiveReject, org_id: str = None)[source]

Modify Selective Reject Settings for an entity.

With the Selective Reject feature, you can reject calls at specific times from specific callers. This setting takes precedence over Selectively Accept Calls. Schedules can also be set up for this feature during certain times of the day or days of the week.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveReject) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsSendActivationEmailApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Send Activation Email

APIs allowing an admin to send activation emails to users.

async start(org_id: str) ActivationEmailJobDetail[source]

Initiate Bulk Activation Email Resend Job

Initiate a bulk activation email resend job that sends an activation email to all eligible users in an organization. Only a single instance of the job can be running for an organization.

Requires a full or user administrator auth token with a scope of spark-admin:people_write.

Parameters:

org_id (str) – Initiate job for this organization.

Return type:

ActivationEmailJobDetail

errors_gen(org_id: str, job_id: str, **params) AsyncGenerator[JobErrorItem, None][source]

Get Bulk Activation Email Resend Job Errors

Get errors of an activation email resend job by its job ID.

Requires a full or user administrator auth token with a scope of spark-admin:people_write or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • org_id (str) – Check job status for this organization.

  • job_id (str) – Retrieve job status for this jobId.

Returns:

Generator yielding JobErrorItem instances

async errors(org_id: str, job_id: str, **params) list[JobErrorItem][source]

Get Bulk Activation Email Resend Job Errors

Get errors of an activation email resend job by its job ID.

Requires a full or user administrator auth token with a scope of spark-admin:people_write or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • org_id (str) – Check job status for this organization.

  • job_id (str) – Retrieve job status for this jobId.

Returns:

Generator yielding JobErrorItem instances

async status(org_id: str, job_id: str) ActivationEmailJobDetail[source]

Get Bulk Activation Email Resend Job Status

Get the details of an activation email resend job by its job ID.

Requires a full or user administrator auth token with a scope of spark-admin:people_write or read-only administrator auth token with a scope of spark-admin:people_read.

Parameters:
  • org_id (str) – Check job status for this organization.

  • job_id (str) – Retrieve job status for this jobId.

Return type:

ActivationEmailJobDetail

base = 'identity/organizations'
class wxc_sdk.as_api.AsSequentialRingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for sequential ring settings

For now only used for workspaces

base = ''
feature: str | None = 'sequentialRing'
async read_criteria(entity_id: str, id: str, org_id: str = None) SequentialRingCriteria[source]

Retrieve sequential ring criteria for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the workspace receives incoming calls, these numbers will ring one after another. The sequential ring criteria specify settings such as schedule and incoming numbers for which to sequentially ring or not.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SelectiveCriteria

async configure_criteria(entity_id: str, id: str, settings: SequentialRingCriteria, org_id: str = None)[source]

Modify sequential ring criteria for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the workspace receives incoming calls, these numbers will ring one after another. The sequential ring criteria specify settings such as schedule and incoming numbers for which to sequentially ring or not.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (SequentialRingCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete sequential ring criteria for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the workspace receives incoming calls, these numbers will ring one after another. The sequential ring criteria specify settings such as schedule and incoming numbers for which to sequentially ring or not.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: SequentialRingCriteria, org_id: str = None) str[source]

Create sequential ring criteria for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the workspace receives incoming calls, these numbers will ring one after another. The sequential ring criteria specify settings such as schedule and incoming numbers for which to sequentially ring or not.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SelectiveCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) SequentialRing[source]

Retrieve sequential ring settings for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the workspace receives incoming calls, these numbers will ring one after another.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SequentialRing

async configure(entity_id: str, settings: SequentialRing, org_id: str = None)[source]

Modify sequential ring settings for an entity.

The sequential ring feature enables you to create a list of up to five phone numbers. When the entity receives incoming calls, these numbers will ring one after another.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SequentialRing) – Settings for new criteria

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

class wxc_sdk.as_api.AsSimRingApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for simultaneous ring settings

For now only used for workspaces

feature: str | None = 'simultaneousRing'
async read_criteria(entity_id: str, id: str, org_id: str = None) SimRingCriteria[source]

Retrieve Simultaneous Ring Criteria for an entity

Retrieve Simultaneous Ring Criteria Settings for an entity.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, read-only or location administrator auth token with a scope of spark-admin:workspaces_read or a user auth token with a scope of spark:workspaces_read to read workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SimRingCriteria

async configure_criteria(entity_id: str, id: str, settings: SimRingCriteria, org_id: str = None)[source]

Modify Simultaneous Ring Criteria for an entity

Modify Simultaneous Ring Criteria Settings for an entity.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with a scope of spark:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • settings (SimRingCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async delete_criteria(entity_id: str, id: str, org_id: str = None)[source]

Delete Simultaneous Ring Criteria for an entity

Delete simultaneous ring criteria Settings for an entity.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with a scope of spark:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • id (str) – Unique identifier for the criteria.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

async create_criteria(entity_id: str, settings: SimRingCriteria, org_id: str = None) str[source]

Create Simultaneous Ring Criteria for an entity

Create Simultaneous Ring Criteria Settings for an entity.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Simultaneous Ring Criteria (Schedules) can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with a scope of spark:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SimRingCriteria) – new settings to be applied.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

str

async read(entity_id: str, org_id: str = None) SimRing[source]

Retrieve Simultaneous Ring Settings for an entity.

The Simultaneous Ring feature allows you to configure your office phone and other phones of your choice to ring simultaneously. Schedules can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, read-only or location administrator auth token with a scope of spark-admin:workspaces_read or a user auth token with a scope of spark:workspaces_read to read workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

SimRing

async configure(entity_id: str, settings: SimRing, org_id: str = None)[source]

Modify Simultaneous Ring Settings for an entity.

The Simultaneous Ring feature allows you to configure the workspace phones of your choice to ring simultaneously. Schedules can also be set up to ring these phones during certain times of the day or days of the week.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write scope or a user auth token with a scope of spark:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (SimRing) – Settings for new criteria

  • org_id (str) – ID of the organization within which the entity resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsSingleNumberReachApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Single Number Reach

Features: Single Number Reach APIs support reading and writing of Webex Calling Single Number Reach settings for a specific organization.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Single Number Reach Primary Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the single number reach’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding SingleNumberReachPrimaryAvailableNumberObject instances

async available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Single Number Reach Primary Available Phone Numbers

List the service and standard PSTN numbers that are available to be assigned as the single number reach’s primary phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding SingleNumberReachPrimaryAvailableNumberObject instances

async read(person_id: str) SingleNumberReach[source]

Get Single Number Reach Settings For A Person

Retrieve Single Number Reach settings for the given person.

Single number reach allows you to set up your work calls ring any phone number. This means that your office phone, mobile phone, or any other designated devices can ring at the same time, ensuring you don’t miss important calls.

Retrieving Single number reach settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

person_id (str) – Unique identifier for the person.

Return type:

SingleNumberReach

async update(person_id: str, alert_all_numbers_for_click_to_dial_calls_enabled: bool = None)[source]

Update Single number reach settings for a person.

Single number reach allows you to set up your work calls ring any phone number. This means that your office phone, mobile phone, or any other designated devices can ring at the same time, ensuring you don’t miss important calls.

Updating a single number reach settings for a person requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • alert_all_numbers_for_click_to_dial_calls_enabled (bool) – Flag to enable alerting single number reach numbers for click to dial calls.

Return type:

None

async create_snr(person_id: str, settings: SingleNumberReachNumber) str[source]

Create Single Number Reach For a Person

Create a single number reach for a person in an organization.

Single number reach allows you to set up your work calls ring any phone number. This means that your office phone, mobile phone, or any other designated devices can ring at the same time, ensuring you don’t miss important calls.

Creating a single number reach for a person requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (SingleNumberReachNumber) – Settings for new SNR number

Return type:

str

async delete_snr(person_id: str, id: str, org_id: str = None)[source]

Delete A Single Number Reach Number

Delete Single number reach number for a person.

Single number reach allows you to setu p your work calls ring any phone number. This means that your office phone, mobile phone, or any other designated devices can ring at the same time, ensuring you don’t miss important calls.

Deleting a Single number reach number requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • id (str) – Unique identifier for single number reach.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

async update_snr(person_id: str, settings: SingleNumberReachNumber) str[source]

Update Single number reach settings for a number.

Single number reach allows you to set up your work calls ring any phone number. This means that your office phone, mobile phone, or any other designated devices can ring at the same time, ensuring you don’t miss important calls.

The response returns an ID that can change if the phoneNumber is modified, as the ID contains base64 encoded phone number data.

Updating a single number reach settings for a number requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – Unique identifier for the person.

  • settings (SingleNumberReachNumber) – Settings for new SNR number

Return type:

str

base = 'telephony/config'
class wxc_sdk.as_api.AsStatusAPI(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Webex Status API as described at https://status.webex.com/api

async summary() StatusSummary[source]

Get a summary of the status page, including a status indicator, component statuses, unresolved incidents, and any upcoming or in-progress scheduled maintenances.

Returns:

Status summary

Return type:

StatusSummary

async status() str[source]

Get the status rollup for the whole page. This response includes an indicator - one of green (operational), yellow (under_maintenance/degraded_performance/partial_outage), red (major_outage).

Returns:

Webex status

Return type:

str

async components() list[Component][source]

Get the components for the status page. Each component is listed along with its status - one of operational, under_maintenance,degraded_performance, partial_outage, or major_outage.

Returns:

list of components

Return type:

list[Component]

async unresolved_incidents() list[Incident][source]

Get a list of any unresolved incidents. This response will only return incidents in the Investigating, Identified, or Monitoring state.

Returns:

list of incidents

Return type:

list[Incident]

async all_incidents() list[Incident][source]

Get a list of the 50 most recent incidents. This includes all unresolved incidents as described above, as well as those in the Resolved state.

Returns:

list of incidents

Return type:

list[Incident]

async upcoming_scheduled_maintenances() list[Incident][source]

Scheduled maintenances are planned outages, upgrades, or general notices that you’re working on infrastructure and disruptions may occurr. A close sibling of Incidents, each usually goes through a progression of statuses listed below, with an impact calculated from a blend of component statuses (or an optional override).

Status: Scheduled, In Progress, or Completed

Impact: Maintenance

Returns:

list of incidents

Return type:

list[Incident]

async active_scheduled_maintenances() list[Incident][source]

Get a list of any active maintenances. This response will only return scheduled maintenances in the In Progress state.

Returns:

list of incidents

Return type:

list[Incident]

async all_scheduled_maintenances() list[Incident][source]

Get a list of the 50 most recent scheduled maintenances. This includes scheduled maintenances in Scheduled , In Progress or Completed state.

Returns:

list of incidents

Return type:

list[Incident]

base = 'status'
class wxc_sdk.as_api.AsSupervisorApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Supervisors

Supervisors are users who manage agents and who perform functions including monitoring, coaching, and more.

Viewing these read-only device settings requires a full, device or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these device settings requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

list_gen(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) AsyncGenerator[AgentOrSupervisor, None][source]

Get List of Supervisors with Customer Assist

Get list of supervisors for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

Requires a full, location, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Only return the supervisors that match the given name.

  • phone_number (str) – Only return the supervisors that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of supervisors with Customer Assist license, when true. Otherwise returns the list of supervisors with Customer Experience Basic license.

  • org_id (str) – List the supervisors in this organization.

Returns:

Generator yielding AgentOrSupervisor instances

async list(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) list[AgentOrSupervisor][source]

Get List of Supervisors with Customer Assist

Get list of supervisors for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

Requires a full, location, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Only return the supervisors that match the given name.

  • phone_number (str) – Only return the supervisors that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of supervisors with Customer Assist license, when true. Otherwise returns the list of supervisors with Customer Experience Basic license.

  • org_id (str) – List the supervisors in this organization.

Returns:

Generator yielding AgentOrSupervisor instances

async create(id: str, agents: list[str], has_cx_essentials: bool = None, org_id: str = None)[source]

Create a Supervisor with Customer Assist

Create a new supervisor. The supervisor must be created with at least one agent.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • id (str) – A unique identifier for the supervisor.

  • agents (list[str]) – People, workspaces and virtual lines that are eligible to receive calls.

  • has_cx_essentials (bool) – Creates a Customer Assist queue supervisor, when true. Customer Assist queue supervisors must have a Customer Assist license.

  • org_id (str) – The organization ID where the supervisor needs to be created.

Return type:

None

async delete(supervisor_id: str, org_id: str = None)[source]

Delete a Supervisor

Deletes the supervisor from an organization.

Supervisors are users who manage agents and who perform functions including monitoring, coaching, and more.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • supervisor_id (str) – Delete the specified supervisor.

  • org_id (str) – Delete the supervisor in the specified organization.

Return type:

None

async delete_bulk(supervisor_ids: list[str], delete_all: bool = None, org_id: str = None) None[source]

Delete Bulk Supervisors

Deletes supervisors in bulk from an organization.

Supervisors are users who manage agents and who perform functions including monitoring, coaching, and more.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • supervisor_ids (list[str]) – Array of supervisors IDs to be deleted.

  • delete_all (bool) – If present the supervisorIds array is ignored, and all supervisors in the context are deleted. WARNING: This will remove all supervisors from the organization.

  • org_id (str) – Delete supervisors in bulk for this organization.

Return type:

None

available_supervisors_gen(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) AsyncGenerator[AgentOrSupervisor, None][source]

List Available Supervisors with Customer Assist

Get list of available supervisors for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Only return the supervisors that match the given name.

  • phone_number (str) – Only return the supervisors that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of available supervisors with Customer Assist license, when true. When ommited or set to ‘false’, will return the list of available supervisors with Customer Experience Basic license.

  • org_id (str) – List the available supervisors in this organization.

Returns:

Generator yielding AgentOrSupervisor instances

async available_supervisors(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) list[AgentOrSupervisor][source]

List Available Supervisors with Customer Assist

Get list of available supervisors for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Only return the supervisors that match the given name.

  • phone_number (str) – Only return the supervisors that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of available supervisors with Customer Assist license, when true. When ommited or set to ‘false’, will return the list of available supervisors with Customer Experience Basic license.

  • org_id (str) – List the available supervisors in this organization.

Returns:

Generator yielding AgentOrSupervisor instances

details_gen(supervisor_id: str, name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **additional_params) AsyncGenerator[AgentOrSupervisor, None][source]

GET Supervisor Details

Get details of a specific supervisor, which includes the agents associated agents with the supervisor, in an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • supervisor_id (str) – List the agents assigned to this supervisor.

  • name (str) – Only return the agents that match the given name.

  • phone_number (str) – Only return agents that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Must be set to true, to view the details of a supervisor with Customer Experience Essentials license. This can otherwise be ommited or set to false.

  • org_id (str) – List the agents assigned to a supervisor in this organization.

Returns:

Generator yieldig AgentOtSupervisor instances

async details(supervisor_id: str, name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **additional_params) list[AgentOrSupervisor][source]

GET Supervisor Details

Get details of a specific supervisor, which includes the agents associated agents with the supervisor, in an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • supervisor_id (str) – List the agents assigned to this supervisor.

  • name (str) – Only return the agents that match the given name.

  • phone_number (str) – Only return agents that match the given phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Must be set to true, to view the details of a supervisor with Customer Experience Essentials license. This can otherwise be ommited or set to false.

  • org_id (str) – List the agents assigned to a supervisor in this organization.

Returns:

Generator yieldig AgentOtSupervisor instances

async assign_unassign_agents(supervisor_id: str, agents: list[IdAndAction], has_cx_essentials: bool = None, org_id: str = None) list[SupervisorAgentStatus] | None[source]

Assign or Unassign Agents to Supervisor

Assign or unassign agents to the supervisor for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

Requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • supervisor_id (str) – Identifier of the supervisor to be updated.

  • agents (list[PutPersonPlaceVirtualLineAgentObject]) – People, workspaces and virtual lines that are eligible to receive calls.

  • has_cx_essentials (bool) – Must be set to true to modify a supervisor with Customer Experience Essentials license. This can otherwise be omitted or set to false.

  • org_id (str) – Assign or unassign agents to a supervisor in this organization.

Return type:

list[SupervisorAgentStatus]

available_agents_gen(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) AsyncGenerator[AgentOrSupervisor, None][source]

List Available Agents with Customer Assist

Get list of available agents for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Returns only the agents that match the given name.

  • phone_number (str) – Returns only the agents that match the phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of available agents with Customer Assist license, when true. When ommited or set to false, will return the list of available agents with Customer Experience Basic license.

  • org_id (str) – List of available agents in a supervisor’s list for this organization.

Returns:

Generator yielding AgentOrSupervisor instances

async available_agents(name: str = None, phone_number: str = None, order: str = None, has_cx_essentials: bool = None, org_id: str = None, **params) list[AgentOrSupervisor][source]

List Available Agents with Customer Assist

Get list of available agents for an organization.

Agents in a call queue can be associated with a supervisor who can silently monitor, coach, barge in or to take over calls that their assigned agents are currently handling.

This operation requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Returns only the agents that match the given name.

  • phone_number (str) – Returns only the agents that match the phone number, extension, or ESN.

  • order (str) – Sort results alphabetically by supervisor name, in ascending or descending order.

  • has_cx_essentials (bool) – Returns only the list of available agents with Customer Assist license, when true. When ommited or set to false, will return the list of available agents with Customer Experience Basic license.

  • org_id (str) – List of available agents in a supervisor’s list for this organization.

Returns:

Generator yielding AgentOrSupervisor instances

base = 'telephony/config/supervisors'
class wxc_sdk.as_api.AsTeamMembershipsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Team Memberships represent a person’s relationship to a team. Use this API to list members of any team that you’re in or create memberships to invite someone to a team. Team memberships can also be updated to make someone a moderator or deleted to remove them from the team. Just like in the Webex app, you must be a member of the team in order to list its memberships or invite people.

list_gen(team_id: str, **params) AsyncGenerator[TeamMembership, None][source]

Lists all team memberships for a given team, specified by the teamId query parameter. Use query parameters to filter the response.

Parameters:

team_id (str) – List memberships for a team, by ID.

async list(team_id: str, **params) list[TeamMembership][source]

Lists all team memberships for a given team, specified by the teamId query parameter. Use query parameters to filter the response.

Parameters:

team_id (str) – List memberships for a team, by ID.

async create(team_id: str, person_id: str = None, person_email: str = None, is_moderator: bool = None) TeamMembership[source]

Add someone to a team by Person ID or email address, optionally making them a moderator.

Parameters:
  • team_id (str) – The team ID.

  • person_id (str) – The person ID.

  • person_email (str) – The email address of the person.

  • is_moderator (bool) – Whether or not the participant is a team moderator.

async details(membership_id: str) TeamMembership[source]

Shows details for a team membership, by ID. Specify the team membership ID in the membershipId URI parameter.

Parameters:

membership_id (str) – The unique identifier for the team membership.

async membership(membership_id: str, is_moderator: bool) TeamMembership[source]

Updates a team membership, by ID. Specify the team membership ID in the membershipId URI parameter.

Parameters:
  • membership_id (str) – The unique identifier for the team membership.

  • is_moderator (bool) – Whether or not the participant is a team moderator.

async delete(membership_id: str)[source]

Deletes a team membership, by ID. Specify the team membership ID in the membershipId URI parameter. The team membership for the last moderator of a team may not be deleted; promote another user to team moderator first.

Parameters:

membership_id (str) – The unique identifier for the team membership.

base = 'team/memberships'
class wxc_sdk.as_api.AsTeamsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Teams are groups of people with a set of rooms that are visible to all members of that team. This API is used to manage the teams themselves. Teams are created and deleted with this API. You can also update a team to change its name, for example. To manage people in a team see the Team Memberships API. To manage team rooms see the Rooms API.

list_gen() AsyncGenerator[Team, None][source]

Lists teams to which the authenticated user belongs.

async list() list[Team][source]

Lists teams to which the authenticated user belongs.

async create(name: str) Team[source]

Creates a team. The authenticated user is automatically added as a member of the team. See the Team Memberships API to learn how to add more people to the team.

Parameters:

name (str) – A user-friendly name for the team.

async details(team_id: str) Team[source]

Shows details for a team, by ID. Specify the team ID in the teamId parameter in the URI.

Parameters:

team_id (str) – The unique identifier for the team.

async update(team_id: str, name: str) Team[source]

Updates details for a team, by ID. Specify the team ID in the teamId parameter in the URI.

Parameters:
  • team_id (str) – The unique identifier for the team.

  • name (str) – A user-friendly name for the team.

async delete(team_id: str)[source]

Deletes a team, by ID. Specify the team ID in the teamId parameter in the URI.

Parameters:

team_id (str) – The unique identifier for the team.

base = 'teams'
class wxc_sdk.as_api.AsTelephonyApi(session: AsRestSession)[source]

Bases: AsApiChild

The telephony settings (features) API.

__init__(session: AsRestSession)[source]
access_codes: AsLocationAccessCodesApi

access or authentication codes at location level

announcements_repo: AsAnnouncementsRepositoryApi
auto_attendant: AsAutoAttendantApi
call_controls_members: AsCallControlsMembersApi

location call intercept settings

call_intercept: AsLocationInterceptApi
call_routing: AsCallRoutingApi
call_recording: AsCallRecordingSettingsApi
caller_reputation_provider: AsCallerReputationProviderApi
calls: AsCallsApi
callpark: AsCallParkApi
callpark_extension: AsCallparkExtensionApi
callqueue: AsCallQueueApi
conference: AsConferenceControlsApi
base = 'telephony/config'
cx_essentials: AsCustomerExperienceEssentialsApi
dect_devices: AsDECTDevicesApi
devices: AsTelephonyDevicesApi

WxC device operations

emergency_address: AsEmergencyAddressApi
emergency_services: AsOrgEmergencyServicesApi

emergency services

guest_calling: AsGuestCallingApi
hotdesk: AsHotDeskApi
hotdesking_voiceportal: AsHotDeskingSigninViaVoicePortalApi
huntgroup: AsHuntGroupApi
jobs: AsJobsApi
location: AsTelephonyLocationApi

location specific settings

locations: AsTelephonyLocationApi
ms_teams: AsOrgMSTeamsSettingApi
operating_modes: AsOperatingModesApi
organisation_access_codes: AsOrganisationAccessCodesApi

organisation access codes

organisation_voicemail: AsOrganisationVoicemailSettingsAPI

organisation voicemail settings

paging: AsPagingApi
permissions_out: AsOutgoingPermissionsApi

location level outgoing permissions

pickup: AsCallPickupApi
playlist: AsPlayListApi
pnc: AsPrivateNetworkConnectApi
prem_pstn: AsPremisePstnApi
pstn: AsPSTNApi
schedules: AsScheduleApi
supervisors: AsSupervisorApi
text_to_speech: AsTextToSpeechApi
virtual_extensions: AsVirtualExtensionsApi
virtual_lines: AsVirtualLinesApi
voicemail_groups: AsVoicemailGroupsApi
voicemail_rules: AsVoicemailRulesApi
voice_messaging: AsVoiceMessagingApi
voiceportal: AsVoicePortalApi
phone_numbers_gen(location_id: str = None, phone_number: str = None, available: bool = None, order: str = None, owner_name: str = None, owner_id: str = None, owner_type: OwnerType = None, extension: str = None, number_type: NumberType = None, phone_number_type: NumberListPhoneNumberType = None, state: NumberState = None, details: bool = None, toll_free_numbers: bool = None, restricted_non_geo_numbers: bool = None, included_telephony_type: TelephonyType = None, service_number: bool = None, org_id: str = None, **params) AsyncGenerator[NumberListPhoneNumber, None][source]

Get Phone Numbers for an Organization with Given Criterias

List all the phone numbers for the given organization along with the status and owner (if any).

Numbers can be standard, service, or mobile. Both standard and service numbers are PSTN numbers. Service numbers are considered as high-utilization or high-concurrency phone numbers and can be assigned to features like auto-attendants, call queues, and hunt groups. Phone numbers can be linked to a specific location, be active or inactive, and be assigned or unassigned. The owner of a number is the person, workspace, or feature to which the number is assigned. Only a person can own a mobile number.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization.

  • phone_number (str) – Search for this phone number.

  • available (bool) – Search among the available phone numbers. This parameter cannot be used along with owner_type parameter when set to true.

  • order (str) – Sort the list of phone numbers based on the following:lastName,dn,extension. Default sort will be based on number and extension in an Ascending order

  • owner_name (str) – Return the list of phone numbers that is owned by given owner name. Maximum length is 255.

  • owner_id (str) – Returns only the matched number/extension entries assigned to the feature with specified uuid/broadsoftId.

  • owner_type (OwnerType) – Returns the list of phone numbers that are of given owner_type.

  • extension (str) – Returns the list of PSTN phone numbers with given extension.

  • number_type (NumberType) – Returns the filtered list of phone numbers that contain a given type of number. available or state query parameters cannot be used when numberType=EXTENSION.

  • phone_number_type (NumberListPhoneNumberType) – Returns the filtered list of PSTN phone numbers that are of given phoneNumberType.

  • state (NumberState) – Returns the list of PSTN phone numbers with matching state.

  • details (bool) – Returns the overall count of the PSTN phone numbers along with other details for given organization.

  • toll_free_numbers (bool) – Returns the list of toll free phone numbers.

  • restricted_non_geo_numbers (bool) – Returns the list of restricted non geographical numbers.

  • included_telephony_type (TelephonyType) – Returns the list of phone numbers that are of given includedTelephonyType. By default if this query parameter is not provided, it will list both PSTN and Mobile Numbers. Possible input values are PSTN_NUMBER, MOBILE_NUMBER.

  • service_number (bool) – Returns the list of service phone numbers.

  • org_id (str) – List numbers for this organization.

Returns:

yields NumberListPhoneNumber instances

async phone_numbers(location_id: str = None, phone_number: str = None, available: bool = None, order: str = None, owner_name: str = None, owner_id: str = None, owner_type: OwnerType = None, extension: str = None, number_type: NumberType = None, phone_number_type: NumberListPhoneNumberType = None, state: NumberState = None, details: bool = None, toll_free_numbers: bool = None, restricted_non_geo_numbers: bool = None, included_telephony_type: TelephonyType = None, service_number: bool = None, org_id: str = None, **params) list[NumberListPhoneNumber][source]

Get Phone Numbers for an Organization with Given Criterias

List all the phone numbers for the given organization along with the status and owner (if any).

Numbers can be standard, service, or mobile. Both standard and service numbers are PSTN numbers. Service numbers are considered as high-utilization or high-concurrency phone numbers and can be assigned to features like auto-attendants, call queues, and hunt groups. Phone numbers can be linked to a specific location, be active or inactive, and be assigned or unassigned. The owner of a number is the person, workspace, or feature to which the number is assigned. Only a person can own a mobile number.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization.

  • phone_number (str) – Search for this phone number.

  • available (bool) – Search among the available phone numbers. This parameter cannot be used along with owner_type parameter when set to true.

  • order (str) – Sort the list of phone numbers based on the following:lastName,dn,extension. Default sort will be based on number and extension in an Ascending order

  • owner_name (str) – Return the list of phone numbers that is owned by given owner name. Maximum length is 255.

  • owner_id (str) – Returns only the matched number/extension entries assigned to the feature with specified uuid/broadsoftId.

  • owner_type (OwnerType) – Returns the list of phone numbers that are of given owner_type.

  • extension (str) – Returns the list of PSTN phone numbers with given extension.

  • number_type (NumberType) – Returns the filtered list of phone numbers that contain a given type of number. available or state query parameters cannot be used when numberType=EXTENSION.

  • phone_number_type (NumberListPhoneNumberType) – Returns the filtered list of PSTN phone numbers that are of given phoneNumberType.

  • state (NumberState) – Returns the list of PSTN phone numbers with matching state.

  • details (bool) – Returns the overall count of the PSTN phone numbers along with other details for given organization.

  • toll_free_numbers (bool) – Returns the list of toll free phone numbers.

  • restricted_non_geo_numbers (bool) – Returns the list of restricted non geographical numbers.

  • included_telephony_type (TelephonyType) – Returns the list of phone numbers that are of given includedTelephonyType. By default if this query parameter is not provided, it will list both PSTN and Mobile Numbers. Possible input values are PSTN_NUMBER, MOBILE_NUMBER.

  • service_number (bool) – Returns the list of service phone numbers.

  • org_id (str) – List numbers for this organization.

Returns:

yields NumberListPhoneNumber instances

async phone_number_details(org_id: str = None) NumberDetails[source]

get summary (counts) of phone numbers

Parameters:

org_id (str) – details for numbers in this organization.

Returns:

phone number details

Return type:

NumberDetails

async validate_extensions(extensions: list[str]) ValidateExtensionsResponse[source]

Validate the List of Extensions

Validates the list of Extensions provided by the customer at the organization level. It checks the extension meets the current extension length limits and does not conflict with the extensions of organization-level entities and settings. To check for extension use across all locations, use the Get Phone Numbers API. To validate an extension and check for conflicts for a specific location, use the Validate Extensions API.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

extensions (list[str]) – Array of Strings of ID of Extensions.

Returns:

validation response

Return type:

wxc_sdk.common.ValidateExtensionsResponse

async validate_phone_numbers(phone_numbers: list[str], org_id: str = None) ValidatePhoneNumbersResponse[source]

Validate phone numbers

Validate the list of phone numbers in an organization. Each phone number’s availability is indicated in the response.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Phone numbers must follow E.164 format for all countries, except for the United States, which can also follow the National format. Active phone numbers are in service.

Validating a phone number in an organization requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • phone_numbers (list[str]) – List of phone numbers to be validated.

  • org_id (str) – Organization of the Route Group.

Returns:

validation result

Return type:

wxc_sdk.common.ValidatePhoneNumbersResponse

async ucm_profiles(org_id: str = None) list[UCMProfile][source]

Read the List of UC Manager Profiles

List all calling UC Manager Profiles for the organization.

UC Manager Profiles are applicable if your organization uses Jabber in Team Messaging mode or Calling in Webex (Unified CM).

The UC Manager Profile has an organization-wide default and may be overridden for individual persons, although currently only setting at a user level is supported by Webex APIs.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:people_read as this API is designed to be used in conjunction with calling behavior at the user level.

Parameters:

org_id (str) – List manager profiles in this organization.

Returns:

list of UCMProfile

route_choices_gen(route_group_name: str = None, trunk_name: str = None, order: str = None, org_id: str = None) AsyncGenerator[RouteIdentity, None][source]

Read the List of Routing Choices

List all Routes for the organization.

Trunk and Route Group qualify as Route. Trunks and Route Groups provide you the ability to configure Webex Calling to manage calls between Webex Calling hosted users and premises PBX(s) users. This solution lets you configure users to use Cloud PSTN (CCP or Cisco PSTN) or Premises-based PSTN.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • route_group_name – Return the list of route identities matching the route group name.

  • trunk_name – Return the list of route identities matching the trunk name.

  • order – Order the route identities according to the designated fields. Available sort fields: routeName, routeType.

  • org_id – List route identities for this organization.

Returns:

async route_choices(route_group_name: str = None, trunk_name: str = None, order: str = None, org_id: str = None) list[RouteIdentity][source]

Read the List of Routing Choices

List all Routes for the organization.

Trunk and Route Group qualify as Route. Trunks and Route Groups provide you the ability to configure Webex Calling to manage calls between Webex Calling hosted users and premises PBX(s) users. This solution lets you configure users to use Cloud PSTN (CCP or Cisco PSTN) or Premises-based PSTN.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • route_group_name – Return the list of route identities matching the route group name.

  • trunk_name – Return the list of route identities matching the trunk name.

  • order – Order the route identities according to the designated fields. Available sort fields: routeName, routeType.

  • org_id – List route identities for this organization.

Returns:

async test_call_routing(originator_id: str, originator_type: OriginatorType, destination: str, originator_number: str = None, include_applied_services: bool = None, org_id: str = None) TestCallRoutingResult[source]

Test Call Routing

Validates that an incoming call can be routed.

Dial plans route calls to on-premises destinations by use of trunks or route groups. They are configured globally for an enterprise and apply to all users, regardless of location. A dial plan also specifies the routing choice (trunk or route group) for calls that match any of its dial patterns. Specific dial patterns can be defined as part of your dial plan.

Test call routing requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • originator_id (str) – This element is used to identify the originating party. It can be a person ID or a trunk ID.

  • originator_type (OriginatorType) – This element is used to identify if the originatorId is of type PEOPLE or TRUNK.

  • destination (str) – This element specifies the called party. It can be any dialable string, for example, an ESN number, E.164 number, hosted user DN, extension, extension with location code, URL, or FAC code.

  • originator_number (str) – Only used when originatorType is TRUNK. The originatorNumber can be a phone number or URI.

  • include_applied_services (bool) – This element is used to retrieve if any translation pattern, call intercept, permission by type or permission by digit pattern is present for the called party.

  • org_id (str) – Organization in which we are validating a call routing.

Return type:

TestCallRoutingResult

async supported_devices(allow_configure_layout_enabled: bool = None, type_: str = None, org_id: str = None) SupportedDevices[source]

Read the List of Supported Devices

Gets the list of supported devices for an organization.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • allow_configure_layout_enabled (bool) – List supported devices that allow the user to configure the layout.

  • type (str) – List supported devices of a specific type. To excluded device types from a request or query, add type=not:DEVICE_TYPE. For example, type=not:MPP.

  • org_id (str) – List supported devices for an organization.

Return type:

SupportedDevices

async device_settings(org_id: str = None) DeviceCustomization[source]

Get device override settings for an organization.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List supported devices for an organization location.

Returns:

device customization response

Return type:

DeviceCustomization

async read_list_of_announcement_languages(tts_language: bool = None) list[AnnouncementLanguage][source]

Read the List of Announcement Languages

List all languages supported by Webex Calling for announcements and voice prompts.

Retrieving announcement languages requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

tts_language (bool) – Filter languages by TTS support.

Return type:

list[AnnouncementLanguage]

async read_moh(org_id: str = None) MoHConfig[source]

Get the organization Music on Hold configuration

Retrieve the organization’s Music on Hold settings.

Parameters:

org_id (str) – Retrieve Music on Hold settings for this organization.

Return type:

MoHConfig

async update_moh(settings: MoHConfig, org_id: str = None)[source]

Update the organization Music on Hold configuration

Update the organization’s Music on Hold settings.

Parameters:
  • settings (MoHConfig) – Music on Hold settings

  • org_id (str) – Patch Music on Hold for this organization.

Return type:

None

async create_a_call_token(called_number: str, guest_name: str = None) str[source]

Create a call token

Create a call token before initiating the click-to-call interaction. The call token embeds information related to click-to-call interaction into an encrypted JWE token. This token is used along with the guest token to initialise the web calling SDK

Creating a call token requires a service app access token with a scope of spark:webrtc_calling.

Parameters:
  • called_number (str) –

    Number to be called. This number should be enabled as guest calling destination at Webex Control Hub by the administrator.

  • guest_name (str) – Name of the guest caller.

Return type:

str

async get_call_captions_settings(org_id: str = None) OrgCallCaptions[source]

Get the organization call captions settings

Retrieve the organization’s call captions settings.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Unique identifier for the organization.

Return type:

OrgCallCaptions

async update_call_captions_settings(settings: OrgCallCaptions, org_id: str = None)[source]

Update the organization call captions settings

Update the organization’s call captions settings.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings (OrgCallCaptions) – Organization call captions settings

  • org_id (str) – Unique identifier for the organization.

Return type:

None

async get_large_organization_status(org_id: str = None) LargeOrgStatus[source]

Get Large Organization Status

Get the large organization status for a customer.

Large organization status indicates whether an organization is categorized as a large organization based on the threshold percentage.

This API requires a full or read-only administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:

org_id (str) – Retrieves large organization status for this organization.

Return type:

LargeOrgStatus

async get_country_configuration(country_code: str, org_id: str = None) CountryConfig[source]

Get Country Calling Configuration

Retrieve country-specific configuration details including state requirements, zip code requirements, available states, and supported time zones.

This information helps administrators configure user settings with valid timezone and location data for a specific country.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • country_code (str) – The ISO country code to retrieve configuration for.

  • org_id (str) – Organization ID. If not specified, uses the organization from the OAuth token.

Return type:

CountryConfig

class wxc_sdk.as_api.AsTelephonyDevicesApi(session: AsRestSession)[source]

Bases: AsApiChild

Telephony devices API

__init__(session: AsRestSession)[source]
dynamic_settings: AsDevicesDynamicSettingsApi
async supported_devices(allow_configure_layout_enabled: bool = None, type_: str = None, org_id: str = None) SupportedDevices[source]

Read the List of Supported Devices

Gets the list of supported devices for an organization.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • allow_configure_layout_enabled (bool) – List supported devices that allow the user to configure the layout.

  • type (str) – List supported devices of a specific type. To excluded device types from a request or query, add type=not:DEVICE_TYPE. For example, type=not:MPP.

  • org_id (str) – List supported devices for an organization.

Return type:

SupportedDevices

async details(device_id: str, org_id: str = None) TelephonyDeviceDetails[source]

Get Webex Calling Device Details

Not supported for Webex for Government (FedRAMP)

Retrieves Webex Calling device details that include information needed for third-party device management.

Webex calling devices are associated with a specific user Workspace or Virtual Line. Webex Calling devices share the location with the entity that owns them.

Person or workspace to which the device is assigned. Its fields point to a primary line/port of the device.

Requires a full, location, user, or read-only admin auth token with the scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • org_id (str) – ID of the organization in which the device resides.

Return type:

TelephonyDeviceDetails

async update_third_party_device(device_id: str, sip_password: str, org_id: str = None)[source]

Update Third Party Device

Not supported for Webex for Government (FedRAMP)

Modify a device’s sipPassword.

Updating sipPassword on the device requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • sip_password (str) – Password to be updated.

  • org_id (str) – ID of the organization in which the device resides.

Return type:

None

async members(device_id: str, org_id: str = None) DeviceMembersResponse[source]

Get Device Members

Get the list of all the members of the device including primary and secondary users.

A device member can be either a person or a workspace. An admin can access the list of member details, modify member details and search for available members on a device.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • org_id (str) – Retrieves the list of all members of the device in this Organization.

Returns:

Device model, line count, and members

Return type:

DeviceMembersResponse

async update_members(device_id: str, members: list[DeviceMember | AvailableMember] = None, org_id: str = None)[source]

Modify member details on the device.

A device member can be either a person or a workspace. An admin can access the list of member details, modify member details and search for available members on a device.

Modifying members on the device requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • members (list[Union[DeviceMember, AvailableMember]) – New member details for the device. If the member’s list is missing then all the users are removed except the primary user.

  • org_id (str) – Modify members on the device in this organization.

available_members_gen(device_id: str, location_id: str = None, member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, usage_type: UsageType = None, order: str = None, **params) AsyncGenerator[AvailableMember, None][source]

Search members that can be assigned to the device.

A device member can be either a person or a workspace. A admin can access the list of member details, modify member details and search for available members on a device.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • location_id (str) – Search (Contains) based on number.

  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • usage_type (UsageType) – Search for members eligible to become the owner of the device, or share line on the device.

  • order (str) – Sort the list of available members on the device in ascending order by name, use either last name lname or first name fname. Default: last name in ascending order.

  • org_id (str) – Retrieves the list of available members on the device in this Organization.

Returns:

list of available members

async available_members(device_id: str, location_id: str = None, member_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None, usage_type: UsageType = None, order: str = None, **params) list[AvailableMember][source]

Search members that can be assigned to the device.

A device member can be either a person or a workspace. A admin can access the list of member details, modify member details and search for available members on a device.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • location_id (str) – Search (Contains) based on number.

  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • extension (str) – Search (Contains) based on extension.

  • usage_type (UsageType) – Search for members eligible to become the owner of the device, or share line on the device.

  • order (str) – Sort the list of available members on the device in ascending order by name, use either last name lname or first name fname. Default: last name in ascending order.

  • org_id (str) – Retrieves the list of available members on the device in this Organization.

Returns:

list of available members

async get_count_of_members(device_id: str, member_name: str = None, phone_number: str = None, location_id: str = None, extension: str = None, usage_type: UsageType = None, org_id: str = None) int[source]

Get Count of Members

Get the count of members that can be assigned to the device.

A device member can be either a person or a workspace.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • location_id (str) – Unique identifier for the location.

  • extension (str) – Search (Contains) based on extension.

  • usage_type (UsageType) – Search for members eligible to become the owner of the device, or share line on the device. * DEVICE_OWNER - Search for members eligible to become the owner of the device. * SHARED_LINE - Search for members eligible to share line on the device.

  • org_id (str) – Retrieves the count of available members on the device in this organization.

Return type:

int

async apply_changes(device_id: str, org_id: str = None)[source]

Apply Changes for a specific device

Issues request to the device to download and apply changes to the configuration.

Applying changes for a specific device requires a full administrator auth token with a scope of spark-admin:telephony_config_write. :param device_id: Unique identifier for the device. :type device_id: str :param org_id: Apply changes for a device in this Organization. :type org_id: str

async device_settings(device_id: str, device_model: str = None, org_id: str = None) DeviceCustomization[source]

Get override settings for a device.

Device settings lists all the applicable settings for an MPP and an ATA devices at the device level. An admin can also modify the settings. DECT devices do not support settings at the device level.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • device_model (str) – The model type of the device. The corresponding device model display name sometimes called the product name, can also be used to specify the model.

  • org_id (str) – Settings on the device in this organization.

Returns:

Device settings

Return type:

DeviceCustomization

async update_device_settings(device_id: str, device_model: str, customization: DeviceCustomization, org_id: str = None)[source]

Modify override settings for a device.

Device settings list all the applicable settings for an MPP and an ATA devices at the device level. Admins can also modify the settings. NOTE: DECT devices do not support settings at the device level.

Updating settings on the device requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • device_model (str) – Device model name.

  • customization (DeviceCustomization) – Indicates the customization object of the device settings.

  • org_id (str) – Organization in which the device resides..

Example :

# target_device is a TelephonyDevice object
target_device: TelephonyDevice

# get device level settings
settings = api.telephony.devices.device_settings(device_id=target_device.device_id,
                                                 device_model=target_device.model)

# update settings (display name format) and enable device level customization
settings.customizations.mpp.display_name_format = DisplayNameSelection.person_last_then_first_name
settings.custom_enabled = True

# update the device level settings
api.telephony.devices.update_device_settings(device_id=target_device.device_id,
                                             device_model=target_device.model,
                                             customization=settings)

# apply changes to device
api.telephony.devices.apply_changes(device_id=target_device.device_id)
async get_count_of_available_members(member_name: str = None, phone_number: str = None, location_id: str = None, extension: str = None, usage_type: UsageType = None, exclude_virtual_line: bool = None, device_location_id: str = None, org_id: str = None) int[source]

Get Count of Available Members

Get the count of members that can be assigned to devices.

A device member can be either a person or a workspace.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • member_name (str) – Search (Contains) numbers based on member name.

  • phone_number (str) – Search (Contains) based on number.

  • location_id (str) – Unique identifier for the location.

  • extension (str) – Search (Contains) based on extension.

  • usage_type (UsageType) –

    Search for members eligible to become the owner of the device, or share line on the device.

    • DEVICE_OWNER - Search for members eligible to become the owner of the device.

    • SHARED_LINE - Search for members eligible to share line on the device.

  • exclude_virtual_line (bool) – If true, filters out virtual lines from the available members list.

  • device_location_id (str) – Unique identifier for the device’s location. When specified, filters available members to those in the same location as the device.

  • org_id (str) – Retrieves the count of available members in this organization.

Return type:

int

async validate_macs(macs: list[str], org_id: str = None) MACValidationResponse[source]

Validate a list of MAC addresses.

Validating this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • macs (list[str]) – MAC addresses to be validated.

  • org_id (str) – Validate the mac address(es) for this organization.

Returns:

validation response

Return type:

MACValidationResponse

async create_line_key_template(template: LineKeyTemplate, org_id: str = None) str[source]

Create a Line Key Template

Create a Line Key Template in this organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows customers to create a Line Key Template for a device model.

Creating a Line Key Template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template (LineKeyTemplate) – Line key template to create

  • org_id (str) – id of organization to create the line key template in

Returns:

id of new line key template

Return type:

str

async list_line_key_templates(org_id: str = None) list[LineKeyTemplate][source]

Read the list of Line Key Templates

List all Line Key Templates available for this organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve the list of Line Key Templates that are available for the organization.

Retrieving this list requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List line key templates for this organization.

Return type:

list[LineKeyTemplate]

async line_key_template_details(template_id: str, org_id: str = None) LineKeyTemplate[source]

Get details of a Line Key Template

Get detailed information about a Line Key Template by template ID in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve a line key template by its ID in an organization.

Retrieving a line key template requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • template_id (str) – Get line key template for this template ID.

  • org_id (str) – Retrieve a line key template for this organization.

Return type:

GetLineKeyTemplateResponse

async modify_line_key_template(template: LineKeyTemplate, org_id: str = None)[source]

Modify a Line Key Template

Modify a line key template by its template ID in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to modify an existing Line Key Template by its ID in an organization.

Modifying an existing line key template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template (LineKeyTemplate) – new line key template settings

  • org_id (str) – Modify a line key template for this organization.

async delete_line_key_template(template_id: str, org_id: str = None)[source]

Delete a Line Key Template

Delete a Line Key Template by its template ID in an organization.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to delete an existing Line Key Templates by its ID in an organization.

Deleting an existing line key template requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • template_id (str) – Delete line key template with this template ID.

  • org_id (str) – Delete a line key template for this organization.

Return type:

None

async preview_apply_line_key_template(action: ApplyLineKeyTemplateAction, template_id: str = None, location_ids: list[str] = None, exclude_devices_with_custom_layout: bool = None, include_device_tags: list[str] = None, exclude_device_tags: list[str] = None, advisory_types: LineKeyTemplateAdvisoryTypes = None, org_id: str = None) int[source]

Preview Apply Line Key Template

Preview the number of devices that will be affected by the application of a Line Key Template or when resetting devices to their factory Line Key settings.

Line Keys, also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to preview the number of devices that will be affected if a customer were to apply a Line Key Template or apply factory default Line Key settings to devices.

Retrieving the number of devices affected requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • action (PostApplyLineKeyTemplateRequestAction) – Line key Template action to perform.

  • template_id (str) – templateId is required for APPLY_TEMPLATE action.

  • location_ids (list[str]) – Used to search for devices only in the given locations.

  • exclude_devices_with_custom_layout (bool) – Indicates whether to exclude devices with custom layout.

  • include_device_tags (list[str]) – Include devices only with these tags.

  • exclude_device_tags (list[str]) – Exclude devices with these tags.

  • advisory_types (LineKeyTemplateAdvisoryTypes) – Refine search with advisories.

  • org_id (str) – Preview Line Key Template for this organization.

Return type:

int

async get_device_layout(device_id: str, org_id: str = None) DeviceLayout[source]

Get Device Layout by Device ID

Get layout information of a device by device ID in an organization.

Device layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.

This API requires a full or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • device_id (str) – Get device layout for this device ID.

  • org_id (str) – Retrieve a device layout for the device in this organization.

Return type:

DeviceLayout

async modify_device_layout(device_id: str, layout: DeviceLayout, org_id: str = None)[source]

Modify Device Layout by Device ID

Modify the layout of a device by device ID in an organization.

Device layout customizes a user’s programmable line keys (PLK) on the phone and any attached Key Expansion Modules (KEM) with the existing configured line members and the user’s monitoring list.

This API requires a full or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Modify device layout for this device ID.

  • layout – New layout

  • org_id (str) – Modify a device layout for the device in this organization.

Return type:

None

async get_person_device_settings(person_id: str, org_id: str = None) DeviceSettings[source]

Get Device Settings for a Person

Device settings list the compression settings for a person.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – ID of the person to retrieve device settings.

  • org_id (str) – Retrieves the device settings for a person in this organization.

Return type:

Compression

async update_person_device_settings(person_id: str, settings: DeviceSettings, org_id: str = None)[source]

Update Device Settings for a Person

Update device settings modifies the compression settings for a person.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • person_id (str) – ID of the person to update device settings.

  • settings (DeviceSettings) – New device settings

  • org_id (str) – Modify device settings for a person in this organization.

Return type:

None

async get_workspace_device_settings(workspace_id: str, org_id: str = None) DeviceSettings[source]

Get Device Settings for a Workspace

Device settings list the compression settings for a workspace.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – ID of the workspace for which to retrieve device settings.

  • org_id (str) – Retrieves the device settings for a workspace in this organization.

Return type:

Compression

async update_workspace_device_settings(workspace_id: str, settings: DeviceSettings, org_id: str = None)[source]

Update Device Settings for a Workspace

Update device settings modifies the compression settings for a workspace.

Device settings customize a device’s behavior and performance. The compression field optimizes call quality for inbound and outbound calls.

This API requires a full, location, or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • workspace_id (str) – ID of the workspace for which to update device settings.

  • settings (DeviceSettings) – New device settings

  • org_id (str) – Modify the device settings for a workspace in this organization.

Return type:

None

async list_background_images(org_id: str = None) BackgroundImages[source]

Read the List of Background Images

Gets the list of device background images for an organization.

Webex Calling supports the upload of up to 100 background image files for each org. These image files can then be referenced by MPP phones in that org for use as their background image.

Retrieving this list requires a full, device, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieves the list of images in this organization.

Return type:

BackgroundImages

async upload_background_image(device_id: str, file: BufferedReader | str, file_name: str = None, org_id: str = None) BackgroundImage[source]

Upload a Device Background Image

Configure a device’s background image by uploading an image with file format, .jpeg or .png, encoded image file. Maximum image file size allowed to upload is 625 KB.

The request must be a multipart/form-data request rather than JSON, using the image/jpeg or image/png content-type.

Webex Calling supports the upload of up to 100 background image files for each org. These image files can then be referenced by MPP phones in that org for use as their background image.

Uploading a device background image requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • device_id (str) – Unique identifier for the device.

  • file (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • file_name (str) – filename for the content. Only required if content is a reader

  • org_id (str) – Uploads the image in this organization.

Return type:

BackgroundImage

async delete_background_images(background_images: list[DeleteImageRequestObject], org_id: str = None) DeleteDeviceBackgroundImagesResponse[source]

Delete Device Background Images

Delete the list of designated device background images for an organization. Maximum is 10 images per request.

Deleting a device background image requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • background_images (list[DeleteImageRequestObject]) – Array of images to be deleted.

  • org_id (str) – Deletes the list of images in this organization.

Return type:

DeleteDeviceBackgroundImagesResponse

async user_devices_count(person_id: str, org_id: str = None) UserDeviceCount[source]

Get User Devices Count

Get the total device and application count for a person.

The device count can be used to determine if more devices can be added for users with a device count limit. For example, users with standard calling licenses can only have one physical device.

This requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • person_id (str) – Person for whom to retrieve the device count.

  • org_id (str) – Organization to which the person belongs.

Return type:

UserDeviceCount

base = 'telephony/config'
class wxc_sdk.as_api.AsTelephonyLocationApi(session: AsRestSession)[source]

Bases: AsApiChild

__init__(session: AsRestSession)[source]
emergency_services: AsLocationEmergencyServicesApi

emergency services

intercept: AsLocationInterceptApi

call intercept settings

internal_dialing: AsInternalDialingApi

internal dialing settings

moh: AsLocationMoHApi

moh settings

number: AsLocationNumbersApi

number settings

permissions_out: AsOutgoingPermissionsApi

outgoing permissions settings

voicemail: AsLocationVoicemailSettingsApi

Location VM settings (only enable/disable transcription for now)

receptionist_contacts_directory: AsReceptionistContactsDirectoryApi

Receptionist contacts directories

async generate_password(location_id: str, generate: list[str] = None, org_id: str = None)[source]

Generate example password for Location

Generates an example password using the effective password settings for the location. If you don’t specify anything in the generate field or don’t provide a request body, then you will receive a SIP password by default.

It’s used while creating a trunk and shouldn’t be used anywhere else.

Generating an example password requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location for which example password has to be generated.

  • generate (list[str]) – password settings array.

  • org_id (str) – Organization to which location belongs.

Returns:

new password

Return type:

str

async validate_extensions(location_id: str, extensions: list[str], org_id: str = None) ValidateExtensionsResponse[source]

Validate Extensions

Validate extensions for a specific location.

Validating extensions requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Validate extensions for this location.

  • extensions (list[str]) – Array of extensions that will be validated.

  • org_id (str) – Validate extensions for this organization.

Returns:

Validation result

Return type:

wxc_sdk.common.ValidateExtensionsResponse

async details(location_id: str, org_id: str = None) TelephonyLocation[source]

Get Location Webex Calling Details

Shows Webex Calling details for a location, by ID.

Specify the location ID in the locationId parameter in the URI.

Searching and viewing location in your organization requires an administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • location_id (str) – Retrieve Webex Calling location attributes for this location.

  • org_id (str) – Retrieve Webex Calling location attributes for this organization.

Returns:

Webex Calling details for location

Return type:

TelephonyLocation

async enable_for_calling(location: Location, org_id: str = None) str[source]

Enable a Location for Webex Calling

Enable a location by adding it to Webex Calling. This add Webex Calling support to a location created using the POST /v1/locations API.

Locations are used to support calling features which can be defined at the location level.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Returns:

A unique identifier for the location.

Return type:

str

list_gen(name: str = None, order: str = None, org_id: str = None) AsyncGenerator[TelephonyLocation, None][source]

List Locations Webex Calling Details

Lists Webex Calling locations for an organization with Webex Calling details.

Searching and viewing locations with Webex Calling details in your organization require an administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • name (str) – List locations whose name contains this string.

  • order (str) – Sort the list of locations based on name, either asc or desc.

  • org_id (str) – List locations for this organization.

Returns:

generator of TelephonyLocation instances

async list(name: str = None, order: str = None, org_id: str = None) list[TelephonyLocation][source]

List Locations Webex Calling Details

Lists Webex Calling locations for an organization with Webex Calling details.

Searching and viewing locations with Webex Calling details in your organization require an administrator auth token with the spark-admin:telephony_config_read scope.

Parameters:
  • name (str) – List locations whose name contains this string.

  • order (str) – Sort the list of locations based on name, either asc or desc.

  • org_id (str) – List locations for this organization.

Returns:

generator of TelephonyLocation instances

async update(location_id: str, settings: TelephonyLocation, org_id: str = None) str | None[source]

Update Location Webex Calling Details

Update Webex Calling details for a location, by ID.

Specifies the location ID in the locationId parameter in the URI.

Modifying the connection via API is only supported for the local PSTN types of TRUNK and ROUTE_GROUP.

Updating a location in your organization requires an administrator auth token with the spark-admin:telephony_config_write scope.

Example :

api.telephony.location.update(location_id=location_id,
                              settings=TelephonyLocation(
                                  calling_line_id=CallingLineId(
                                      phone_number=tn),
                                  routing_prefix=routing_prefix,
                                  outside_dial_digit='9'))
Parameters:
  • location_id (str) – Updating Webex Calling location attributes for this location.

  • settings (TelephonyLocation) – settings to update

  • org_id (str) – Updating Webex Calling location attributes for this organization.

Returns:

batch job id of update job if one is created

Return type:

str

async change_announcement_language(location_id: str, language_code: str, agent_enabled: bool = None, service_enabled: bool = None, org_id: str = None)[source]

Change Announcement Language

Change announcement language for the given location.

Change announcement language for current people/workspaces and/or existing feature configurations. This does not change the default announcement language which is applied to new users/workspaces and new feature configurations.

Changing announcement language for the given location requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Change announcement language for this location.

  • language_code (str) – Language code.

  • agent_enabled (bool) – Set to true to change announcement language for existing people and workspaces.

  • service_enabled (bool) – Set to true to change announcement language for existing feature configurations.

  • org_id (str) – Change announcement language for this organization.

async read_ecbn(location_id: str, org_id: str = None) LocationECBN[source]

Get a Location Emergency callback number

Get location emergency callback number.

To retrieve location callback number requires a full, user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Update location attributes for this location.

  • org_id (str) – Update location attributes for this organization.

Return type:

LocationECBN

async update_ecbn(location_id: str, selected: CallBackSelected, location_member_id: str = None, elin_expiry_time_minutes: int = None, org_id: str = None)[source]

Update a Location Emergency callback number

Update details for a location emergency callback number.

Updating a location callback number requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Update location attributes for this location.

  • selected (CallBackSelected) – Selected number type to configure emergency call back.

  • location_member_id (str) – Member ID of user/place within the location. Required if LOCATION_MEMBER_NUMBER is selected.

  • elin_expiry_time_minutes (int) – ELIN (Emergency Location Identification Number) provides location-specific callback information to emergency responders. This field indicates the time in minutes that the ELIN association remains active after being established. Valid values are between 10 and 1440 minutes.

  • org_id (str) – Update location attributes for this organization.

Return type:

None

async device_settings(location_id: str, org_id: str = None) DeviceCustomization[source]

Get device override settings for a location.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier for the location

  • org_id (str) – Settings on the device in this organization

Returns:

device customization response

Return type:

DeviceCustomization

phone_numbers_available_for_external_caller_id_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, person_id: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get the List of Phone Numbers Available for External Caller ID

Get the list of phone numbers available for external caller ID usage by a Webex Calling entity (such as a person, virtual line, or workspace) within the specified location. Numbers from the specified location are returned and cross location numbers are returned as well where the number’s location has the same country, PSTN provider, and zone (only applicable for India locations) as the specified location. When personId is specified, and the person belongs to a cisco PSTN location, has a mobile number assigned as primary DN, and does not have a billing plan, only the assigned mobile number is returned as the available number for caller ID.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve available external caller ID numbers for this location.

  • phone_number (list[str]) – Filter phone numbers based on the provided list in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • person_id (str) – Retrieve available external caller ID numbers for this person. If personId is not provided it may result in the unsuccessful assignment of the returned number. This parameter has no effect when workspace or virtual line ID is used.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async phone_numbers_available_for_external_caller_id(location_id: str, phone_number: list[str] = None, owner_name: str = None, person_id: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get the List of Phone Numbers Available for External Caller ID

Get the list of phone numbers available for external caller ID usage by a Webex Calling entity (such as a person, virtual line, or workspace) within the specified location. Numbers from the specified location are returned and cross location numbers are returned as well where the number’s location has the same country, PSTN provider, and zone (only applicable for India locations) as the specified location. When personId is specified, and the person belongs to a cisco PSTN location, has a mobile number assigned as primary DN, and does not have a billing plan, only the assigned mobile number is returned as the available number for caller ID.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve available external caller ID numbers for this location.

  • phone_number (list[str]) – Filter phone numbers based on the provided list in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • person_id (str) – Retrieve available external caller ID numbers for this person. If personId is not provided it may result in the unsuccessful assignment of the returned number. This parameter has no effect when workspace or virtual line ID is used.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Available Phone Numbers for a Location with Given Criteria

List the service and standard PSTN numbers that are available to be assigned as the location’s main number. These numbers are associated with the location specified in the request URL and can be active/inactive and assigned to an owning entity or unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Available Phone Numbers for a Location with Given Criteria

List the service and standard PSTN numbers that are available to be assigned as the location’s main number. These numbers are associated with the location specified in the request URL and can be active/inactive and assigned to an owning entity or unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

webex_go_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Webex Go Available Phone Numbers

List standard numbers that are available to be assigned as the webex go phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async webex_go_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Webex Go Available Phone Numbers

List standard numbers that are available to be assigned as the webex go phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

ecbn_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Location ECBN Available Phone Numbers

List standard numbers that are available to be assigned as the location’s emergency callback number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async ecbn_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Location ECBN Available Phone Numbers

List standard numbers that are available to be assigned as the location’s emergency callback number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are assigned to an owning entity.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

charge_number_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Available Charge Numbers for a Location with Given Criteria

List the numbers that are available to be assigned as the location’s charge number.

These numbers are non-toll-free and non-mobile numbers assigned to the location specified in the request URL.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of available charge numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async charge_number_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Available Charge Numbers for a Location with Given Criteria

List the numbers that are available to be assigned as the location’s charge number.

These numbers are non-toll-free and non-mobile numbers assigned to the location specified in the request URL.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of available charge numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

call_intercept_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Location Call Intercept Available Phone Numbers

List service and standard numbers that are available to be assigned as the location’s call intercept number. These numbers are associated with the location specified in the request URL and can be active/inactive and assigned to an owning entity or unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding LocationAvailableNumberObject instances

async call_intercept_available_phone_numbers(location_id: str, phone_number: list[str] = None, owner_name: str = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Location Call Intercept Available Phone Numbers

List service and standard numbers that are available to be assigned as the location’s call intercept number. These numbers are associated with the location specified in the request URL and can be active/inactive and assigned to an owning entity or unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • owner_name (str) – Return the list of phone numbers that are owned by the given ownerName. Maximum length is 255.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding LocationAvailableNumberObject instances

async create_receptionist_contact_directory(location_id: str, name: str, contacts: list[str], org_id: str = None) str[source]

Create a Receptionist Contact Directory

Create a new Receptionist Contact Directory for a location.

Receptionist Contact Directories can be used to create named directories of users and/or location features (Auto Attendant, Call Queue, Hunt Group, Single Number Reach, and Paging Group).

Adding a directory requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Add a Receptionist Contact Directory to this location.

  • name (str) – Receptionist Contact Directory name. The directory name should be greater than 0 and less than 41 characters in length.

  • contacts (list[str]) – Non-empty array of users or location features assigned to this Receptionist Contact Directory.

  • org_id (str) – Add a Receptionist Contact Directory to this organization.

Return type:

str

async list_receptionist_contact_directories(location_id: str, org_id: str = None) list[IdAndName][source]

Read list of Receptionist Contact Directories

List all Receptionist Contact Directories for a location.

Receptionist Contact Directories can be used to create named directories of users.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – List Receptionist Contact Directories for this location.

  • org_id (str) – List Receptionist Contact Directories for this organization.

Return type:

list[IdAndName]

async receptionist_contact_directory_details(location_id: str, directory_id: str, search_criteria_mode_or: bool = None, first_name: str = None, last_name: str = None, phone_number: str = None, extension: str = None, person_id: str = None, org_id: str = None) list[ContactDetails][source]

Get details for a Receptionist Contact Directory

Get details for a specific Receptionist Contact Directory from a location.

Receptionist Contact Directories are uniquely named per location and contain directories of Persons, Auto Attendants, Call Queues, Hunt Groups, Single Number Reaches, and Paging Groups.

This API is currently supported for Webex calling organizations with fewer than 2000 users or location-based calling features. For organizations with more than 2000 users or location features, the API will throw an error 25395.

Retrieving details requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Get a Receptionist Contact Directory from this location.

  • directory_id (str) – Get details for the Receptionist Contact Directory with this identifier.

  • search_criteria_mode_or (bool) – When true, results matching any one of the search criteria are included. The value can only be true or not included in the request. Specifying searchCriteriaModeOr without any search criteria, or setting it to false results in an ErrorResponse. If no search criteria is specified, all results are returned.

  • first_name (str) – Search for directories that contain people with the indicated first name.

  • last_name (str) – Search for directories that contain people with the indicated last name.

  • phone_number (str) – Search for directories that contain people with the indicated phone number.

  • extension (str) – Search for directories that contain people with the indicated extension.

  • person_id (str) – Search for directories that contain people with the indicated person ID.

  • org_id (str) – Get a Receptionist Contact Directory from this organization.

Return type:

list[ContactDetails]

async delete_receptionist_contact_directory(location_id: str, directory_id: str, org_id: str = None)[source]

Delete a Receptionist Contact Directory

Delete a Receptionist Contact Directory from a location.

Receptionist Contact Directories can be used to create named directories of users.

Deleting a directory requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Delete a Receptionist Contact Directory from this location.

  • directory_id (str) – Add a Receptionist Contact Directory ID.

  • org_id (str) – Delete a Receptionist Contact Directory from this organization.

Return type:

None

async modify_receptionist_contact_directory(location_id: str, directory_id: str, name: str, contacts: list[str], org_id: str = None) str[source]

Modify a Receptionist Contact Directory

Modify Receptionist Contact Directories attached to a location. This modification will replace the existing list of contacts with the new incoming contacts list from the request body. The API does not support incremental updates.

Receptionist Contact Directories can be used to create named groups of Persons, Auto Attendants, Call Queues, Hunt Groups, Single Number Reaches, and Paging Groups.

Modifying a directory requires a full or write-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Modify list of Receptionist Contact Directories for this location.

  • directory_id (str) – Get details for the Receptionist Contact Directory with this identifier.

  • name (str) – Receptionist Contact Directory name. The directory name should be greater than 0 and less than 41 characters in length.

  • contacts (list[str]) – Non-empty array of users or location features assigned to this Receptionist Contact Directory.

  • org_id (str) – Modify list of Receptionist Contact Directories for this organization.

Return type:

str

async safe_delete_check_before_disabling_calling_location(location_id: str, org_id: str = None) SafeDeleteCheckResponse[source]

Safe Delete Check Before Disabling a Location for Webex Calling

Performs a safe delete check operation to identify any issues that would prevent the calling location from being disabled. This API helps identify resources that need to be addressed before a calling location can be successfully disabled.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier for the location to be checked.

  • org_id (str) – Organization ID for which the safe delete check operation is being performed.

Return type:

SafeDeleteCheckResponse

async get_call_captions_settings(location_id: str, org_id: str = None) LocationCallCaptions[source]

Get the location call captions settings

Retrieve the location’s call captions settings.

NOTE: The call captions feature is not supported for locations in India.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full, read-only, or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • org_id (str) – Unique identifier for the organization.

Return type:

LocationCallCaptions

async update_call_captions_settings(location_id: str, settings: LocationCallCaptions, org_id: str = None)[source]

Update the location call captions settings

Update the location’s call captions settings.

NOTE: The call captions feature is not supported for locations in India.

The call caption feature allows the customer to enable and manage closed captions and transcript functionality (rolling caption panel) in Webex Calling, without requiring the user to escalate the call to a meeting.

This API requires a full or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Unique identifier for the location.

  • settings (LocationCallCaptions) – settings to update

  • org_id (str) – Unique identifier for the organization.

Return type:

None

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsTextToSpeechApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

async generate(voice: str, text: str, language_code: str, org_id: str = None) str[source]

Generate a Text-to-Speech Prompt

Generate a text-to-speech prompt from the provided text, voice, and language.

Text-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.

This API requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • voice (str) – The voice ID used to generate the audio prompt. Use the List Text-to-Speech Voices API to retrieve available voices.

  • text (str) – The text to convert to speech.

  • language_code (str) – The language code used to generate the audio prompt. Use the Read the List of Announcement Languages API to retrieve supported language codes.

  • org_id (str) – Generate text-to-speech for this organization.

Return type:

str

async usage(org_id: str = None) TtsUsageResponse[source]

Get Text-to-Speech Usage

Retrieve text-to-speech usage information, including the number of API calls made, the maximum allowed within the time window, and the timestamp indicating when the usage will reset.

Text-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Get text-to-speech usage for this organization.

Return type:

TtsUsageResponse

async voices(org_id: str = None) list[TtsVoice][source]

List Text-to-Speech Voices

Fetch a list of available text-to-speech voices. Use the returned voice ID in the generation request.

Text-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List text-to-speech voices supported for this organization.

Return type:

list[TtsVoice]

async status(tts_id: str, org_id: str = None) TtsStatusResponse[source]

Get Text-to-Speech Generation Status

Get the status of a text-to-speech generation request by its ID. If the status is SUCCESS, the response includes promptUrl, kmsKeyUri, and fileUri to preview or use the audio prompt.

To preview the audio prompt:

  1. Download the KMS key - use the Webex Node.js SDK and provide kmsKeyUri to download the key from KMS.

2. Download the encrypted audio - The encrypted audio file content is stored in cloud and can be retrieved using promptURL.

3. Decrypt the audio content - Use the jose library to decrypt the content downloaded from promptUrl using the downloaded key.

Text-to-speech (TTS) efficiently generates prompts, greetings, and announcements by converting written text into synthesized audio using the specified voice. The generated audio functions like a recorded WAV file, eliminating the need for manual recording.

This API requires a full or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • tts_id (str) – Unique identifier of the text-to-speech generation request.

  • org_id (str) – Get text-to-speech status for this organization.

Return type:

TtsStatusResponse

base = 'telephony/config'
class wxc_sdk.as_api.AsTransferNumbersApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for outgoing permission auto transfer numbers

feature: str | None = 'outgoingPermission/autoTransferNumbers'
async read(entity_id: str, org_id: str = None) AutoTransferNumbers[source]

Retrieve Transfer Numbers Settings .

When calling a specific call type, this entity will be automatically transferred to another number. The person assigned the Auto Transfer Number can then approve the call and send it through or reject the call type. You can add up to 3 numbers.

This API requires a full or read-only administrator auth token with a scope of spark-admin:workspaces_read or a user auth token with spark:workspaces_read scope can be used to read entity settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

auto transfer numbers

Return type:

AutoTransferNumbers

async configure(entity_id: str, settings: AutoTransferNumbers, org_id: str = None)[source]

Modify Transfer Numbers Settings for an entity.

When calling a specific call type, this entity will be automatically transferred to another number. The person assigned the Auto Transfer Number can then approve the call and send it through or reject the call type. You can add up to 3 numbers.

This API requires a full or user administrator auth token with the spark-admin:workspaces_write scope or a user auth token with spark:workspaces_write scope can be used to update entity settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • settings (AutoTransferNumbers) – new auto transfer numbers

  • org_id (str) – entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

base = ''
class wxc_sdk.as_api.AsTranslationPatternsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Translation Patterns

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Call routing supports translation patterns at the organization level.

Viewing these translation patterns for an organization requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these translation patterns for an organization requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

list_gen(limit_to_location_id: str = None, limit_to_org_level_enabled: bool = None, order: str = None, name: str = None, matching_pattern: str = None, org_id: str = None, **params) AsyncGenerator[TranslationPattern, None][source]

Retrieve a list of Translation Patterns

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Retrieve a list of translation patterns for a given organization.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • limit_to_location_id (str) – When a location ID is passed, then return only the corresponding location level translation patterns.

  • limit_to_org_level_enabled (bool) – When set to be true, then return only the organization-level translation patterns.

  • order (str) – Sort the list of translation patterns according to translation pattern name, ascending or descending.

  • name (str) – Only return translation patterns with the matching name.

  • matching_pattern (str) – Only return translation patterns with the matching matchingPattern.

  • org_id (str) – ID of the organization containing the translation patterns.

Returns:

Generator yielding TranslationPatternGet instances

async list(limit_to_location_id: str = None, limit_to_org_level_enabled: bool = None, order: str = None, name: str = None, matching_pattern: str = None, org_id: str = None, **params) list[TranslationPattern][source]

Retrieve a list of Translation Patterns

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Retrieve a list of translation patterns for a given organization.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • limit_to_location_id (str) – When a location ID is passed, then return only the corresponding location level translation patterns.

  • limit_to_org_level_enabled (bool) – When set to be true, then return only the organization-level translation patterns.

  • order (str) – Sort the list of translation patterns according to translation pattern name, ascending or descending.

  • name (str) – Only return translation patterns with the matching name.

  • matching_pattern (str) – Only return translation patterns with the matching matchingPattern.

  • org_id (str) – ID of the organization containing the translation patterns.

Returns:

Generator yielding TranslationPatternGet instances

async create(pattern: TranslationPattern, location_id: str = None, org_id: str = None) str[source]

Create a Translation Pattern

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Create a translation pattern for a given organization.

Requires a full administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • pattern (TranslationPattern) – Translation pattern to create

  • location_id (str) – Unique identifier for the location. Only used when creating location level translation

  • org_id (str) – ID of the organization containing the translation pattern

Return type:

str

async details(translation_id: str, location_id: str = None, org_id: str = None) TranslationPattern[source]

Retrieve the details of a Translation Pattern

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Retrieve the details of a translation pattern for a given organization.

Requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • translation_id (str) – Retrieve the translation pattern with the matching ID.

  • location_id (str) – Unique identifier for the location. Only used when getting details for location level translation patterns

  • org_id (str) – ID of the organization containing the translation pattern.

Return type:

TranslationPattern

async update(pattern: TranslationPattern, location_id: str = None, org_id: str = None)[source]

Modify a Translation Pattern

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Modify a translation pattern for a given organization. To update a location level translation pattern the location.id attribute of the pattern has to be set

Requires a full administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • pattern (TranslationPattern) – Translation pattern to be updated

  • location_id (str) – Unique identifier for the location. Only used when updating location level translation pattern

  • org_id (str) – ID of the organization containing the translation pattern.

Return type:

None

async delete(translation_id: str, location_id: str = None, org_id: str = None)[source]

Delete a Translation Pattern

A translation pattern lets you manipulate dialed digits before routing a call and applies to outbound calls only.

Delete a translation pattern for a given organization.

Requires a full administrator auth token with the spark-admin:telephony_config_write scope.

Parameters:
  • translation_id (str) – Delete a translation pattern with the matching ID.

  • location_id – Unique identifier for the location. Only used when deleting location level translation patterns

  • org_id (str) – ID of the organization containing the translation pattern.

Return type:

None

base = 'telephony/config/callRouting/translationPatterns'
class wxc_sdk.as_api.AsTrunkApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for everything trunks

list_gen(name: str = None, location_name: str = None, trunk_type: str = None, order: str = None, org_id: str = None, **params) AsyncGenerator[Trunk, None][source]

List all Trunks for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow ebex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Return the list of trunks matching the local gateway names.

  • location_name (str) – Return the list of trunks matching the location names.

  • trunk_type (str) – Return the list of trunks matching the trunk type.

  • order (str) – Order the trunks according to the designated fields. Available sort fields: name, locationName. Sort order is ascending by default

  • org_id (str)

Returns:

generator of Trunk instances

Return type:

Trunk

async list(name: str = None, location_name: str = None, trunk_type: str = None, order: str = None, org_id: str = None, **params) list[Trunk][source]

List all Trunks for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow ebex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • name (str) – Return the list of trunks matching the local gateway names.

  • location_name (str) – Return the list of trunks matching the location names.

  • trunk_type (str) – Return the list of trunks matching the trunk type.

  • order (str) – Order the trunks according to the designated fields. Available sort fields: name, locationName. Sort order is ascending by default

  • org_id (str)

Returns:

generator of Trunk instances

Return type:

Trunk

async create(name: str, location_id: str, password: str, trunk_type: TrunkType = <TrunkType.registering: 'REGISTERING'>, dual_identity_support_enabled: bool = None, device_type: TrunkDeviceType = None, address: str = None, domain: str = None, port: int = None, max_concurrent_calls: int = None, p_charge_info_support_policy: PChargeInfoSupportPolicy = None, org_id: str = None) str[source]

Create a Trunk for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Creating a trunk requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – A unique name for the trunk.

  • location_id (str) – ID of location associated with the trunk.

  • password (str) – A password to use on the trunk.

  • trunk_type (TrunkType) – Trunk Type associated with the trunk.

  • dual_identity_support_enabled (bool) – Dual Identity Support setting impacts the handling of the From header and P-Asserted-Identity header when sending an initial SIP INVITE to the trunk for an outbound call.

  • device_type (TrunkDeviceType) – Device type associated with trunk.

  • address (str) – FQDN or SRV address. Required to create a static certificate-based trunk.

  • domain (str) – Domain name. Required to create a static certificate based trunk.

  • port (int) – FQDN port. Required to create a static certificate-based trunk.

  • max_concurrent_calls (int) – Max Concurrent call. Required to create a static certificate based trunk.

  • p_charge_info_support_policy (PChargeInfoSupportPolicy) – P-Charge Info Support policy.

  • org_id (str) – Organization to which trunk belongs.

Returns:

id of new trunk

Return type:

str

async details(trunk_id: str, org_id: str = None) TrunkDetail[source]

Get a Trunk for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving a trunk requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

trunk details

Return type:

TrunkDetail

async update(trunk_id: str, name: str, password: str, dual_identity_support_enabled: bool = None, max_concurrent_calls: int = None, p_charge_info_support_policy: PChargeInfoSupportPolicy = None, org_id: str = None)[source]

Modify a Trunk for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Modifying a trunk requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • trunk_id

  • password (str) – A password to use on the trunk.

  • dual_identity_support_enabled (bool) – Dual Identity Support setting impacts the handling of the From header and P-Asserted-Identity header when sending an initial SIP INVITE to the trunk for an outbound call.

  • max_concurrent_calls (int) – Max Concurrent call. Required to create a static certificate based trunk.

  • p_charge_info_support_policy (PChargeInfoSupportPolicy) – P-Charge Info Support policy.

  • org_id (str) – Organization to which trunk belongs.

async delete_trunk(trunk_id: str, org_id: str = None)[source]

Delete a Trunk for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Deleting a trunk requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

async trunk_types(org_id: str = None) list[TrunkTypeWithDeviceType][source]

List all TrunkTypes with DeviceTypes for the organization.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy. Trunk Types are Registering or Certificate Based and are configured in CallManager.

Retrieving trunk types requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id

Returns:

trunk types

Return type:

list[TrunkTypeWithDeviceType]

async usage(trunk_id: str, org_id: str = None) TrunkUsage[source]

Get Local Gateway Usage Count

A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

usage counts

Return type:

TrunkUsage

usage_call_to_extension_gen(trunk_id: str, order: str = None, name: list[str] = None, org_id: str = None, **params) AsyncGenerator[IdAndName, None][source]

Get local gateway call to on-premises extension usage for a trunk.

A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • order (str) – Order the trunks according to the designated fields. Available sort fields are name, and locationName. Sort order is ascending by default

  • name (list[str]) – Return the list of trunks matching the local gateway names

  • org_id (str) – Organization to which the trunk belongs.

Returns:

generator of wxc_sdk.common.IdAndName instances

async usage_call_to_extension(trunk_id: str, order: str = None, name: list[str] = None, org_id: str = None, **params) list[IdAndName][source]

Get local gateway call to on-premises extension usage for a trunk.

A trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group which is a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • order (str) – Order the trunks according to the designated fields. Available sort fields are name, and locationName. Sort order is ascending by default

  • name (list[str]) – Return the list of trunks matching the local gateway names

  • org_id (str) – Organization to which the trunk belongs.

Returns:

generator of wxc_sdk.common.IdAndName instances

usage_dial_plan_gen(trunk_id: str, order: str = None, name: list[str] = None, org_id: str = None, **params) AsyncGenerator[IdAndName, None][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • order (str) – Order the trunks according to the designated fields. Available sort fields are name, and locationName. Sort order is ascending by default

  • name (list[str]) – Return the list of trunks matching the local gateway names

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

async usage_dial_plan(trunk_id: str, order: str = None, name: list[str] = None, org_id: str = None, **params) list[IdAndName][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • order (str) – Order the trunks according to the designated fields. Available sort fields are name, and locationName. Sort order is ascending by default

  • name (list[str]) – Return the list of trunks matching the local gateway names

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

usage_location_pstn_gen(trunk_id: str, org_id: str = None) AsyncGenerator[IdAndName, None][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

async usage_location_pstn(trunk_id: str, org_id: str = None) list[IdAndName][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

usage_route_group_gen(trunk_id: str, org_id: str = None) AsyncGenerator[IdAndName, None][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

async usage_route_group(trunk_id: str, org_id: str = None) list[IdAndName][source]

Get Local Gateway Dial Plan Usage for a Trunk.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Retrieving this information requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • trunk_id (str) – ID of the trunk.

  • org_id (str) – Organization to which trunk belongs.

Returns:

id and name objects

async validate_fqdn_and_domain(address: str, domain: str, port: int = None, org_id: str = None)[source]

Validate Local Gateway FQDN and Domain for the organization trunks.

A Trunk is a connection between Webex Calling and the premises, which terminates on the premises with a local gateway or other supported device. The trunk can be assigned to a Route Group - a group of trunks that allow Webex Calling to distribute calls over multiple trunks or to provide redundancy.

Validating Local Gateway FQDN and Domain requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • address (str) – FQDN or SRV address of the trunk.

  • domain (str) – Domain name of the trunk.

  • port (int) – FQDN port of the trunk

  • org_id (str) – Organization to which trunk types belongs.

base = 'telephony/config/premisePstn/trunks'
class wxc_sdk.as_api.AsUpdateDynamicDeviceSettingsJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(org_id: str = None, **params) AsyncGenerator[StartJobResponse, None][source]

List dynamic device settings jobs.

Lists all the jobs for job type dynamicdevicesettings for the given organization in order of most recent one to oldest one irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of dynamic device settings jobs for this organization.

Returns:

Generator yielding StartJobResponse instances

async list(org_id: str = None, **params) list[StartJobResponse][source]

List dynamic device settings jobs.

Lists all the jobs for job type dynamicdevicesettings for the given organization in order of most recent one to oldest one irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of dynamic device settings jobs for this organization.

Returns:

Generator yielding StartJobResponse instances

async update_across_org_or_location(tags: list[DynamicSettingsUpdateJobItem], location_id: str = None, org_id: str = None) StartJobResponse[source]

Updates dynamic Device Settings Across Organization Or Location

Creates a job to update device settings at location or organization level.

The job runs asynchronously and persistently, applying the requested settings in bulk to all relevant devices, which may belong to multiple families as specified in the request. If a locationId is provided, only devices in that location are affected.

A unique job ID is returned to track status and errors.

Only one job can run per customer per organization at a time. Additionally, this job cannot run in parallel with other device jobs such as Call device settings and `Rebuild Phones

Running a job requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • tags (list[DynamicSettingsUpdateJobItem]) – Array of tag identifiers for settings to be updated. Each setting is identified by a familyOrModelDisplayName and tag. Supports updating multiple settings across different device families in a single request.

  • location_id (str) – If present, the requested settings will be updated to devices under this location.

  • org_id (str) – Apply update dynamic device settings for all the devices under this organization.

Return type:

StartJobResponse

async status(job_id: str) StartJobResponse[source]

Get Device Dynamic Settings Job Status

Get dynamic device settings job status.

Provides details of the job with jobId of jobType dynamicdevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

job_id (str) – Retrieve job details for this jobId.

Return type:

StartJobResponse

errors_gen(job_id: str, org_id: str = None, **params) AsyncGenerator[JobErrorItem, None][source]

List Dynamic Device Settings Job Errors

List Update dynamic device settings job errors.

Lists all error details of the job with jobId of jobType dynamicdevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job details for this jobId.

  • org_id (str) – Retrieve the status of job for this organization.

Returns:

Generator yielding JobErrorItem instances

async errors(job_id: str, org_id: str = None, **params) list[JobErrorItem][source]

List Dynamic Device Settings Job Errors

List Update dynamic device settings job errors.

Lists all error details of the job with jobId of jobType dynamicdevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job details for this jobId.

  • org_id (str) – Retrieve the status of job for this organization.

Returns:

Generator yielding JobErrorItem instances

base = 'telephony/config'
class wxc_sdk.as_api.AsUpdateRoutingPrefixJobsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

list_gen(org_id: str = None) AsyncGenerator[StartJobResponse, None][source]

Get a List of Update Routing Prefix jobs

Get the list of all update routing prefix jobs in an organization.

The routing prefix is associated with a location and is used to route calls belonging to that location. This API allows users to retrieve all the update routing prefix jobs in an organization.

Retrieving the list of update routing prefix jobs in an organization requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of update routing prefix jobs in this organization.

Return type:

list[StartJobResponse]

async list(org_id: str = None) list[StartJobResponse][source]

Get a List of Update Routing Prefix jobs

Get the list of all update routing prefix jobs in an organization.

The routing prefix is associated with a location and is used to route calls belonging to that location. This API allows users to retrieve all the update routing prefix jobs in an organization.

Retrieving the list of update routing prefix jobs in an organization requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of update routing prefix jobs in this organization.

Return type:

list[StartJobResponse]

async status(job_id: str, org_id: str = None) StartJobResponse[source]

Get the job status of Update Routing Prefix job

Get the status of the update routing prefix job by its job ID.

The routing prefix is associated with a location and is used to route calls belonging to that location. This API allows users to check the status of update routing prefix job by job ID in an organization.

Checking the status of the update routing prefix job in an organization requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Check update routing prefix job status in this organization.

Return type:

StartJobResponse

errors_gen(job_id: str, org_id: str = None) AsyncGenerator[JobErrorItem, None][source]

Get job errors for update routing prefix job

GET job errors for the update routing prefix job in an organization.

The routing prefix is associated with a location and is used to route calls belonging to that location. This API allows users to retrieve all the errors of the update routing prefix job by job ID in an organization.

Retrieving all the errors of the update routing prefix job in an organization requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for update routing prefix job in this organization.

async errors(job_id: str, org_id: str = None) list[JobErrorItem][source]

Get job errors for update routing prefix job

GET job errors for the update routing prefix job in an organization.

The routing prefix is associated with a location and is used to route calls belonging to that location. This API allows users to retrieve all the errors of the update routing prefix job by job ID in an organization.

Retrieving all the errors of the update routing prefix job in an organization requires a full, user, or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for update routing prefix job in this organization.

base = 'telephony/config/jobs/updateRoutingPrefix'
class wxc_sdk.as_api.AsVirtualExtensionsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Features: Virtual Extensions

Features: Virtual Extensions allow assigning extensions to frequently called external numbers for simplified dialing within Webex Calling.

Viewing these read-only organization settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Modifying these organization settings requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

A partner administrator can retrieve or change settings in a customer’s organization using the optional orgId query parameter.

list_range_gen(order: str = None, name: str = None, prefix: str = None, location_id: str = None, org_level_only: bool = None, org_id: str = None, **params) AsyncGenerator[VirtualExtensionRange, None][source]

Get a list of a Virtual Extension Range

Retrieves the list of Virtual Extension Ranges.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Retrieving a virtual extension range requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • order (str) – Sort the list of virtual extension ranges by name or prefix, either ASC or DSC. Default sort order is ASC.

  • name (str) – Filter the list of virtual extension ranges by name.

  • prefix (str) – Filter the list of virtual extension ranges by prefix.

  • location_id (str) – Filter the list of virtual extension ranges by location ID. Only one of the locationId and OrgLevelOnly query parameters is allowed at the same time.

  • org_level_only (bool) – Filter the list of virtual extension ranges by organization level. If orgLevelOnly is true, return only the organization level virtual extension ranges.

  • org_id (str) – Unique identifier for the organization.

Returns:

Generator yielding GetVirtualExtensionRangeListObject instances

async list_range(order: str = None, name: str = None, prefix: str = None, location_id: str = None, org_level_only: bool = None, org_id: str = None, **params) list[VirtualExtensionRange][source]

Get a list of a Virtual Extension Range

Retrieves the list of Virtual Extension Ranges.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Retrieving a virtual extension range requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • order (str) – Sort the list of virtual extension ranges by name or prefix, either ASC or DSC. Default sort order is ASC.

  • name (str) – Filter the list of virtual extension ranges by name.

  • prefix (str) – Filter the list of virtual extension ranges by prefix.

  • location_id (str) – Filter the list of virtual extension ranges by location ID. Only one of the locationId and OrgLevelOnly query parameters is allowed at the same time.

  • org_level_only (bool) – Filter the list of virtual extension ranges by organization level. If orgLevelOnly is true, return only the organization level virtual extension ranges.

  • org_id (str) – Unique identifier for the organization.

Returns:

Generator yielding GetVirtualExtensionRangeListObject instances

async create_range(name: str, prefix: str, patterns: list[str] = None, location_id: str = None, org_id: str = None) str[source]

Create a Virtual Extension Range

Create a new Virtual Extension Range for the given organization or location.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Virtual extension range can be set up at the organization or location level.

Creating a virtual extension range requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – Name of the virtual extension range. This is a unique name for the virtual extension range.

  • prefix (str) – Prefix used for a virtual extension range. Prefix works in Standard and Enhanced modes. In Standard mode, it must be E.164 and unique. In Enhanced mode, it can be E.164 or non-E.164.

  • patterns (list[str]) – List of virtual extension patterns. You can add up to 100 patterns at a time. Extension patterns can include one or more right-justified wildcards “X” matching any digit.

  • location_id (str) – ID of the location to which the virtual extension range is assigned. The location ID is a unique identifier for the location in Webex Calling. This is set only when location level virtual extension range is added.

  • org_id (str) – Unique identifier for the organization.

Return type:

str

async validate_range(location_id: str = None, name: str = None, prefix: str = None, patterns: list[str] = None, range_id: str = None, org_id: str = None) ValidateVirtualExtensionRange[source]

Validate the prefix and extension pattern for a Virtual Extension Range.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Validating a prefix and extension pattern for a Virtual Extension Range requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – ID of the location to which the virtual extension range is assigned. The location ID is a unique identifier for the location in Webex Calling.

  • name (str) – Name of the virtual extension range. This is a unique name for the virtual extension range.

  • prefix (str) – Prefix used for a virtual extension range.

  • patterns (list[str]) – List of virtual extension patterns. The maximum number of patterns supported at a time is 100.

  • range_id (str) – ID of the virtual extension range. This is mandatory when validating for an existing virtual extension range, not present when validating a new virtual extension range before adding it.

  • org_id (str) – Unique identifier for the organization.

Return type:

ValidateVirtualExtensionRange

async delete_range(extension_range_id: str, org_id: str = None)[source]

Delete a Virtual Extension Range

Delete a virtual extension range for the given extension range ID.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Deleting a virtual extension range requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • extension_range_id (str) – ID of the virtual extension range.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

async details_range(extension_range_id: str, org_id: str = None) VirtualExtensionRange[source]

Get details of a Virtual Extension Range

Retrieve virtual extension range details for the given extension range ID.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Retrieving a virtual extension range requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • extension_range_id (str) – ID of the virtual extension range.

  • org_id (str) – Unique identifier for the organization.

Return type:

VirtualExtensionRange

async modify_range(extension_range_id: str, name: str = None, prefix: str = None, patterns: list[str] = None, action: VirtualExtensionRangeAction = None, org_id: str = None)[source]

Modify Virtual Extension Range

Modify virtual extension range for the given extension range ID.

Virtual extension ranges integrate remote workers on a separate telephony system into Webex Calling and enable extension dialing. Using these ranges, you can define patterns that can be used to route calls at a location level or an organization level. You are allowed to define virtual extensions ranges in addition to individual virtual extensions. This works in both Standard and Enhanced modes

Modifying a virtual extension range requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • extension_range_id (str) – ID of the virtual extension range.

  • name (str) – Name of the virtual extension range. This is a unique name for the virtual extension range.

  • prefix (str) – Prefix used for a virtual extension range.

  • patterns (list[str]) – The pattern to be added, replaced, or removed from a virtual extension range. The maximum number of patterns supported at a time is 100.

  • action (VirtualExtensionRangeAction) – Action to be performed on the virtual extension range. It can be either ADD, REMOVE or REPLACE. This is mandatory when patterns are provided.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

list_extensions_gen(order: str = None, extension: str = None, phone_number: str = None, name: str = None, location_name: str = None, location_id: str = None, org_level_only: bool = None, org_id: str = None, **params) AsyncGenerator[VirtualExtension, None][source]

Read the List of Virtual Extensions

Retrieve virtual extensions associated with a specific customer.

The GET Virtual Extensions API allows administrators to retrieve a list of virtual extensions configured within their organization. Virtual extensions enable users to dial extension numbers that route to external phone numbers, such as those of remote workers or frequently contacted clients. This API returns key information including the extension, associated phone number (in E.164 format), display name, and the location to which the virtual extension belongs The API supports filtering by various parameters, such as extension number, phone number, and location name. The results can be paginated using the max and start parameters, and the order of the results can be specified using the order parameter.

Retrieving a Virtual Extension requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • order (str) – Order the list of virtual extensions in ascending or descending order. Default is ascending.

  • extension (str) – Filter the list of virtual extensions by extension number.

  • phone_number (str) – Filter the list of virtual extensions by phone number.

  • name (str) – Filter the list of virtual extensions by name. This can be either first name or last name.

  • location_name (str) – Filter the list of virtual extensions by location name.(Only one of the locationName, locationId, and OrgLevelOnly query parameters is allowed at the same time.)

  • location_id (str) – Filter the list of virtual extensions by location ID.

  • org_level_only (bool) – Filter the list of virtual extensions by organization level. If orgLevelOnly is true, return only the organization level virtual extensions.

  • org_id (str) – Unique identifier for the organization.

Returns:

Generator yielding GetVirtualExtensionObject instances

async list_extensions(order: str = None, extension: str = None, phone_number: str = None, name: str = None, location_name: str = None, location_id: str = None, org_level_only: bool = None, org_id: str = None, **params) list[VirtualExtension][source]

Read the List of Virtual Extensions

Retrieve virtual extensions associated with a specific customer.

The GET Virtual Extensions API allows administrators to retrieve a list of virtual extensions configured within their organization. Virtual extensions enable users to dial extension numbers that route to external phone numbers, such as those of remote workers or frequently contacted clients. This API returns key information including the extension, associated phone number (in E.164 format), display name, and the location to which the virtual extension belongs The API supports filtering by various parameters, such as extension number, phone number, and location name. The results can be paginated using the max and start parameters, and the order of the results can be specified using the order parameter.

Retrieving a Virtual Extension requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • order (str) – Order the list of virtual extensions in ascending or descending order. Default is ascending.

  • extension (str) – Filter the list of virtual extensions by extension number.

  • phone_number (str) – Filter the list of virtual extensions by phone number.

  • name (str) – Filter the list of virtual extensions by name. This can be either first name or last name.

  • location_name (str) – Filter the list of virtual extensions by location name.(Only one of the locationName, locationId, and OrgLevelOnly query parameters is allowed at the same time.)

  • location_id (str) – Filter the list of virtual extensions by location ID.

  • org_level_only (bool) – Filter the list of virtual extensions by organization level. If orgLevelOnly is true, return only the organization level virtual extensions.

  • org_id (str) – Unique identifier for the organization.

Returns:

Generator yielding GetVirtualExtensionObject instances

async create_extension(display_name: str, phone_number: str, extension: str, first_name: str = None, last_name: str = None, location_id: str = None, org_id: str = None) str[source]

Create a Virtual Extension

Create new Virtual Extension for the given organization or location.

You can set up virtual extensions at the organization or location level. The organization level enables everyone across your organization to dial the same extension number to reach someone. You can use the location level virtual extension like any other extension assigned to the specific location. Users at the specific location can dial the extension. However, users at other locations can reach the virtual extension by dialing the ESN.

Creating a virtual extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write and identity:contacts_rw.

Parameters:
  • display_name (str) – Display name of the person at the virtual extension.

  • phone_number (str) – Directory number of the virtual extension.

  • extension (str) – Extension of the virtual extension.

  • first_name (str) – First name of the person at the virtual extension.

  • last_name (str) – Last name of the person at the virtual extension.

  • location_id (str) – ID of the location to which the virtual extension is assigned. The location ID is a unique identifier for the location in Webex Calling.

  • org_id (str) – Unique identifier for the organization.

Return type:

str

async validate_external_phone_number(phone_numbers: list[str], org_id: str = None) ValidatePhoneNumber[source]

Validate an external phone number

Validate external phone number for the given organization.

This API is designed to validate external phone numbers before they are assigned as virtual extensions for a customer. It ensures that the provided numbers are properly formatted, eligible for use, and not already in use within the system. This validation is typically part of a pre-check process during provisioning or number assignment workflows, helping administrators or systems prevent conflicts or errors related to number reuse or format issues.

Creating a virtual extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • phone_numbers (list[str]) – List of external phone numbers to be validated.

  • org_id (str) – Unique identifier for the organization.

Return type:

ValidatePhoneNumber

async get_extension_settings(org_id: str = None) VirtualExtensionMode[source]

Get Virtual extension settings

Retrieve Virtual Extension settings for the given Org.

This API retrieves the virtual extension mode settings configured for a given organization. Virtual extensions can operate in two modes: STANDARD and ENHANCED. The selected mode determines how the system handles routing and signaling for virtual extensions. By default, the virtual extensions that you create use the Standard mode. Another mode, enhanced signaling mode, is available to all customers, however, virtual extensions won’t function properly in this mode unless your PSTN provider supports special network signaling extensions and there aren’t many PSTN providers that do.

Retrieving a Virtual Extension settings requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Unique identifier for the organization.

Return type:

VirtualExtensionMode

async modify_extension_settings(mode: VirtualExtensionMode, org_id: str = None)[source]

Modify Virtual Extension Settings

Update Virtual Extension details for the given extension ID.

This endpoint updates the virtual extension settings for an organization. It is primarily used to configure the operating mode for virtual extensions. Modes determine how virtual extensions are assigned or managed within the system.

Updating a Virtual Extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:

mode – Mode of the virtual extension. It can be either STANDARD or ENHANCED.

  • STANDARD - Standard Virtual extension mode in which virtual extensions must be associated with a valid E.164 number, but this requires no enhanced signaling support from the PSTN provider.

  • ENHANCED - Enhanced signaling mode: only a few PSTN providers support this special network signaling extension.

Parameters:

org_id (str) – Unique identifier for the organization.

Return type:

None

async delete_extension(extension_id: str, org_id: str = None)[source]

Delete a Virtual Extension

Delete Virtual Extension using the extension ID.

This API permanently deletes a virtual extension from the organization. Once deleted, the extension will no longer route calls to the external phone number, and users won’t be able to reach it via the assigned extension.

Deleting a Virtual Extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write and identity:contacts_rw.

Parameters:
  • extension_id (str) – ID of the virtual extension.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

async details_extension(extension_id: str, org_id: str = None) VirtualExtension[source]

Get a Virtual Extension

Retrieve Virtual Extension details for the given extension ID.

Virtual extensions integrate remote workers on separate telephony systems into Webex Calling, enabling users to reach them via extension dialing. This endpoint allows administrators to retrieve configuration details for a specific virtual extension, ensuring visibility into the mapping between extensions and external phone numbers.

Retrieving a Virtual Extension requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • extension_id (str) – ID of the virtual extension.

  • org_id (str) – Unique identifier for the organization.

Return type:

VirtualExtension

async update_extension(extension_id: str, first_name: str = None, last_name: str = None, display_name: str = None, phone_number: str = None, extension: str = None, org_id: str = None)[source]

Update a Virtual Extension

Update Virtual Extension details for the given extension ID.

This API updates the configuration of an existing virtual extension identified by its unique extension ID. Administrators can modify fields such as the extension, associated phone number (in E.164 format), display name, and location etc.

Updating a Virtual Extension requires a full administrator or location administrator auth token with a scope of spark-admin:telephony_config_write and identity:contacts_rw.

Parameters:
  • extension_id (str) – ID of the virtual extension.

  • first_name (str) – First name of the person at the virtual extension.

  • last_name (str) – Last name of the person at the virtual extension.

  • display_name (str) – Display name of the person at the virtual extension.

  • phone_number (str) – Directory number of the virtual extension.

  • extension (str) – Extension of the virtual extension.

  • org_id (str) – Unique identifier for the organization.

Return type:

None

base = 'telephony/config'
class wxc_sdk.as_api.AsVirtualLinesApi(session: AsRestSession)[source]

Bases: AsApiChild

__init__(session: AsRestSession) None[source]
agent_caller_id: AsAgentCallerIdApi

agent caller id Api

available_numbers: AsAvailableNumbersApi

Available numbers for a virtual line

barge: AsBargeApi

barge settings

call_bridge: AsCallBridgeApi

Call bridge settings

call_intercept: AsCallInterceptApi

call intercept settings

call_recording: AsCallRecordingApi

call recording settings

call_waiting: AsCallWaitingApi

call waiting settings

caller_id: AsCallerIdApi

caller id settings

dnd: AsDndApi

DND settings

ecbn: AsECBNApi

ECBN settings

forwarding: AsPersonForwardingApi

forwarding settings

music_on_hold: AsMusicOnHoldApi

music on hold settings

permissions_in: AsIncomingPermissionsApi

incoming permissions

permissions_out: AsOutgoingPermissionsApi

outgoing permissions

privacy: AsPrivacyApi

Privacy Settings

push_to_talk: AsPushToTalkApi

Push to Talk Settings

voicemail: AsVoicemailApi

Voicemail Settings

async create(first_name: str, last_name: str, location_id: str, display_name: str = None, phone_number: str = None, extension: str = None, caller_id_last_name: str = None, caller_id_first_name: str = None, caller_id_number: str = None, org_id: str = None) str[source]

Create a Virtual Line

Create new Virtual Line for the given location.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Creating a virtual line requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • first_name (str) – First name defined for a virtual line. Minimum length is 1. Maximum length is 30.

  • last_name (str) – Last name defined for a virtual line. Minimum length is 1. Maximum length is 30.

  • location_id (str) – ID of location for virtual line.

  • display_name (str) – Display name defined for a virtual line.

  • phone_number (str) – Phone number of a virtual line. Minimum length is 1. Maximum length is 23. Either phoneNumber or extension is mandatory.

  • extension (str) – Extension of a virtual line. Minimum length is 2. Maximum length is 10. Either phoneNumber or extension is mandatory.

  • caller_id_last_name (str) – Last name used in the Calling Line ID and for dial-by-name functions. Minimum length is 1. Maximum length is 30.

  • caller_id_first_name (str) – First name used in the Calling Line ID and for dial-by-name functions. Minimum length is 1. Maximum length is 30.

  • caller_id_number (str) – Phone number to appear as the CLID for all calls. Minimum length is 1. Maximum length is 23.

  • org_id (str) – Create the virtual line for this organization.

Return type:

str

async delete(virtual_line_id: str, org_id: str = None)[source]

Delete a Virtual Line

Delete the designated Virtual Line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Deleting a virtual line requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • virtual_line_id (str) – Delete the virtual line with the matching ID.

  • org_id (str) – Delete the virtual line from this organization.

Return type:

None

async details(virtual_line_id: str, org_id: str = None) VirtualLine[source]

Get Details for a Virtual Line

Retrieve Virtual Line details.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Retrieving virtual line details requires a full or user or read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • virtual_line_id (str) – Retrieve settings for a virtual line with the matching ID.

  • org_id (str) – Retrieve virtual line settings from this organization.

Return type:

GetVirtualLineObject

async update(virtual_line_id: str, first_name: str = None, last_name: str = None, display_name: str = None, phone_number: str = None, extension: str = None, announcement_language: str = None, caller_id_last_name: str = None, caller_id_first_name: str = None, caller_id_number: str = None, time_zone: str = None, org_id: str = None)[source]

Update a Virtual Line

Update the designated Virtual Line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Updating a virtual line requires a full or user or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • virtual_line_id (str) – Update settings for a virtual line with the matching ID.

  • first_name (str) – First name defined for a virtual line. Minimum length is 1. Maximum length is 30.

  • last_name (str) – Last name defined for a virtual line. Minimum length is 1. Maximum length is 30.

  • display_name (str) – Display name defined for a virtual line.

  • phone_number (str) – Phone number of a virtual line. Minimum length is 1. Maximum length is 23. Either phoneNumber or extension is mandatory.

  • extension (str) – Extension of a virtual line. Minimum length is 2. Maximum length is 10. Either phoneNumber or extension is mandatory.

  • announcement_language (str) – Virtual Line’s announcement language.

  • caller_id_last_name (str) – Last name used in the Calling Line ID and for dial-by-name functions. Minimum length is 1. Maximum length is 30.

  • caller_id_first_name (str) – First name used in the Calling Line ID and for dial-by-name functions. Minimum length is 1. Maximum length is 30.

  • caller_id_number (str) – Phone number to appear as the CLID for all calls. Minimum length is 1. Maximum length is 23.

  • time_zone (str) – Time zone defined for the virtual line.

  • org_id (str) – Update virtual line settings from this organization.

Return type:

None

async get_phone_number(virtual_line_id: str, org_id: str = None) VirtualLineNumberPhoneNumber[source]

Get Phone Number assigned for a Virtual Line

Get details on the assigned phone number and extension for the virtual line.

Retrieving virtual line phone number details requires a full or user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • virtual_line_id (str) – Retrieve settings for a virtual line with the matching ID.

  • org_id (str) – Retrieve virtual line settings from this organization.

Return type:

GetVirtualLineNumberObjectPhoneNumber

Update Directory search for a Virtual Line

Update the directory search for a designated Virtual Line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Updating Directory search for a virtual line requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • virtual_line_id (str) – Update settings for a virtual line with the matching ID.

  • enabled (bool) – Whether or not the directory search for a virtual line is enabled.

  • org_id (str) – Update virtual line settings from this organization.

Return type:

None

async assigned_devices(virtual_line_id: str, org_id: str = None) VirtualLineDevices[source]

Get List of Devices assigned for a Virtual Line

Retrieve Device details assigned for a virtual line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Retrieving the assigned device detials for a virtual line requires a full or user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • virtual_line_id (str) – Retrieve settings for a virtual line with the matching ID.

  • org_id (str) – Retrieve virtual line settings from this organization.

Return type:

VirtualLineDevices

async dect_networks(virtual_line_id: str, org_id: str = None) list[AssignedDectNetwork][source]

Get List of Dect Networks Handsets for a Virtual Line

Retrieve DECT Network details assigned for a virtual line.

Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users.

Retrieving the assigned device detials for a virtual line requires a full or user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • virtual_line_id (str) – Retrieve settings for a virtual line with the matching ID.

  • org_id (str) – Retrieve virtual line settings from this organization.

Return type:

list[AssignedDectNetwork]

list_gen(org_id: str = None, location_id: list[str] = None, id: list[str] = None, owner_name: list[str] = None, phone_number: list[str] = None, location_name: list[str] = None, order: list[str] = None, has_device_assigned: bool = None, has_extension_assigned: bool = None, has_dn_assigned: bool = None, **params) AsyncGenerator[VirtualLine, None][source]

List all Virtual Lines for the organization. Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users. Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – List virtual lines for this organization.

  • location_id (list[str]) – Return the list of virtual lines matching these location ids. Example for multiple values - ?locationId=locId1&locationId=locId2.

  • id (list[str]) – Return the list of virtual lines matching these virtualLineIds.

  • owner_name (list[str]) – Return the list of virtual lines matching these owner names.

  • phone_number (list[str]) – Return the list of virtual lines matching these phone numbers.

  • location_name (list[str]) – Return the list of virtual lines matching the location names.

  • order (list[str]) – Return the list of virtual lines based on the order. Default sort will be in an Ascending order. Maximum 3 orders allowed at a time.

  • has_device_assigned (bool) – If true, includes only virtual lines with devices assigned. When not explicitly specified, the default includes both virtual lines with devices assigned and not assigned.

  • has_extension_assigned (bool) – If true, includes only virtual lines with an extension assigned. When not explicitly specified, the default includes both virtual lines with extension assigned and not assigned.

  • has_dn_assigned (bool) – If true, includes only virtual lines with an assigned directory number, also known as a Dn. When not explicitly specified, the default includes both virtual lines with a Dn assigned and not assigned.

async list(org_id: str = None, location_id: list[str] = None, id: list[str] = None, owner_name: list[str] = None, phone_number: list[str] = None, location_name: list[str] = None, order: list[str] = None, has_device_assigned: bool = None, has_extension_assigned: bool = None, has_dn_assigned: bool = None, **params) list[VirtualLine][source]

List all Virtual Lines for the organization. Virtual line is a capability in Webex Calling that allows administrators to configure multiple lines to Webex Calling users. Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – List virtual lines for this organization.

  • location_id (list[str]) – Return the list of virtual lines matching these location ids. Example for multiple values - ?locationId=locId1&locationId=locId2.

  • id (list[str]) – Return the list of virtual lines matching these virtualLineIds.

  • owner_name (list[str]) – Return the list of virtual lines matching these owner names.

  • phone_number (list[str]) – Return the list of virtual lines matching these phone numbers.

  • location_name (list[str]) – Return the list of virtual lines matching the location names.

  • order (list[str]) – Return the list of virtual lines based on the order. Default sort will be in an Ascending order. Maximum 3 orders allowed at a time.

  • has_device_assigned (bool) – If true, includes only virtual lines with devices assigned. When not explicitly specified, the default includes both virtual lines with devices assigned and not assigned.

  • has_extension_assigned (bool) – If true, includes only virtual lines with an extension assigned. When not explicitly specified, the default includes both virtual lines with extension assigned and not assigned.

  • has_dn_assigned (bool) – If true, includes only virtual lines with an assigned directory number, also known as a Dn. When not explicitly specified, the default includes both virtual lines with a Dn assigned and not assigned.

base = 'telephony/config/virtualLines'
class wxc_sdk.as_api.AsVoiceMessagingApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Voice Messaging APIs provide support for handling voicemail and message waiting indicators in Webex Calling. The APIs are limited to user access (no admin access), and all GET commands require the spark:calls_read scope, while the other commands require the spark:calls_write scope.

async summary() MessageSummary[source]

Get a summary of the voicemail messages for the user.

list_gen(line_owner_id: str = None, **params) AsyncGenerator[VoiceMessageDetails, None][source]

Get the list of all voicemail messages for the user.

Parameters:

line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async list(line_owner_id: str = None, **params) list[VoiceMessageDetails][source]

Get the list of all voicemail messages for the user.

Parameters:

line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async delete(message_id: str)[source]

Delete a specific voicemail message for the user.

Parameters:

message_id (str) – The message identifier of the voicemail message to delete

async mark_as_read(message_id: str, line_owner_id: str = None)[source]

Update the voicemail message(s) as read for the user. If the messageId is provided, then only mark that message as read. Otherwise, all messages for the user are marked as read.

Parameters:
  • message_id (str) – The voicemail message identifier of the message to mark as read. If the messageId is not provided, then all voicemail messages for the user are marked as read.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

async mark_as_unread(message_id: str, line_owner_id: str = None)[source]

Update the voicemail message(s) as unread for the user. If the messageId is provided, then only mark that message as unread. Otherwise, all messages for the user are marked as unread.

Parameters:
  • message_id (str) – The voicemail message identifier of the message to mark as unread. If the messageId is not provided, then all voicemail messages for the user are marked as unread.

  • line_owner_id (str) – The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned by the user invoking the API.

base = 'telephony/voiceMessages'
class wxc_sdk.as_api.AsVoicePortalApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

location voice portal API

async read(location_id: str, org_id: str = None) VoicePortalSettings[source]

Get VoicePortal

Retrieve Voice portal information for the location.

Voice portals provide an interactive voice response (IVR) system so administrators can manage auto attendant announcements.

Retrieving voice portal information for an organization requires a full read-only administrator or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location to which the voice portal belongs.

  • org_id (str) – Organization to which the voice portal belongs.

Returns:

location voice portal settings

Return type:

VoicePortalSettings

async update(location_id: str, settings: VoicePortalSettings, passcode: str = None, org_id: str = None)[source]

Update VoicePortal

Update Voice portal information for the location.

Voice portals provide an interactive voice response (IVR) system so administrators can manage auto attendant announcements.

Updating voice portal information for organization and/or rules requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location to which the voice portal belongs.

  • settings (VoicePortalSettings) – new settings

  • passcode (str) – new passcode

  • org_id (str) – Organization to which the voice portal belongs.

available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get VoicePortal Available Phone Numbers

List service and standard numbers that are available to be assigned as the location voice portal’s phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get VoicePortal Available Phone Numbers

List service and standard numbers that are available to be assigned as the location voice portal’s phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async passcode_rules(location_id: str, org_id: str = None) PasscodeRules[source]

Get VoicePortal Passcode Rule

Retrieve the voice portal passcode rule for a location.

Voice portals provide an interactive voice response (IVR) system so administrators can manage auto attendant announcements

Retrieving the voice portal passcode rule requires a full read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve voice portal passcode rules for this location.

  • org_id (str) – Retrieve voice portal passcode rules for this organization.

Returns:

passcode rules

Return type:

PasscodeRules

base = 'telephony/config/locations'
class wxc_sdk.as_api.AsVoicemailApi(*, session: AsRestSession, selector: ApiSelector = ApiSelector.person)[source]

Bases: AsPersonSettingsApiChild

API for person’s call voicemail settings. Also used for virtual lines and workspaces

feature: str | None = 'voicemail'
async read(entity_id: str, org_id: str = None) VoicemailSettings[source]

Read Voicemail Settings for an entity

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via Voicemail. Voicemail audio is sent in Waveform Audio File Format, .wav, format.

Optionally, notifications can be sent to a mobile phone via text or email. These notifications will not include the voicemail files.

This API requires a full, user, or read-only administrator auth token with a scope of spark-admin:people_read or a user auth token with spark:people_read scope can be used by a person to read their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Returns:

entity’s voicemail settings

Return type:

VoicemailSettings

async configure(entity_id: str, settings: VoicemailSettings, org_id: str = None)[source]

Configure Voicemail Settings for an entity

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via Voicemail. Voicemail audio is sent in Waveform Audio File Format, .wav, format.

Optionally, notifications can be sent to a mobile phone via text or email. These notifications will not include the voicemail files.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a person to update their settings. :return:

configure_busy_greeting(entity_id: str, content: BufferedReader | str, upload_as: str = None, org_id: str = None)[source]

Configure Busy Voicemail Greeting for an entity

Your request will need to be a multipart/form-data request rather than JSON, using the audio/wav Content-Type.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a person to update their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • content (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • upload_as (str) – filename for the content. Only required if content is a reader; has to be a .wav file name.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

configure_no_answer_greeting(entity_id: str, content: BufferedReader | str, upload_as: str = None, org_id: str = None)[source]

Configure No Answer Voicemail Greeting for an entity

Configure an entity’s No Answer Voicemail Greeting by uploading a Waveform Audio File Format, .wav, encoded audio file.

Your request will need to be a multipart/form-data request rather than JSON, using the audio/wav Content-Type.

This API requires a full or user administrator auth token with the spark-admin:people_write scope or a user auth token with spark:people_write scope can be used by a person to update their settings.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • content (Union[BufferedReader, str]) – the file to be uploaded, can be a path to a file or a buffered reader (opened file); if a reader referring to an open file is passed then make sure to open the file as binary b/c otherwise the content length might be calculated wrong

  • upload_as (str) – filename for the content. Only required if content is a reader; has to be a .wav file name.

  • org_id (str) – Entity is in this organization. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

async modify_passcode(entity_id: str, passcode: str, org_id: str = None)[source]

Modify an entity’s voicemail passcode.

Modifying an entity’s voicemail passcode requires a full administrator, user administrator or location administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • entity_id (str) – Modify voicemail passcode for this entity.

  • passcode (str) – Voicemail access passcode. The minimum length of the passcode is 6 and the maximum length is 30.

  • org_id (str) – Modify voicemail passcode for an entity in this organization.

Return type:

None

async reset_pin(entity_id: str, org_id: str = None)[source]

Reset Voicemail PIN

Reset a voicemail PIN for an entity.

The voicemail feature transfers callers to voicemail based on your settings. You can then retrieve voice messages via Voicemail. A voicemail PIN is used to retrieve your voicemail messages.

This API requires a full or user administrator or location administrator auth token with the`spark-admin:people_write` scope.

Parameters:
  • entity_id (str) – Unique identifier for the entity.

  • org_id (str) – ID of the organization in which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

base = ''
class wxc_sdk.as_api.AsVoicemailGroupsApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for voicemail groups

ep(location_id: str = None, path: str = None)[source]
Parameters:
  • location_id

  • path

Returns:

list_gen(location_id: str = None, name: str = None, phone_number: str = None, org_id: str = None, **params) AsyncGenerator[VoicemailGroup, None][source]

List the voicemail group information for the organization.

You can create a shared voicemail box and inbound fax box to assign to users or call routing features like an auto attendant, call queue, or hunt group.

Retrieving voicemail Group for the organization requires a full read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location to which the voicemail group belongs.

  • name (str) – Search (Contains) based on voicemail group name

  • phone_number (str) – Search (Contains) based on number or extension

  • org_id (str) – Organization to which the voicemail group belongs.

Returns:

yields ::class::VoicemailGroup instances

async list(location_id: str = None, name: str = None, phone_number: str = None, org_id: str = None, **params) list[VoicemailGroup][source]

List the voicemail group information for the organization.

You can create a shared voicemail box and inbound fax box to assign to users or call routing features like an auto attendant, call queue, or hunt group.

Retrieving voicemail Group for the organization requires a full read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Location to which the voicemail group belongs.

  • name (str) – Search (Contains) based on voicemail group name

  • phone_number (str) – Search (Contains) based on number or extension

  • org_id (str) – Organization to which the voicemail group belongs.

Returns:

yields ::class::VoicemailGroup instances

async details(location_id: str, voicemail_group_id: str, org_id: str = None) VoicemailGroupDetail[source]

Retrieve voicemail group details for a location.

Manage your voicemail group settings for a specific location, like when you want your voicemail to be active, message storage settings, and how you would like to be notified of new voicemail messages.

Retrieving voicemail group details requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Retrieve voicemail group details for this location.

  • voicemail_group_id (str) – Retrieve voicemail group details for this voicemail group ID.

  • org_id (str) – Retrieve voicemail group details for a customer location.

Returns:

Voicemail group settings

Type:

VoicemailGroupDetail

async update(location_id: str, voicemail_group_id: str, settings: VoicemailGroupDetail, org_id: str = None)[source]

Modifies the voicemail group location details for a particular location for a customer.

Manage your voicemail settings, like when you want your voicemail to be active, message storage settings, and how you would like to be notified of new voicemail messages.

Modifying the voicemail group location details requires a full, user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Modifies the voicemail group details for this location.

  • voicemail_group_id (str) – Modifies the voicemail group details for this voicemail group ID.

  • settings (VoicemailGroupDetail) – New settings

  • org_id (str) – Modifies the voicemail group details for a customer location.

async create(location_id: str, settings: VoicemailGroupDetail, org_id: str = None) str[source]

Create new voicemail group for the given location for a customer.

Voicemail group can be created for given location for a customer.

Creating voicemail group for the given location requires a full or user administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Create new voice mail group for this location.

  • settings (VoicemailGroupDetail) –

    settings for new voicemail group Example:

    settings = VoicemailGroupDetail.create(
                            name=vmg_name, extension=extension,
                            first_name='first', last_name='last',
                            passcode=740384)
    vmg_id = api.telephony.voicemail_groups.create(location_id=location_id,
                                                   settings=settings)
    

  • org_id (str) – Create new voice mail group for this organization.

Returns:

UUID of the newly created voice mail group.

Return type:

str

async delete(location_id: str, voicemail_group_id: str, org_id: str = None)[source]

Delete the designated voicemail group.

Deleting a voicemail group requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location from which to delete a voicemail group.

  • voicemail_group_id (str) – Delete the voicemail group with the matching ID.

  • org_id (str) – Delete the voicemail group from this organization.

fax_message_available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Voicemail Group Fax Message Available Phone Numbers

List service and standard numbers that are available to be assigned as a voicemail group’s FAX message phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async fax_message_available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Voicemail Group Fax Message Available Phone Numbers

List service and standard numbers that are available to be assigned as a voicemail group’s FAX message phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

available_phone_numbers_gen(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) AsyncGenerator[AvailableNumber, None][source]

Get Voicemail Group Available Phone Numbers

List service and standard numbers that are available to be assigned as a voicemail group’s phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

async available_phone_numbers(location_id: str, phone_number: list[str] = None, org_id: str = None, **params) list[AvailableNumber][source]

Get Voicemail Group Available Phone Numbers

List service and standard numbers that are available to be assigned as a voicemail group’s phone number. These numbers are associated with the location specified in the request URL, can be active or inactive, and are unassigned.

The available numbers APIs help identify candidate numbers and their owning entities to simplify the assignment or association of these numbers to members or features.

Retrieving this list requires a full, read-only or location administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – Return the list of phone numbers for this location within the given organization. The maximum length is 36.

  • phone_number (list[str]) – Filter phone numbers based on the comma-separated list provided in the phoneNumber array.

  • org_id (str) – List numbers for this organization.

Returns:

Generator yielding AvailableNumber instances

base = 'telephony/config/voicemailGroups'
class wxc_sdk.as_api.AsVoicemailRulesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

API for voicemail rules settings

async read(org_id: str = None) VoiceMailRules[source]

Get Voicemail Rules

Retrieve the organization’s voicemail rules.

Organizational voicemail rules specify the default passcode requirements.

Retrieving the organization’s voicemail rules requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve voicemail settings for this organization.

Returns:

VM settings

Return type:

OrganisationVoicemailSettings

async update(settings: VoiceMailRules, org_id: str = None)[source]

Update Voicemail Rules

Update the organization’s default voicemail passcode and/or rules.

Organizational voicemail rules specify the default passcode requirements.

If you choose to set default passcode for new people added to your organization, communicate to your people what that passcode is, and that it must be reset before they can access their voicemail. If this feature is not turned on, each new person must initially set their own passcode.

Updating organization’s voicemail passcode and/or rules requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • settings (VoiceMailRules) – new settings

  • org_id (str) – Update voicemail rules for this organization.

base = 'telephony/config/voicemail/rules'
class wxc_sdk.as_api.AsWebexSimpleApi(*, tokens: str | Tokens = None, concurrent_requests: int = 10, retry_429: bool = True, session: AsRestSession = None, **kwargs: Any)[source]

Bases: object

The main API object

__init__(*, tokens: str | Tokens = None, concurrent_requests: int = 10, retry_429: bool = True, session: AsRestSession = None, **kwargs: Any) None[source]
Parameters:
  • tokens – token to be used by the API. Can be a tokens.Tokens instance, a string or None. If None then an access token is expected in the WEBEX_ACCESS_TOKEN environment variable.

  • concurrent_requests (int) – number of concurrent requests when using multi-threading

  • retry_429 (bool) – automatically retry for 429 throttling response

  • session (AsRestSession) – if given, this rest.AsRestSession instance will be used for all requests instead of creating a new one

  • kwargs – additional arguments to be passed to the constructor of the session object to be used for all requests

session: AsRestSession

AsRestSession used for all API requests

admin_audit: AsAdminAuditEventsApi

Admin Audit Events API AsAdminAuditEventsApi

attachment_actions: AsAttachmentActionsApi

Attachment actions API AsAttachmentActionsApi

authorizations: AsAuthorizationsApi

Authorizations API AsAuthorizationsApi

cdr: AsDetailedCDRApi

CDR API AsDetailedCDRApi

converged_recordings: AsConvergedRecordingsApi

converged recordings API AsConvergedRecordingsApi

device_configurations: AsDeviceConfigurationsApi

device configurations API AsDeviceConfigurationsApi

devices: AsDevicesApi

devices API AsDevicesApi

events: AsEventsApi

events API; AsEventsApi

groups: AsGroupsApi

groups API AsGroupsApi

guests: AsGuestManagementApi

guests API AsGuestManagementApi

jobs: AsJobsApi

AsJobsApi

Type:

jobs API

licenses: AsLicensesApi

Licenses API AsLicensesApi

locations: AsLocationsApi

Location API AsLocationsApi

me: AsMeSettingsApi

call settings for me API AsMeSettingsApi

meetings: AsMeetingsApi

meetings API AsMeetingsApi

membership: AsMembershipApi

membership API AsMembershipApi

messages: AsMessagesApi

Messages API AsMessagesApi

org_contacts: AsOrganizationContactsApi

org contacts API AsOrganizationContactsApi

organizations: AsOrganizationApi

organization settings API

person_settings: AsPersonSettingsApi

Person settings API AsPersonSettingsApi

people: AsPeopleApi

People API AsPeopleApi

reports: AsReportsApi

Reports API AsReportsApi

roles: AsRolesApi

Roles API AsRolesApi

rooms: AsRoomsApi

Rooms API AsRoomsApi

room_tabs: AsRoomTabsApi

Room tabs API AsRoomTabsApi

scim: AsScimV2Api

AsScimV2Api

Type:

ScimV2 API

status: AsStatusAPI

Webex Status API AsStatusAPI

teams: AsTeamsApi

Teams API AsTeamsApi

team_memberships: AsTeamMembershipsApi

Team memberships API AsTeamMembershipsApi

telephony: AsTelephonyApi

Telephony (features) API AsTelephonyApi

webhook: AsWebhookApi

Webhooks API AsWebhookApi

workspaces: AsWorkspacesApi

Workspaces API AsWorkspacesApi

workspace_locations: AsWorkspaceLocationApi

Workspace locations API; AsWorkspaceLocationApi

workspace_personalization: AsWorkspacePersonalizationApi

workspace_personalization.AsWorkspacePersonalizationApi`

Type:

Workspace personalization API

Type:

class

workspace_settings: AsWorkspaceSettingsApi

Workspace setting API AsWorkspaceSettingsApi

xapi: AsXApi

XAPI API AsXApi

property access_token: str | None

access token used for all requests

Returns:

access token

Return type:

str

async close() None[source]
class wxc_sdk.as_api.AsWebhookApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Webhooks

For Webex for Government (FedRAMP), the following resource types are not available for Webhooks: meetingTranscripts.

Webhooks allow your app to be notified via HTTP when a specific event occurs in Webex. For example, your app can register a webhook to be notified when a new message is posted into a specific room.

Events trigger in near real-time allowing your app and backend IT systems to stay in sync with new content and room activity.

Check The Webhooks Guide and `our blog

Long result sets will be split into pages.

base = 'webhooks'
list_gen(owned_by: str = None, **params) AsyncGenerator[Webhook, None][source]

List Webhooks

List all of your webhooks.

Parameters:

owned_by (str) – Limit the result list to org wide webhooks. Only allowed value is org.

Returns:

Generator yielding Webhook instances

async list(owned_by: str = None, **params) list[Webhook][source]

List Webhooks

List all of your webhooks.

Parameters:

owned_by (str) – Limit the result list to org wide webhooks. Only allowed value is org.

Returns:

Generator yielding Webhook instances

async create(name: str, target_url: str, resource: WebhookResource, event: WebhookEventType, filter: str = None, secret: str = None, owned_by: str = None) Webhook[source]

Creates a webhook.

To learn more about how to create and use webhooks, see The Webhooks Guide.

Parameters:
  • name (str) – A user-friendly name for the webhook.

  • target_url (str) – The URL that receives POST requests for each event.

  • resource (WebhookResource) – The resource type for the webhook. Creating a webhook requires ‘read’ scope on the resource the webhook is for.

  • event (WebhookEvent) – The event type for the webhook.

  • filter (str) – Filter that defines the webhook scope. See Filtering Webhooks for more information. Please note that if a filter of hostEmail, hostUserId, ownerEmail or ownerId is specified, ownedBy must be set to org.

  • secret – The secret used to generate payload signature.

  • secret – str

  • owned_by – Specify org when creating an org/admin level webhook. Supported for meetings, recordings, convergedRecordings,`meetingParticipants`, meetingTranscripts, videoMeshAlerts, controlHubAlerts, rooms, messaging and adminBatchJobs (for Compliance Officers and messages with file attachments only - see inline file DLP) resources.

  • owned_by – str

Returns:

the new webhook

async details(webhook_id: str) Webhook[source]

Get Webhook Details

Shows details for a webhook, by ID.

Parameters:

webhook_id (str) – The unique identifier for the webhook.

Returns:

Webhook details

async update(webhook_id: str, update: Webhook) Webhook[source]

Updates a webhook, by ID. You cannot use this call to deactivate a webhook, only to activate a webhook that was auto deactivated. The fields that can be updated are name, targetURL, secret and status. All other fields, if supplied, are ignored.

Parameters:
  • webhook_id (str) – The unique identifier for the webhook.

  • update (Webhook) – The webhook update

Returns:

updated Webhook object

async webhook_delete(webhook_id: str)[source]

Deletes a webhook, by ID.

Parameters:

webhook_id (str) – The unique identifier for the webhook.

Returns:

None

class wxc_sdk.as_api.AsWorkspaceDevicesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

base = 'telephony/config/workspaces'
list_gen(workspace_id: str, org_id: str = None) AsyncGenerator[TelephonyDevice, None][source]

Get Workspace Devices

Get all devices for a workspace.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – ID of the workspace for which to retrieve devices.

  • org_id (str) – Organization to which the workspace belongs.

documentation: https://developer.webex.com/docs/api/v1/webex-calling-organization-settings/get-workspace-devices

async list(workspace_id: str, org_id: str = None) list[TelephonyDevice][source]

Get Workspace Devices

Get all devices for a workspace.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – ID of the workspace for which to retrieve devices.

  • org_id (str) – Organization to which the workspace belongs.

documentation: https://developer.webex.com/docs/api/v1/webex-calling-organization-settings/get-workspace-devices

async list_and_counts(workspace_id: str, org_id: str = None) DeviceList[source]

Get Workspace Devices

Get all devices for a workspace.

This requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • workspace_id (str) – ID of the workspace for which to retrieve devices.

  • org_id (str) – Organization to which the workspace belongs.

documentation: https://developer.webex.com/docs/api/v1/webex-calling-organization-settings/get-workspace-devices

async modify_hoteling(workspace_id: str, hoteling: Hoteling, org_id: str = None)[source]

Modify devices for a workspace. Modifying devices for a workspace requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • workspace_id (str) – ID of the workspace for which to modify devices.

  • hoteling (Hoteling) – hoteling settings

  • org_id (str) – Organization to which the workspace belongs.

documentation: https://developer.webex.com/docs/api/v1/webex-calling-organization-settings/modify-workspace-devices

class wxc_sdk.as_api.AsWorkspaceLocationApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

base = 'workspaceLocations'
__init__(*, session: AsRestSession, base: str = None)[source]
floors: AsWorkspaceLocationFloorApi

Workspace location floor API AsWorkspaceLocationFloorApi

ep(location_id: str = None)[source]

endpoint URL for given path

Parameters:

path (str) – path after APIChild subclass specific endpoint URI prefix

Returns:

endpoint URL

Return type:

str

list_gen(display_name: str = None, address: str = None, country_code: str = None, city_name: str = None, org_id: str = None, **params) AsyncGenerator[WorkspaceLocation, None][source]

List workspace locations

Parameters:
  • display_name (str) – Location display name.

  • address (str) – Location address

  • country_code (str) – Location country code (ISO 3166-1).

  • city_name (str) – Location city name.

  • org_id (str) – Organization id

  • params – addtl. parameters

Returns:

generator of WorkspaceLocation instances

async list(display_name: str = None, address: str = None, country_code: str = None, city_name: str = None, org_id: str = None, **params) list[WorkspaceLocation][source]

List workspace locations

Parameters:
  • display_name (str) – Location display name.

  • address (str) – Location address

  • country_code (str) – Location country code (ISO 3166-1).

  • city_name (str) – Location city name.

  • org_id (str) – Organization id

  • params – addtl. parameters

Returns:

generator of WorkspaceLocation instances

async create(display_name: str, address: str, country_code: str, latitude: float, longitude: float, city_name: str = None, notes: str = None, org_id: str = None) WorkspaceLocation[source]

Create a location. The cityName and notes parameters are optional, and omitting them will result in the creation of a location without these values set.

Parameters:
  • display_name – A friendly name for the location.

  • address – The location address.

  • country_code – The location country code (ISO 3166-1).

  • latitude – The location latitude.

  • longitude – The location longitude.

  • city_name – The location city name.

  • notes – Notes associated to the location.

  • org_id

Returns:

created workspace location

Return type:

WorkspaceLocation

async details(location_id: str, org_id: str = None) WorkspaceLocation[source]

Get a Workspace Location Details Shows details for a location, by ID. Specify the location ID in the locationId parameter in the URI.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • org_id (str)

Returns:

Workspace location details

Return type:

WorkspaceLocation

async update(location_id: str, settings: WorkspaceLocation, org_id: str = None) WorkspaceLocation[source]

Update a Workspace Location Updates details for a location, by ID. Specify the location ID in the locationId parameter in the URI. Include all details for the location that are present in a Get Workspace Location Details. Not including the optional cityName or notes fields (setting them to None) will result in the fields no longer being defined for the location.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • settings (WorkspaceLocation) – new settings

  • org_id (str)

Returns:

updated workspace location

Return type:

WorkspaceLocation

async delete(location_id: str, org_id: str = None)[source]

Delete a Workspace Location Deletes a location, by ID. The workspaces associated to that location will no longer have a location, but a new location can be reassigned to them.

class wxc_sdk.as_api.AsWorkspaceLocationFloorApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

base = 'workspaceLocations'
ep(location_id: str, floor_id: str = None)[source]

endpoint URL for given path

Parameters:

path (str) – path after APIChild subclass specific endpoint URI prefix

Returns:

endpoint URL

Return type:

str

list_gen(location_id: str, org_id: str = None) AsyncGenerator[WorkspaceLocationFloor, None][source]
Parameters:
  • location_id

  • org_id

Returns:

async list(location_id: str, org_id: str = None) list[WorkspaceLocationFloor][source]
Parameters:
  • location_id

  • org_id

Returns:

async create(location_id: str, floor_number: int, display_name: str = None, org_id: str = None) WorkspaceLocationFloor[source]

Create a Workspace Location Floor

Create a new floor in the given location. The displayName parameter is optional, and omitting it will result in the creation of a floor without that value set.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_number

  • display_name

  • org_id (str)

Returns:

new workspace location floor

Return type:

WorkspaceLocationFloor

async details(location_id: str, floor_id: str, org_id: str = None) WorkspaceLocationFloor[source]

Get a Workspace Location Floor Details

Shows details for a floor, by ID. Specify the floor ID in the floorId parameter in the URI.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_id (str) – A unique identifier for the floor.

  • org_id (str)

Returns:

workspace location floor details

Return type:

WorkspaceLocationFloor

async update(location_id: str, floor_id: str, settings: WorkspaceLocationFloor, org_id: str = None) WorkspaceLocationFloor[source]

Updates details for a floor, by ID. Specify the floor ID in the floorId parameter in the URI. Include all details for the floor that are present in a Get Workspace Location Floor Details. Not including the optional displayName field will result in the field no longer being defined for the floor.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_id (str) – A unique identifier for the floor.

  • settings (WorkspaceLocationFloor) – new settings

  • org_id (str)

Returns:

updated workspace location floor

async delete(location_id: str, floor_id: str, org_id: str = None)[source]

Delete a Workspace Location Floor Deletes a floor, by ID.

Parameters:
  • location_id (str) – A unique identifier for the location.

  • floor_id (str) – A unique identifier for the floor.

  • org_id (str)

class wxc_sdk.as_api.AsWorkspaceNumbersApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

base = 'workspaces'
async read(workspace_id: str, org_id: str = None) WorkspaceNumbers[source]

List the PSTN phone numbers associated with a specific workspace, by ID, within the organization. Also shows the location and Organization associated with the workspace.

Retrieving this list requires a full or read-only administrator auth token with a scope of spark-admin:workspaces_read.

Parameters:
  • workspace_id (str) – List numbers for this workspace.

  • org_id (str) – List numbers for a workspace within this organization.

Returns:

Workspace numbers

Return type:

WorkspaceNumbers

async update(workspace_id: str, phone_numbers: list[UpdateWorkspacePhoneNumber], distinctive_ring_enabled: bool = None, org_id: str = None)[source]

Assign or Unassign numbers associated with a specific workspace

Assign or unassign alternate phone numbers associated with a specific workspace.

Each location has a set of phone numbers that can be assigned to people, workspaces, or features. Phone numbers must follow the E.164 format for all countries, except for the United States, which can also follow the National format. Active phone numbers are in service.

This API requires a full, user or location administrator auth token with the spark-admin:workspaces_write to update workspace settings.

NOTE: This API is only available for professional licensed workspaces.

Parameters:
  • workspace_id (str) – Unique identifier for the workspace.

  • phone_numbers (list[UpdateWorkspacePhoneNumber]) – List of phone numbers that are assigned to a person.

  • distinctive_ring_enabled (bool) – Enables a distinctive ring pattern for the person.

  • org_id (str) – ID of the organization within which the workspace resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access API.

Return type:

None

class wxc_sdk.as_api.AsWorkspacePersonalizationApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Workspace Personalization

This API collection applies only to Webex Edge registered devices.

The Workspace Personalization API is designed to help administrators enable Personal Mode for Webex Edge registered devices. This one-time operation allows for end users to receive calls and meeting notifications directly on their device, without needing to pair. This API aids with the process of the migration from on-premise to cloud-registered personal mode systems.

For the personalization of a device to be successful, the following requirements must be satisfied:

  • The workspace must contain a single, Webex Edge registered, shared mode device.

  • The workspace must not have any calendars configured.

  • The device belonging to the workspace must be online.

Invoking this API requires the spark-admin:devices_write, spark:xapi_commands, spark:xapi_statuses and Identity:one_time_password scopes.

base = 'workspaces'
async personalize_a_workspace(workspace_id: str, email: str)[source]

Personalize a Workspace

Initializes the personalization for a given workspace for the user email provided.

The personalization process is asynchronous and thus a background task is created when this endpoint is invoked. After successful invocation of this endpoint a personalization task status URL will be returned in the Location header, which will point to the Get Personalization Task endpoint for this workspace. The task should be completed in approximately 30 seconds.

Parameters:
  • workspace_id (str) – A unique identifier for the workspace.

  • email (str) – The user that the device will become personalised for.

Return type:

None

async get_personalization_task(workspace_id: str) WorkspacePersonalizationTaskResponse[source]

Get Personalization Task

Returns the status of a personalization task for a given workspace.

Whilst in progress the endpoint will return Accepted and provide a Retry-After header indicating the number of seconds a client should wait before retrying.

Upon completion of the task, the endpoint will return OK with a body detailing if the personalization was successful and an error description if appropriate.

Parameters:

workspace_id (str) – A unique identifier for the workspace.

Return type:

WorkspacePersonalizationTaskResponse

class wxc_sdk.as_api.AsWorkspaceSettingsApi(session: AsRestSession)[source]

Bases: AsApiChild

API for all workspace settings.

Most of the workspace settings are equivalent to corresponding user settings. For these settings the attributes of this class are instances of the respective user settings APIs. When calling endpoints of these APIs workspace IDs need to be passed to the person_id parameter of the called function.

base = 'workspaces'
__init__(session: AsRestSession)[source]
anon_calls: AsAnonCallsApi
available_numbers: AsAvailableNumbersApi
barge: AsBargeApi
call_bridge: AsCallBridgeApi
call_intercept: AsCallInterceptApi
call_policy: AsCallPolicyApi
call_waiting: AsCallWaitingApi
caller_id: AsCallerIdApi
devices: AsWorkspaceDevicesApi
dnd: AsDndApi
ecbn: AsECBNApi
forwarding: AsPersonForwardingApi
monitoring: AsMonitoringApi
music_on_hold: AsMusicOnHoldApi
numbers: AsWorkspaceNumbersApi
permissions_in: AsIncomingPermissionsApi
permissions_out: AsOutgoingPermissionsApi
priority_alert: AsPriorityAlertApi
privacy: AsPrivacyApi
push_to_talk: AsPushToTalkApi
selective_accept: AsSelectiveAcceptApi
selective_forward: AsSelectiveForwardApi
selective_reject: AsSelectiveRejectApi
sequential_ring: AsSequentialRingApi
sim_ring: AsSimRingApi
voicemail: AsVoicemailApi
class wxc_sdk.as_api.AsWorkspacesApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Workspaces API

Workspaces represent where people work, such as conference rooms, meeting spaces, lobbies, and lunch rooms. Devices may be associated with workspaces. Viewing the list of workspaces in an organization requires an administrator auth token with the spark-admin:workspaces_read scope. Adding, updating, or deleting workspaces in an organization requires an administrator auth token with the spark-admin:workspaces_write scope. The Workspaces API can also be used by partner administrators acting as administrators of a different organization than their own. In those cases an orgId value must be supplied, as indicated in the reference documentation for the relevant endpoints.

base = 'workspaces'
list_gen(location_id: str = None, workspace_location_id: str = None, floor_id: str = None, display_name: str = None, capacity: int = None, workspace_type: WorkSpaceType = None, calling: CallingType = None, supported_devices: WorkspaceSupportedDevices = None, calendar: CalendarType = None, device_hosted_meetings_enabled: bool = None, device_platform: DevicePlatform = None, health_level: WorkspaceHealthLevel = None, include_devices: bool = None, include_capabilities: bool = None, planned_maintenance: MaintenanceMode = None, custom_attribute: str = None, org_id: str = None, **params: Any) AsyncGenerator[Workspace, None][source]

List Workspaces

Use query parameters to filter the response. The orgId parameter can only be used by admin users of another organization (such as partners). The locationId, workspaceLocationId, indoorNavigation, floorId, capacity and type fields will only be present for workspaces that have a value set for them. The special values notSet (for filtering on category) and -1 (for filtering on capacity) can be used to filter for workspaces without a type and/or capacity.

Parameters:
  • location_id (str) – Location associated with the workspace. Values must originate from the /locations API and not the legacy /workspaceLocations API.

  • workspace_location_id (str) – Location associated with the workspace. Both values from the /locations API and the legacy /workspaceLocations API are supported. This field is deprecated and integrations should prefer locationId going forward.

  • floor_id (str) – Floor associated with the workspace.

  • display_name (str) – List workspaces by display name.

  • capacity (int) – List workspaces with the given capacity. Must be -1 or higher. A value of -1 lists workspaces with no capacity set.

  • workspace_type (WorkSpaceType) – List workspaces by type. Possible values: notSet, focus, huddle, meetingRoom, open, desk, other

  • calling (CallingType) – List workspaces by calling type. Possible values: freeCalling, hybridCalling, webexCalling, webexEdgeForDevices, thirdPartySipCalling, none

  • supported_devices (str) – List workspaces by supported devices. Possible values: collaborationDevices, phones

  • calendar (CalendarType) – List workspaces by calendar type. Possible values: none, google, microsoft

  • device_hosted_meetings_enabled (bool) – List workspaces enabled for device hosted meetings.

  • device_platform (DevicePlatform) – List workspaces by device platform.

  • health_level (WorkspaceHealthLevel) – List workspaces by health level.

  • include_devices (bool) – Flag identifying whether to include the devices associated with the workspace in the response.

  • include_capabilities (bool) – Flag identifying whether to include the workspace capabilities in the response.

  • planned_maintenance (WorkspacePlannedMaintenanceMode) – List workspaces with given maintenance mode.

  • custom_attribute (str) – List workspaces with given custom attribute key.

  • org_id (str) – List workspaces in this organization. Only admin users of another organization (such as partners) may use this parameter.

Returns:

generator of Workspace instances

async list(location_id: str = None, workspace_location_id: str = None, floor_id: str = None, display_name: str = None, capacity: int = None, workspace_type: WorkSpaceType = None, calling: CallingType = None, supported_devices: WorkspaceSupportedDevices = None, calendar: CalendarType = None, device_hosted_meetings_enabled: bool = None, device_platform: DevicePlatform = None, health_level: WorkspaceHealthLevel = None, include_devices: bool = None, include_capabilities: bool = None, planned_maintenance: MaintenanceMode = None, custom_attribute: str = None, org_id: str = None, **params: Any) list[Workspace][source]

List Workspaces

Use query parameters to filter the response. The orgId parameter can only be used by admin users of another organization (such as partners). The locationId, workspaceLocationId, indoorNavigation, floorId, capacity and type fields will only be present for workspaces that have a value set for them. The special values notSet (for filtering on category) and -1 (for filtering on capacity) can be used to filter for workspaces without a type and/or capacity.

Parameters:
  • location_id (str) – Location associated with the workspace. Values must originate from the /locations API and not the legacy /workspaceLocations API.

  • workspace_location_id (str) – Location associated with the workspace. Both values from the /locations API and the legacy /workspaceLocations API are supported. This field is deprecated and integrations should prefer locationId going forward.

  • floor_id (str) – Floor associated with the workspace.

  • display_name (str) – List workspaces by display name.

  • capacity (int) – List workspaces with the given capacity. Must be -1 or higher. A value of -1 lists workspaces with no capacity set.

  • workspace_type (WorkSpaceType) – List workspaces by type. Possible values: notSet, focus, huddle, meetingRoom, open, desk, other

  • calling (CallingType) – List workspaces by calling type. Possible values: freeCalling, hybridCalling, webexCalling, webexEdgeForDevices, thirdPartySipCalling, none

  • supported_devices (str) – List workspaces by supported devices. Possible values: collaborationDevices, phones

  • calendar (CalendarType) – List workspaces by calendar type. Possible values: none, google, microsoft

  • device_hosted_meetings_enabled (bool) – List workspaces enabled for device hosted meetings.

  • device_platform (DevicePlatform) – List workspaces by device platform.

  • health_level (WorkspaceHealthLevel) – List workspaces by health level.

  • include_devices (bool) – Flag identifying whether to include the devices associated with the workspace in the response.

  • include_capabilities (bool) – Flag identifying whether to include the workspace capabilities in the response.

  • planned_maintenance (WorkspacePlannedMaintenanceMode) – List workspaces with given maintenance mode.

  • custom_attribute (str) – List workspaces with given custom attribute key.

  • org_id (str) – List workspaces in this organization. Only admin users of another organization (such as partners) may use this parameter.

Returns:

generator of Workspace instances

async create(settings: Workspace, org_id: str = None) Workspace[source]

Create a Workspace

The locationId, workspaceLocationId, floorId, indoorNavigation, capacity, type, notes and hotdeskingStatus parameters are optional, and omitting them will result in the creation of a workspace without these values set, or set to their default. A locationId must be provided when the floorId is set. Calendar and calling can also be set for a new workspace. Omitting them will default to free calling and no calendaring. The orgId parameter can only be used by admin users of another organization (such as partners).

  • Information for Webex Calling fields may be found here: locations, `available numbers

  • The locationId and supportedDevices fields cannot be changed once configured.

  • When creating a webexCalling workspace that is not hot desk only, a locationId and either a phoneNumber or extension or both is required. Furthermore, it is possible to set the licenses field with a list of Webex Calling license IDs, if desired. If multiple license IDs are provided, the oldest suitable one will be applied. If no licenses are supplied, the oldest suitable one from the active subscriptions will be automatically applied.

  • When creating a hot desk only workspace, phoneNumber and extension fields are not applicable. Furthermore, deviceHostedMeetingsEnabled, and calendar services are not applicable. If any of these fields are provided the API will return an error. The calling type is webexCalling.

Parameters:
  • settings (Workspace) – settings for new Workspace

  • org_id (str) – OrgId associated with the workspace. Only admin users of another organization (such as partners) may use this parameter.

Returns:

new workspace

Return type:

Workspace

async details(workspace_id: str, include_devices: bool = None) Workspace[source]

Get Workspace Details

Shows details for a workspace, by ID. The locationId, workspaceLocationId, floorId, indoorNavigation, capacity, type and notes fields will only be present if they have been set for the workspace.

Parameters:
  • workspace_id (str) – A unique identifier for the workspace.

  • include_devices (bool) – Flag identifying whether to include the devices associated with the workspace in the response.

Returns:

workspace details

Return type:

Workspace

async update(workspace_id: str, settings: Workspace) Workspace[source]

Update a Workspace

Updates details for a workspace by ID.

Specify the workspace ID in the workspaceId parameter in the URI. Include all details for the workspace that are present in a GET request for the workspace details. Not including the optional capacity, type or notes fields will result in the fields no longer being defined for the workspace. A locationId must be provided when the floorId is set. The locationId, workspaceLocationId, floorId, supportedDevices, calendar and calling fields do not change when omitted from the update request.

  • Information for Webex Calling fields may be found here: locations and `available numbers

  • Updating the calling parameter is only supported if the existing calling type is freeCalling, none, thirdPartySipCalling or webexCalling.

  • Updating the calling parameter to none, thirdPartySipCalling or webexCalling is not supported if the workspace contains any devices.

  • The locationId and supportedDevices fields cannot be changed once configured.

  • When updating webexCalling information on a workspace that is not hot desk only, a locationId and either a phoneNumber or extension or both is required. Furthermore, the licenses field can be set with a list of Webex Calling license IDs, if desired. If multiple license IDs are provided, the oldest suitable one will be applied. If a previously applied license ID is omitted, it will be replaced with one from the list provided. If the licenses field is omitted, the current calling license will be retained.

  • When specifying a hot desk only license on a hot desk only workspace, deviceHostedMeetingsEnabled, and calendar services are not supported and will be automatically disabled. In addition to this, the phoneNumber and extension will be removed from the workspace. Attempting to enable any of these services, or provide a phoneNumber or extension will result in an error. The calling type for these requests is webexCalling.

Parameters:
  • workspace_id (str) – A unique identifier for the workspace.

  • settings (Workspace) – new workspace settings

Returns:

updated workspace

Return type:

Workspace

async delete_workspace(workspace_id: str) None[source]

Delete a Workspace

Deletes a workspace, by ID. Will also delete all devices associated with the workspace. Any deleted devices will need to be reactivated.

Parameters:

workspace_id (str) – A unique identifier for the workspace.

async capabilities(workspace_id: str) CapabilityMap[source]

Shows the capabilities for a workspace by ID. Returns a set of capabilities, including whether or not the capability is supported by any device in the workspace, and if the capability is configured (enabled). For example for a specific capability like occupancyDetection, the API will return if the capability is supported and/or configured such that occupancy detection data will flow from the workspace (device) to the cloud. Specify the workspace ID in the workspaceId parameter in the URI.

Parameters:

workspace_id (str) – A unique identifier for the workspace.

class wxc_sdk.as_api.AsWrapupReasonApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

Wrap up reasons API

async read_queue_settings(location_id: str, queue_id: str) QueueWrapupReasonSettings[source]

Read Wrap Up Reason Settings

Return a wrap-up reason by location ID and queue ID.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Retrieving the wrap-up reason by location ID and queue ID requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • location_id (str) – The location ID.

  • queue_id (str) – The queue ID.

Return type:

list[QueueWrapupReasonSettings]

async update_queue_settings(location_id: str, queue_id: str, wrapup_reasons: list[str] = None, default_wrapup_reason_id: str = None, wrapup_timer_enabled: bool = None, wrapup_timer: int = None)[source]

Update Wrap Up Reason Settings

Modify a wrap-up reason by location ID and queue ID.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Modifying a wrap-up reason by location ID and queue ID requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – The location ID.

  • queue_id (str) – The queue ID.

  • wrapup_reasons (list[str]) – List of wrap-up reason IDs.

  • default_wrapup_reason_id (str) – Unique wrap-up identifier. To clear the default wrap-up reason, set this to ‘’.

  • wrapup_timer_enabled (bool) – Denotes whether the wrap-up timer is enabled.

  • wrapup_timer (int) – Wrap up timer value in seconds.

Return type:

None

async list() list[WrapUpReason][source]

List Wrap Up Reasons

Return the list of wrap-up reasons configured for a customer.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues. Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue. Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Retrieving the list of wrap-up reasons requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Return type:

list[WrapUpReason]

async create(name: str, description: str = None, queues: list[str] = None, assign_all_queues_enabled: bool = None) str[source]

Create Wrap Up Reason

Create a wrap-up reason.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Creating a wrap-up reason requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • name (str) – Name of the wrap-up reason.

  • description (str) – Description of the wrap-up reason.

  • queues (list[str]) – List of queue IDs assigned to the wrap-up reason.

  • assign_all_queues_enabled (bool) – Denotes whether all queues are assigned to the wrap-up reason.

Returns:

Wrap-up reason ID.

Return type:

str

async validate(name: str)[source]

Validate Wrap Up Reason

Validate the wrap-up reason name.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Validating the wrap-up reason name requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:

name (str) – Name of the wrap-up reason.

Return type:

None

async delete(wrapup_reason_id: str)[source]

Delete Wrap Up Reason

Delete a wrap-up reason.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Deleting the wrap-up reason requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:

wrapup_reason_id (str) – Wrap-up reason ID.

Return type:

None

async details(wrapup_reason_id: str) WrapUpReasonDetails[source]

Read Wrap Up Reason

Return the wrap-up reason by ID.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Retrieving the wrap-up reason by ID requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

wrapup_reason_id (str) – Wrap-up reason ID.

Return type:

WrapUpReasonDetails

async update(wrapup_reason_id: str, name: str = None, description: str = None, queues_to_assign: list[str] = None, queues_to_unassign: list[str] = None, assign_all_queues_enabled: bool = None, unassign_all_queues_enabled: bool = None)[source]

Update Wrap Up Reason

Modify a wrap-up reason.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Modifying a wrap-up reason requires a full or device administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • wrapup_reason_id (str) – Wrap-up reason ID.

  • name (str) – Name of the wrap-up reason.

  • description (str) – Description of the wrap-up reason.

  • queues_to_assign (list[str]) – List of queue IDs to assign to the wrap-up reason.

  • queues_to_unassign (list[str]) – List of queue IDs to unassign from the wrap-up reason.

  • assign_all_queues_enabled (bool) – Denotes whether all queues are assigned to the wrap-up reason.

  • unassign_all_queues_enabled (bool) – Denotes whether all queues are unassigned from the wrap-up reason.

Return type:

None

async available_queues(wrapup_reason_id: str) list[AvailableQueue][source]

Read Available Queues

Return the available queues for a wrap-up reason.

Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.

Upon call completion, agents select a wrap-up reason from the queue’s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.

Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.

Retrieving the available queues for a wrap-up reason requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

wrapup_reason_id (str) – Wrap-up reason ID.

Return type:

list[AvailableQueue]

base = 'telephony/config'
class wxc_sdk.as_api.AsXApi(*, session: AsRestSession, base: str = None)[source]

Bases: AsApiChild

xAPI

The xAPI allows developers to programmatically invoke commands and query the status of devices that run Webex RoomOS software.

Executing commands requires an auth token with the spark:xapi_commands scope. Querying devices requires an auth token with the spark:xapi_statuses scope.

All xAPI requests require a deviceId which can be obtained using the Devices API. xAPI commands and statuses are described in the Cisco Collaboration Endpoint Software API Reference Guide. For more information about developing applications for cloud connected devices, see the Device Developers Guide.

base = 'xapi'
async query_status(device_id: str, name: list[str]) QueryStatusResponse[source]

Query Status

Query the current status of the Webex RoomOS Device. You specify the target device in the deviceId parameter in the URI. The target device is queried for statuses according to the expression in the name parameter.

See the xAPI section of the Device Developers Guide for a description of status expressions.

Parameters:
  • device_id (str) – The unique identifier for the Webex RoomOS Device.

  • name (list[str]) –

    A list of status expressions used to query the Webex RoomOS Device. See the xAPI section of the Device Developers Guide for a description of status expressions. A request can contain at most 10 different status expressions.

async execute_command(command_name: str, device_id: str, arguments: dict = None, body: dict | str = None) ExecuteCommandResponse[source]

Execute Command

Executes a command on the Webex RoomOS Device. Specify the command to execute in the commandName URI parameter.

See the xAPI section of the Device Developers Guide for a description of command expressions.

Parameters:
  • command_name (str) – Command to execute on the Webex RoomOS Device.

  • device_id (str) – The unique identifier for the Webex RoomOS Device.

  • arguments (dict) – xAPI command arguments

  • body (ExecuteCommandBody) – xAPI command body, as a complex JSON object or as a string

Return type:

ExecuteCommandResponse

system_unit_boot(device_id: str, force: bool = False) ExecuteCommandResponse[source]

Reboot the device

Parameters:
  • device_id (str) – The unique identifier for the Webex RoomOS Device.

  • force (bool) – If True, the device will be rebooted immediately. If False, the device will wait for a period of time before rebooting.