client.teams.memberships
client.teams.memberships — the teams.memberships operations.
On AsyncKindgi every method is the same, awaited.
client.teams.memberships.list()
Section titled “client.teams.memberships.list()”list( team_id: str | UUID, /, *, limit: int | None = None, cursor: str | None = None, timeout: float | None = None,) -> TeamMembershipCollectionPageList memberships of a team. GET /v1/teams/{teamId}/memberships
Cursor-paginated. Sort order is binding-defined (for example joinedAt ascending). For the team's admins (and tenant admins): a plain member sees the team, not who else is in it, and reads their own roles through GET /v1/identity/users/{userId}/grants.
client.teams.memberships.add()
Section titled “client.teams.memberships.add()”add( team_id: str | UUID, body: AddTeamMembershipBody | Mapping[str, Any] | None = None, /, *, idempotency_key: str | None = None, timeout: float | None = None, **fields: Any,) -> AddTeamMembershipResultAdd a user to a team. POST /v1/teams/{teamId}/memberships
Someone who is not a person of this tenant, or was removed from it, is refused with 404 identity-user-not-found. Adding a role the member already holds answers 201 with the existing record; another role, 409 membership-exists naming the role they hold (details.role), which is kept: use PATCH to change it.
client.teams.memberships.update_role()
Section titled “client.teams.memberships.update_role()”update_role( team_id: str | UUID, user_id: str | UUID, body: UpdateTeamMembershipBody | Mapping[str, Any] | None = None, /, *, idempotency_key: str | None = None, timeout: float | None = None, **fields: Any,) -> NoneChange an existing member's role. PATCH /v1/teams/{teamId}/memberships/{userId}
client.teams.memberships.remove()
Section titled “client.teams.memberships.remove()”remove( team_id: str | UUID, user_id: str | UUID, /, *, idempotency_key: str | None = None, timeout: float | None = None,) -> NoneRemove a user from a team (idempotent). DELETE /v1/teams/{teamId}/memberships/{userId}