Skip to content

client.members

Bases: SyncResource

Sync project-members namespace (client.members).

add

add(project_id: UUID | str, *, user_id: UUID | str, role: ProjectRole | str) -> Member

Add a tenant user to the project with a role.

Parameters:

Name Type Description Default
role ProjectRole | str

manager (full project control), reviewer, or labeler.

required

Raises:

Type Description
NotFoundError

user not in this tenant (USER_NOT_FOUND).

ConflictError

user is already a member (NAME_TAKEN) — use :meth:update to change their role instead; or the per-project member cap is reached (RESOURCE_LIMIT_EXCEEDED).

ForbiddenError

caller is not a project manager (AUTH_FORBIDDEN).

list

list(project_id: UUID | str) -> list[Member]

List every member of the project (bounded, returned whole).

Raises:

Type Description
ForbiddenError

caller is not a project member (AUTH_FORBIDDEN).

NotFoundError

PROJECT_NOT_FOUND.

update

update(project_id: UUID | str, user_id: UUID | str, *, role: ProjectRole | str) -> Member

Change a member's project role.

Raises:

Type Description
NotFoundError

the user is not a member (PROJECT_MEMBER_NOT_FOUND).

BadRequestError

would demote the only remaining manager (BAD_REQUEST).

ForbiddenError

caller is not a project manager (AUTH_FORBIDDEN).

delete

delete(project_id: UUID | str, user_id: UUID | str) -> None

Remove a member from the project (204). Idempotent — removing a non-member also returns nothing.

Raises:

Type Description
BadRequestError

would remove the only remaining manager (BAD_REQUEST).

ForbiddenError

caller is not a project manager (AUTH_FORBIDDEN).

Response models

Models returned by client.members methods (fields, types, and what each means).

Project-membership models (the members resource).

A project member is a (user, project, role) row. role is a shared :class:~superb_ai.types.common.ProjectRole (never re-declared here). The embedded user profile is a deliberate dict — see below.

Member

Bases: BaseModel

One project member: which user, at which project role.