wxc_sdk.scim.users package

class wxc_sdk.scim.users.EmailObject(*, value: str | None = None, type: EmailObjectType | None = None, display: str | None = None, primary: bool | None = None)[source]

Bases: ApiModel

value: str | None

The email address.

type: EmailObjectType | None

The type of the email.

display: str | None

A human-readable description, primarily used for display purposes.

primary: bool | None

A Boolean value indicating the email status. If the type is work and primary is true, the value must equal “userName”.

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

Bases: str, SafeEnum

An enumeration.

work = 'work'
home = 'home'
room = 'room'
other = 'other'
class wxc_sdk.scim.users.ScimUser(*, schemas: list[str] | None = None, id: str | None = None, userName: str | None = None, active: bool | None = None, name: NameObject | None = None, displayName: str | None = None, nickName: str | None = None, emails: list[EmailObject] | None = None, userType: UserTypeObject | None = None, profileUrl: str | None = None, title: str | None = None, preferredLanguage: str | None = None, locale: str | None = None, externalId: str | None = None, timezone: str | None = None, phoneNumbers: list[UserPhoneNumber] | None = None, photos: list[PhotoObject] | None = None, addresses: list[UserAddress] | None = None, enterprise_user: EnterpriseUser | None = None, webex_user: WebexUser | None = None, meta: ScimMeta | None = None, entitlements: list[dict] | None = None)[source]

Bases: ApiModel

schemas: list[str] | None

Input JSON schemas.

id: str | None

Webex Identity assigned user identifier.

user_name: str | None

A unique identifier for the user and is used to authenticate the user in Webex. This attribute must be set to the user’s primary email address. No other user in Webex may have the same userName value and thus this value is required to be unique within Webex.

active: bool | None

A boolean value of “true” or “false” indicating whether the user is active in Webex.

name: NameObject | None

The components of the user’s real name.

display_name: str | None

The value to display or show the user’s name in Webex.

nick_name: str | None

A casual name of the user. The value Bob when the user’s formal name is Robert.

emails: list[EmailObject] | None

A list of the user’s email addresses with an indicator of the user’s primary email address. The primary email address must be the same value as the user’s userName.

user_type: UserTypeObject | None

The type of the user.

profile_url: str | None

A fully qualified URL pointing to a page representing the user’s online profile.

title: str | None

The user’s business title. Examples of a title is “Business Manager”. “Senior Accountant”, “Engineer” etc.

preferred_language: str | None

Indicates the user’s preferred language. Acceptable values for this field are based on the ISO-696 and ISO-3166 with the 2 letter language code followed by an _ and then the 2-letter country code. Examples are: * en_US : for english spoken in the United States * fr_FR: for french spoken in France.

locale: str | None

The user’s locale which is used to represent the user’s currency, time format, and numerical representations. Acceptable values for this field are based on the ISO-696 and ISO-3166 followed by an _ and then the 2-letter country code. Examples are: * en_US : for English spoken in the United States or * fr_FR: for French spoken in France.

external_id: str | None

External identity.

timezone: str | None

The user’s time zone specified in the IANA timezone timezone format, for example, “America/Los_Angeles”.

phone_numbers: list[UserPhoneNumber] | None

A list of user’s phone numbers with an indicator of primary to specify the user’s main number.

photos: list[PhotoObject] | None

A list of photos for the user that represent a thing the user has.

addresses: list[UserAddress] | None

User’s physical mailing address.

enterprise_user: EnterpriseUser | None

SCIM2 enterprise extension

webex_user: WebexUser | None

The Cisco extension of SCIM 2.

meta: ScimMeta | None
entitlements: list[dict] | None
class wxc_sdk.scim.users.EnterpriseUser(*, costCenter: str | None = None, organization: str | None = None, division: str | None = None, department: str | None = None, employeeNumber: str | None = None, manager: ManagerObject | None = None)[source]

Bases: ApiModel

cost_center: str | None

Identifies the name of a cost center.

