Skip to content

client.teams.memberships

client.teams.memberships — the teams.memberships operations.

On AsyncKindgi every method is the same, awaited.

list(
team_id: str,
/,
*,
limit: int | None = None,
cursor: str | None = None,
timeout: float | None = None,
) -> TeamMembershipCollectionPage

List memberships of a team. GET /v1/teams/{teamId}/memberships

Cursor-paginated. Sort order is binding-defined (for example joinedAt ascending).

add(
team_id: str,
body: AddTeamMembershipBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> AddTeamMembershipResult

Add a user to a team. POST /v1/teams/{teamId}/memberships

Idempotent on (teamId, userId) — re-adding an existing member with a different role does NOT overwrite; use PATCH for role changes.

update_role(
team_id: str,
user_id: str,
body: UpdateTeamMembershipBody | Mapping[str, Any] | None = None,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> None

Change an existing member's role. PATCH /v1/teams/{teamId}/memberships/{userId}

remove(
team_id: str,
user_id: str,
/,
*,
idempotency_key: str | None = None,
timeout: float | None = None,
) -> None

Remove a user from a team (idempotent). DELETE /v1/teams/{teamId}/memberships/{userId}