Workspace members
Who belongs to a workspace, their role, and invitations.
GET
/workspace-members/{workspaceId}List members
The roster, each row carrying role, membership status and live presence.
From an extension view: requires the members:read scope
Path parameters
| workspaceId* | string | Workspace id. |
bash
curl -X GET 'https://api.conexus-x.example/api/workspace-members/{workspaceId}' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"members": [
{
"_id": "66f1a2b3c4d5e6f7a8b9c0e2",
"role": "admin",
"status": "active",
"joinedAt": "2026-01-14T09:12:00.000Z",
"user": {
"_id": "66f1a2b3c4d5e6f7a8b9c0e1",
"firstName": "Dana",
"lastName": "Ortiz",
"email": "dana@acme.example",
"presence": "online"
}
}
]
}POST
/workspace-members/{workspaceId}Add or invite a member
Adds an existing user, or invites one by email, at a given role.
Path parameters
| workspaceId* | string | Workspace id. |
Body
| string | Invite by email. Use this or userId, not both. | |
| userId | string | Add an existing user by id. |
| role* | string | "admin" | "member" | "guest". |
bash
curl -X POST 'https://api.conexus-x.example/api/workspace-members/{workspaceId}' \
-H 'x-api-key: YOUR_PIT_KEY'
-H 'Content-Type: application/json' \
-d '{"email":"new.hire@acme.example","role":"member"}'Example response
json
{
"member": {
"_id": "66f1a2b3c4d5e6f7a8b9c0e2",
"role": "admin",
"status": "active",
"joinedAt": "2026-01-14T09:12:00.000Z",
"user": {
"_id": "66f1a2b3c4d5e6f7a8b9c0e1",
"firstName": "Dana",
"lastName": "Ortiz",
"email": "dana@acme.example",
"presence": "online"
}
}
}PUT
/workspace-members/{workspaceId}/{userId}Change a member's role
Owner/admin only. The server refuses demoting the last owner.
Path parameters
| workspaceId* | string | Workspace id. |
| userId* | string | The member's user id. |
Body
| role* | string | New role. |
bash
curl -X PUT 'https://api.conexus-x.example/api/workspace-members/{workspaceId}/{userId}' \
-H 'x-api-key: YOUR_PIT_KEY'
-H 'Content-Type: application/json' \
-d '{"role":"admin"}'Example response
json
{
"member": {
"_id": "66f1a2b3c4d5e6f7a8b9c0e2",
"role": "admin",
"status": "active",
"joinedAt": "2026-01-14T09:12:00.000Z",
"user": {
"_id": "66f1a2b3c4d5e6f7a8b9c0e1",
"firstName": "Dana",
"lastName": "Ortiz",
"email": "dana@acme.example",
"presence": "online"
}
}
}DELETE
/workspace-members/{workspaceId}/{userId}Remove a member
Removes a person from the workspace.
Path parameters
| workspaceId* | string | Workspace id. |
| userId* | string | The member's user id. |
bash
curl -X DELETE 'https://api.conexus-x.example/api/workspace-members/{workspaceId}/{userId}' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"message": "Member removed."
}POST
/workspace-members/{workspaceId}/acceptAccept an invite
Called by the invited user themselves, resolving their own pending invite.
Path parameters
| workspaceId* | string | Workspace id. |
bash
curl -X POST 'https://api.conexus-x.example/api/workspace-members/{workspaceId}/accept' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"message": "Invite accepted."
}POST
/workspace-members/{workspaceId}/declineDecline an invite
Called by the invited user themselves.
Path parameters
| workspaceId* | string | Workspace id. |
bash
curl -X POST 'https://api.conexus-x.example/api/workspace-members/{workspaceId}/decline' \
-H 'x-api-key: YOUR_PIT_KEY'Example response
json
{
"message": "Invite declined."
}