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
| Method | HTTP | Endpoint |
|---|---|---|
create | POST | POST /member/create |
update | POST | POST /member/update |
delete | DELETE | DELETE /member/delete/{member_id} |
get | GET | GET /member/get/{member_id} |
list | GET | GET /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
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | Member ID to update |
userID | string | yes | User identifier |
workspaceid | string | yes | Unique workspace identifier in UUID v4 format |
role | string | yes | Updated member role |
Allowed: admin, member, viewer |
| status | string | no | Updated member status
Allowed: active, pending, suspended |
The Python SDK accepts
snake_casekeyword arguments and converts them to thecamelCasewire fields shown above.
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the member |
userID | string | User identifier |
workspaceid | string | Unique workspace identifier in UUID v4 format |
role | string | Member 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
| Field | Type | Description |
|---|---|---|
success | boolean | Operation success status |
data | object | Response data |
message | string | Optional 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
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="…")