wxc_sdk.people package
People types and API
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.
- class wxc_sdk.people.PhoneNumberType(value)[source]
Bases:
str
,Enum
Webex phone number type
- work = 'work'
- mobile = 'mobile'
- fax = 'fax'
- work_extension = 'work_extension'
- class wxc_sdk.people.PhoneNumber(*, type: PhoneNumberType, value: str)[source]
Bases:
ApiModel
Webex phone number: type and Value
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- number_type: PhoneNumberType
- value: str
- class wxc_sdk.people.SipType(value)[source]
Bases:
str
,Enum
SIP address type
- enterprise = 'enterprise'
- cloudCalling = 'cloud-calling'
- personalRoom = 'personal-room'
- unknown = 'unknown'
- class wxc_sdk.people.SipAddress(*, type: SipType, value: str, primary: bool)[source]
Bases:
ApiModel
SIP address: type, value and primary indication
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- value: str
- primary: bool
- class wxc_sdk.people.PeopleStatus(value)[source]
Bases:
str
,Enum
An enumeration.
- active = 'active'
active within the last 10 minutes
- call = 'call'
the user is in a call
- do_not_disturb = 'DoNotDisturb'
the user has manually set their status to “Do Not Disturb”
- inactive = 'inactive'
last activity occurred more than 10 minutes ago
- meeting = 'meeting'
last activity occurred more than 10 minutes ago
- out_of_office = 'OutOfOffice'
the user or a Hybrid Calendar service has indicated that they are “Out of Office”
- pending = 'pending'
the user has never logged in; a status cannot be determined
- presenting = 'presenting'
the user is sharing content
- unknown = 'unknown'
the user’s status could not be determined
- class wxc_sdk.people.PersonType(value)[source]
Bases:
str
,Enum
An enumeration.
- person = 'person'
account belongs to a person
- bot = 'bot'
account is a bot user
- app_user = 'appuser'
account is a guest user
- class wxc_sdk.people.Person(*, errors: Optional[dict[str, wxc_sdk.base.CodeAndReason]] = None, id: Optional[str] = None, emails: Optional[list[str]] = None, phoneNumbers: Optional[list[wxc_sdk.people.PhoneNumber]] = None, extension: Optional[str] = None, locationId: Optional[str] = None, displayName: Optional[str] = None, nickName: Optional[str] = None, firstName: Optional[str] = None, lastName: Optional[str] = None, avatar: Optional[str] = None, orgId: Optional[str] = None, roles: Optional[list[str]] = None, licenses: Optional[list[str]] = None, created: Optional[datetime] = None, lastModified: Optional[datetime] = None, timezone: Optional[str] = None, lastActivity: Optional[str] = None, siteUrls: Optional[list[str]] = None, sipAddresses: Optional[list[wxc_sdk.people.SipAddress]] = None, status: Optional[PeopleStatus] = None, invitePending: Optional[bool] = None, loginEnabled: Optional[bool] = None, type: Optional[PersonType] = None)[source]
Bases:
ApiModelWithErrors
Webex person
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- person_id: Optional[str]
A unique identifier for the person.
- emails: Optional[list[str]]
The email addresses of the person.
- phone_numbers: Optional[list[wxc_sdk.people.PhoneNumber]]
Phone numbers for the person.
- extension: Optional[str]
The Webex Calling extension for the person. Only applies to a person with a Webex Calling license
- location_id: Optional[str]
The ID of the location for this person retrieved from BroadCloud.
- display_name: Optional[str]
The full name of the person.
- nick_name: Optional[str]
The nickname of the person if configured. If no nickname is configured for the person, this field will not be present.
- first_name: Optional[str]
Optional[str]
- Type
first_name
- last_name: Optional[str]
The last name of the person.
- avatar: Optional[str]
The URL to the person’s avatar in PNG format
- org_id: Optional[str]
The ID of the organization to which this person belongs.
- roles: Optional[list[str]]
An array of role strings representing the roles to which this person belongs.
- licenses: Optional[list[str]]
An array of license strings allocated to this person.
- created: Optional[datetime]
The date and time the person was created.
- last_modified: Optional[datetime]
The date and time the person was last changed.
- timezone: Optional[str]
The time zone of the person if configured. If no timezone is configured on the account, this field will not be present
- last_activity: Optional[str]
The date and time of the person’s last activity within Webex. This will only be returned for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has disabled status sharing.
- site_urls: Optional[list[str]]
One or several site names where this user has a role (host or attendee)
- sip_addresses: Optional[list[wxc_sdk.people.SipAddress]]
The users sip addresses
- status: Optional[PeopleStatus]
The current presence status of the person. This will only be returned for people within your organization or an organization you manage. Presence information will not be shown if the authenticated user has disabled status sharing.
- invite_pending: Optional[bool]
Whether or not an invite is pending for the user to complete account activation. This property is only returned if the authenticated user is an admin user for the person’s organization. True: the person has been invited to Webex but has not created an account
False: the person has been invited to Webex but has not created an account
- login_enabled: Optional[bool]
Whether or not the user is allowed to use Webex. This property is only returned if the authenticated user is an admin user for the person’s organization. True: the person can log into Webex
False: the person cannot log into Webex
- person_type: Optional[PersonType]
The type of person account, such as person or bot.
- property person_id_uuid: str
person id in uuid format
- property plus_e164: list[wxc_sdk.people.PhoneNumber]
List of +E.164 phone numbers of the user :return:
- property tn: Optional[PhoneNumber]
user’s TN (first +E.164 number if any) :return:
- class wxc_sdk.people.PeopleApi(*, session: RestSession, base: Optional[str] = None)[source]
Bases:
ApiChild
People API
- list(email: Optional[str] = None, display_name: Optional[str] = None, id_list: Optional[list[str]] = None, org_id: Optional[str] = None, calling_data: Optional[bool] = None, location_id: Optional[str] = None, **params) Generator[Person, None, None] [source]
List people in your organization. For most users, either the email or display_name 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 last_activity, 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 calling_data parameter as True. Admin users can list all users in a location or with a specific phone number.
- 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.
calling_data (bool) – Include Webex Calling user details in the response. Default: False
location_id (str) – List people present in this location.
- Returns
yield
Person
instances
- create(settings: Person, calling_data: bool = False) 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.
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).
- details(person_id: str, calling_data: bool = False) Person [source]
Shows details for a person, by ID.
Response properties associated with a user’s presence status, such as status or last_activity, 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 calling_data 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
- delete_person(person_id: str)[source]
Remove a person from the system. Only an admin can remove a person.
- Parameters
person_id – A unique identifier for the person.
- Returns
- update(person: Person, calling_data: bool = False, show_all_types: bool = False) Person [source]
Update details for a person, by ID.
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 calling_data parameter as True.
Note: The location_id can only be set when adding a calling license to a user. It cannot be changed if a user is already an existing calling user.
When doing attendee management, to update a user “from host to attendee” for a site append #attendee to the respective site_url and remove the meeting host license for this site from the license array. To update a person “from attendee to host” for a site, add the meeting license for this site in the meeting array and remove that site from the site_url parameter.
Removing the attendee privilege for a user on a meeting site is done by removing that sitename#attendee from the siteUrls array. The show_all_types parameter must be set to True.
- 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
- Returns
profile of authenticated user
- base = 'people'
- session: RestSession
REST session