organization: str | None

Identifies the name of an organization.

division: str | None

Identifies the name of a division.

department: str | None

Identifies the name of a department.

employee_number: str | None

Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization.

manager: ManagerObject | None

The user’s manager.

class wxc_sdk.scim.users.ManagedOrg(*, orgId: str | None = None, role: str | None = None)[source]

Bases: ApiModel

org_id: str | None

Webex Identity assigned organization identifier.

role: str | None

Role in the target organization for the user.

class wxc_sdk.scim.users.ManagerObject(*, value: str | None = None, displayName: str | None = None, ref: str | None = None)[source]

Bases: ApiModel

value: str | None

Webex Identity assigned user identifier of the user’s manager. The manager must be in the same org as the user.

display_name: str | None

The value to display or show the manager’s name in Webex.

ref: str | None

The URI corresponding to a SCIM user that is the manager.

class wxc_sdk.scim.users.NameObject(*, givenName: str | None = None, familyName: str | None = None, middleName: str | None = None, honorificPrefix: str | None = None, honorificSuffix: str | None = None)[source]

Bases: ApiModel

given_name: str | None

The given name of the user, or first name in most Western languages (e.g., “Sarah” given the full name “Ms. Sarah J Henderson, III”).

family_name: str | None

The family name of the user, or last name in most Western languages (e.g., “Henderson” given the full name “Ms. Sarah J Henderson, III”).

middle_name: str | None

The middle name(s) of the user (e.g., “Jane” given the full name “Ms. Sarah J Henderson, III”).

honorific_prefix: str | None

The honorific prefix(es) of the user, or title in most Western languages (e.g., “Ms.” given the full name “Ms. Sarah J Henderson, III”).

honorific_suffix: str | None

The honorific suffix(es) of the user, or suffix in most Western languages (e.g., “III” given the full name “Ms. Sarah J Henderson, III”).

class wxc_sdk.scim.users.PatchUserOperation(*, op: PatchUserOperationOp | None = None, path: str | None = None, value: str | None = None)[source]

Bases: ApiModel

op: PatchUserOperationOp | None

The operation to perform.

path: str | None

A string containing an attribute path describing the target of the operation.

value: str | None

New value.

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

Bases: str, SafeEnum

An enumeration.

add = 'add'
replace = 'replace'
remove = 'remove'
class wxc_sdk.scim.users.PhotoObject(*, value: str | None = None, type: PhotoObjectType | None = None, display: str | None = None, primary: bool | None = None)[source]

Bases: ApiModel

value: str | None

photo link.

type: PhotoObjectType | None

The type of the photo

display: str | None

A human-readable description, primarily used for display purposes.

primary: bool | None

A Boolean value indicating the photo usage status.

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

Bases: str, SafeEnum

An enumeration.

photo = 'photo'
thumbnail = 'thumbnail'
resizable = 'resizable'
class wxc_sdk.scim.users.UserManager(*, value: str | None = None)[source]

Bases: ApiModel

value: str | None

Webex Identity assigned user identifier of the user’s manager. The manager must be in the same org as the user.

class wxc_sdk.scim.users.WebexUser(*, accountStatus: list[str] | None = None, sipAddresses: list[SipAddressObject] | None = None, managedOrgs: list[ManagedOrg] | None = None, provisionSource: str | None = None, isTeamsOnJabberEnabled: bool | None = None, isUCCallOnJabberEnabled: bool | None = None, userSettings: list[str] | None = None, meta: WebexUserMeta | None = None)[source]

Bases: ApiModel

account_status: list[str] | None

Account status of the user.

sip_addresses: list[SipAddressObject] | None

sipAddress values for the user.

managed_orgs: list[ManagedOrg] | None

Organizations that the user can manage.

provision_source: str | None
is_teams_on_jabber_enabled: bool | None
is_uc_call_on_jabber_enabled: bool | None
user_settings: list[str] | None
meta: WebexUserMeta | None
class wxc_sdk.scim.users.UserAddress(*, type: str | None = None, streetAddress: str | None = None, locality: str | None = None, region: str | None = None, postalCode: str | None = None, country: str | None = None)[source]

