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. For information about how to allocate Hybrid Services licenses to people, see the Managing Hybrid Services guide.

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

Bases: str, SafeEnum

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=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

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.

sip_type: SipType
value: str
primary: bool
class wxc_sdk.people.PeopleStatus(value=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

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=<no_arg>, names=None, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, SafeEnum

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 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.

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).

Parameters
  • settings (Person) – settings for new user

  • calling_data (bool) – Include Webex Calling user details in the response.

Returns

new user

Return type

Person

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

Person

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.

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.

Note: The locationId 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 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 siteUrls array. The showAllTypes parameter must be set to true.

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

Returns

Person details

Return type

Person

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'
session: RestSession

REST session