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*stringWorkspace 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*stringWorkspace id.

Body

emailstringInvite by email. Use this or userId, not both.
userIdstringAdd 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*stringWorkspace id.
userId*stringThe member's user id.

Body

role*stringNew 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*stringWorkspace id.
userId*stringThe 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}/accept

Accept an invite

Called by the invited user themselves, resolving their own pending invite.

Path parameters

workspaceId*stringWorkspace 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}/decline

Decline an invite

Called by the invited user themselves.

Path parameters

workspaceId*stringWorkspace 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."
}