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_type—derived
search—derived

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