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

Python kwargWire fieldTypeRequiredDescription
ididstringyesMember ID to update
user_iduserIDstringyesUser identifier
workspace_idworkspaceidstringyesUnique workspace identifier in UUID v4 format
rolerolestringyesUpdated member role

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

Allowed: active, pending, suspended |

Always pass snake_case keyword arguments — the Python kwarg column shows the exact name to use for each wire field (as a named parameter where it appears in the method signature, otherwise via **kwargs). The SDK converts it deterministically to the camelCase wire key the API expects. Passing camelCase directly is deprecated: it emits a warning and converts to the same wire key.

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="…")