Skip to main content

Members

Members

toothfairyai@latest…

Manager for members operations.

This manager provides methods to create, update, and manage workspace members. Note: Members map to UserWorkspaceType in GraphQL.

Example:

>>> client = ToothFairyClient(api_key="...", workspace_id="...")
>>> member = client.members.create(user_id="user-123", user_type="human")

Accessed via client.members.

Methods

MethodHTTPEndpoint
createPOSTPOST /member/create
updatePOSTPOST /member/update
deleteDELETEDELETE /member/delete/{member_id}
getGETGET /member/get/{member_id}
listGETGET /member/list
get_by_user_typederived
searchderived

create

Create a new member.

def create(
user_id: str,
user_type: Optional[str] = None,
policy_id: Optional[str] = None,
favorite_agents: Optional[List[str]] = None,
recent_local_folders: Optional[List[str]] = None,
recent_files: Optional[List[str]] = None
) -> Member

Endpoint: POST /member/create · API service

Example

client.members.create(user_id="agent-id")

update

Update a member.

def update(
member_id: str,
user_type: Optional[str] = None,
policy_id: Optional[str] = None,
favorite_agents: Optional[List[str]] = None,
recent_local_folders: Optional[List[str]] = None,
recent_files: Optional[List[str]] = None
) -> Member

Endpoint: POST /member/update · API service

Request fields

FieldTypeRequiredDescription
idstringyesMember ID to update
userIDstringyesUser identifier
workspaceidstringyesUnique workspace identifier in UUID v4 format
rolestringyesUpdated member role

Allowed: admin, member, viewer | | status | string | no | Updated member status

Allowed: active, pending, suspended |

The Python SDK accepts snake_case keyword arguments and converts them to the camelCase wire fields shown above.

Response fields

FieldTypeDescription
idstringUnique identifier for the member
userIDstringUser identifier
workspaceidstringUnique workspace identifier in UUID v4 format
rolestringMember role in the workspace

Allowed: admin, member, viewer | | status | string | Member status

Allowed: active, pending, suspended | | createdBy | string | User ID who added the member | | updatedBy | string | User ID who last updated the member |

Example

client.members.update(member_id="agent-id")

delete

Delete a member.

def delete(member_id: str) -> Dict[str, bool]

Endpoint: DELETE /member/delete/{member_id} · API service

Response fields

FieldTypeDescription
successbooleanOperation success status
dataobjectResponse data
messagestringOptional success message

Example

client.members.delete(member_id="agent-id")

get

Get a member by ID.

def get(member_id: str) -> Member

Endpoint: GET /member/get/{member_id} · API service

Response

Returns the Member object — fields documented in the update section above.

Example

client.members.get(member_id="agent-id")

list

List all members.

def list(
limit: Optional[int] = None,
offset: Optional[int] = None
) -> ListResponse

Endpoint: GET /member/list · API service

Example

client.members.list()

get_by_user_type

Get members by user type.

def get_by_user_type(user_type: str) -> List[Member]

Derived method — delegates to another SDK call and performs no direct HTTP request.

Example

client.members.get_by_user_type(user_type="…")

Search members by user ID.

def search(search_term: str) -> List[Member]

Derived method — delegates to another SDK call and performs no direct HTTP request.

Example

client.members.search(search_term="…")