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
- 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:
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”
Unrecognized schemas (ID/section) are ignored.
Read-only attributes provided as input values are ignored.
- 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:
- 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:
userName eq “user1@example.com”
userName sw “user1@example”
userName ew “example”
phoneNumbers [ type eq “mobile” and value eq “14170120”]
urn:scim:schemas:extension:cisco:webexidentity:2.0:User:meta.organizationId eq “0ae87ade-8c8a-4952-af08-318798958d0c”
More filter patterns, please check https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2”
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:
- 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:
Input JSON must contain schema: “urn:ietf:params:scim:schemas:core:2.0:User”.
Support 3 schemas:
Unrecognized schemas (ID/section) are ignored.
Read-only attributes provided as input values are ignored.
User id will not be changed.
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:
- 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.
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:
- 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.
- 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.