Bases: ApiModel

type: str | None

address type

street_address: str | None

The full street address component, which may include house number, street name, P.O. box, and multi-line extended street address information. This attribute MAY contain newlines.

locality: str | None

The city or locality component.

region: str | None

The state or region component.

postal_code: str | None

The zip code or postal code component.

country: str | None

The country name component.

class wxc_sdk.scim.users.UserPhoneNumber(*, value: str | None = None, type: ScimPhoneNumberType | None = None, display: str | None = None, primary: bool | None = None)[source]

Bases: ApiModel

value: str | None

phone number.

type: ScimPhoneNumberType | None

‘mobile’, ‘work’, ‘fax’, ‘work_extension’, ‘alternate1’, ‘alternate2’. Alternate 1 and Alternate 2 are types inherited from Webex meeting sites.

Type:

We support the following types of phone numbers

display: str | None

A human-readable name, primarily used for display purposes.

primary: bool | None

A Boolean value indicating the phone number premary status.

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

Bases: str, SafeEnum

An enumeration.

work = 'work'
home = 'home'
mobile = 'mobile'
work_extension = 'work_extension'
fax = 'fax'
pager = 'pager'
other = 'other'
class wxc_sdk.scim.users.SCIM2UsersApi(*, session: RestSession, base: str | None = None)[source]

Bases: ScimApiChild

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

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

  • Identity:SCIM

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.

Parameters:
  • org_id (str) – Webex Identity assigned organization identifier for user’s organization.

  • user (ScimUser) – User settings

Return type:

ScimUser

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

  • Identity:SCIM

  • Identity:SCIM_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

search(org_id: str, filter: str | None = None, attributes: str | None = None, excluded_attributes: str | None = None, sort_by: str | None = None, sort_order: str | None = None, start_index: int | None = None, count: int | None = None, return_groups: bool | None = None, include_group_details: bool | None = None, group_usage_types: str | None = 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

  • Identity:SCIM

  • Identity:SCIM_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 (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

search_all(org_id: str, filter: str | None = None, attributes: str | None = None, excluded_attributes: str | None = None, sort_by: str | None = None, sort_order: str | None = None, count: int | None = None, return_groups: str | None = None, include_group_details: str | None = None, group_usage_types: str | None = None) Generator[ScimUser, None, None][source]

Same operation as search() but returns a generator of ScimUsers instead of paginated resources

See SCIM2UsersApi.search() for parameter documentation

Parameters:
  • org_id

  • filter

  • attributes

  • excluded_attributes

  • sort_by

  • sort_order

  • count

  • return_groups

  • include_group_details

  • group_usage_types

Returns:

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

  • Identity:SCIM

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

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

  • Identity:SCIM

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

delete(org_id: str, user_id: str)[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.scim.users.SearchUserResponse(*, schemas: list[str] | None = None, totalResults: int | None = None, itemsPerPage: int | None = None, startIndex: int | None = None, Resources: list[ScimUser] | None = None)[source]

Bases: ApiModel

schemas: list[str] | None

Input JSON schemas.

total_results: int | None

Total number of users in search results.

items_per_page: int | None

The total number of items in a paged result.

start_index: int | None

Start at the one-based offset in the list of matching users.

resources: list[ScimUser] | None

A list of users with details.

class wxc_sdk.scim.users.SipAddressObject(*, value: str | None = None, type: str | None = None, display: str | None = None, primary: bool | None = None)[source]

Bases: ApiModel

value: str | None

The sip address value.

type: str | None

The type of the sipAddress.

display: str | None

A human-readable description, primarily used for display purposes.

primary: bool | None

Designate the primary sipAddress.

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

Bases: str, SafeEnum

An enumeration.

user = 'user'
room = 'room'
external_calling = 'external_calling'
calling_service = 'calling_service'