wxc_sdk.memberships package

Membership API

class wxc_sdk.memberships.Membership(*, id: str | None = None, roomId: str | None = None, personId: str | None = None, personEmail: str | None = None, personDisplayName: str | None = None, personOrgId: str | None = None, isModerator: bool | None = None, isRoomHidden: bool | None = None, roomType: RoomType | None = None, isMonitor: bool | None = None, created: datetime | None = None, **extra_data: Any)[source]

Bases: ApiModel

id: str | None

A unique identifier for the membership.

room_id: str | None

The room ID.

person_id: str | None

The person ID.

person_email: str | None

The email address of the person.

person_display_name: str | None

The display name of the person.

person_org_id: str | None

The organization ID of the person.

is_moderator: bool | None

Whether or not the participant is a room moderator.

is_room_hidden: bool | None

Whether or not the direct type room is hidden in the Webex clients.

room_type: RoomType | None

The type of room the membership is associated with.

is_monitor: bool | None

Whether or not the participant is a monitoring bot (deprecated).

created: datetime | None

The date and time when the membership was created.

class wxc_sdk.memberships.MembershipsData(*, id: str | None = None, roomId: str | None = None, personId: str | None = None, personEmail: str | None = None, personDisplayName: str | None = None, personOrgId: str | None = None, isModerator: bool | None = None, isRoomHidden: bool | None = None, roomType: RoomType | None = None, isMonitor: bool | None = None, created: datetime | None = None, **extra_data: Any)[source]

Bases: WebhookEventData, Membership

Data in a webhook “memberships” event

resource: ClassVar[str | None] = 'memberships'
class wxc_sdk.memberships.MembershipApi(*, session: RestSession, base: str = None)[source]

Bases: ApiChild

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(room_id: str = None, person_id: str = None, person_email: str = None, **params) Generator[Membership, None, 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. When the requester is a compliance officer, they can query by personId or personEmail without specifying a roomId. The response will include all memberships for the user where a space is owned by an org to which the user belongs. 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.

Returns:

Generator yielding Membership instances

create(room_id: str, person_id: str = None, person_email: str = None, is_moderator: bool = None) Membership[source]

Create a Membership

Add someone to a room by Person ID or email address, optionally making them a moderator. Compliance Officers cannot add people to empty (team) spaces.

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.

Return type:

Membership

details(membership_id: str) Membership[source]

Get Membership Details

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.

Return type:

Membership

update(update: Membership) Membership[source]

Update a Membership

Updates properties for a membership by ID.

Parameters:

update – new settings; ID has to be set in update.

Return type:

Membership

delete(membership_id: str) None[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'