Skip to content

client.projects.memberships

client.projects.memberships — the projects.memberships operations.

On AsyncKindgi every method is the same, awaited.

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

List direct memberships of a project. GET /v1/projects/{projectId}/memberships

Cursor-paginated. Direct-grant memberships only — team-mediated grants are resolved through the FGA store per tenant.

add(
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> AddProjectMembershipResult

Add a user directly to a project. POST /v1/projects/{projectId}/memberships

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

update_role(
*,
idempotency_key: str | None = None,
timeout: float | None = None,
**fields: Any,
) -> None

Change an existing project member's role. PATCH /v1/projects/{projectId}/memberships/{userId}

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

Remove a user from a project (idempotent). DELETE /v1/projects/{projectId}/memberships/{userId}