Skip to main content
Use project member endpoints to control who can access a project and what role they have. Roles include Viewer, Commenter, Editor, Admin, and Owner.

Basic request and response

List current members with GET /api/v1/app/project/{projectId}/member.
curl "https://{BASE_URL}/api/v1/app/project/{projectID}/member?page=1&page_size=50" \
  -H "Authorization: Bearer {API_TOKEN}"
{
  "data": [
    {
      "id": "member_1a2b3c4d5e6f",
      "role": "Owner",
      "user": {
        "id": "user_4b7c2a1d9e5f3c8b",
        "org_id": "org_2f3a9d1c7b5e4a8f",
        "account_id": "acct_6c8a1f3b2d4e5f7a",
        "name": "Sasha Patel",
        "email": "sasha@auroralabs.com",
        "state": "Active",
        "roles": ["AppAdmin"],
        "created_at": "2026-02-08T14:12:45Z"
      },
      "is_project_member": true
    }
  ],
  "has_next_page": false,
  "has_previous_page": false,
  "total_count": 1
}

Add members

curl -X POST "https://{BASE_URL}/api/v1/app/project/{projectID}/member" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "members": [
      { "user_id": "{userID}", "role": "Editor" }
    ]
  }'
[
  {
    "id": "member_7f6e5d4c3b2a",
    "role": "Editor",
    "user": {
      "id": "user_9d1c3b5a7f2e4c6d",
      "org_id": "org_2f3a9d1c7b5e4a8f",
      "account_id": "acct_6c8a1f3b2d4e5f7a",
      "name": "Jordan Lee",
      "email": "jordan@auroralabs.com",
      "state": "Active",
      "roles": ["AppMember"],
      "created_at": "2026-02-07T09:20:12Z"
    },
    "is_project_member": true
  }
]

Update member roles

curl -X PUT "https://{BASE_URL}/api/v1/app/project/{projectID}/member" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "members": [
      { "user_id": "{userID}", "role": "Admin", "is_pinned": true }
    ]
  }'
[
  {
    "id": "member_7f6e5d4c3b2a",
    "role": "Admin",
    "user": {
      "id": "user_9d1c3b5a7f2e4c6d",
      "org_id": "org_2f3a9d1c7b5e4a8f",
      "account_id": "acct_6c8a1f3b2d4e5f7a",
      "name": "Jordan Lee",
      "email": "jordan@auroralabs.com",
      "state": "Active",
      "roles": ["AppMember"],
      "created_at": "2026-02-07T09:20:12Z"
    },
    "is_project_member": true
  }
]

Get or remove a member

curl "https://{BASE_URL}/api/v1/app/project/{projectID}/member/{userID}" \
  -H "Authorization: Bearer {API_TOKEN}"
{
  "id": "member_7f6e5d4c3b2a",
  "role": "Admin",
  "user": {
    "id": "user_9d1c3b5a7f2e4c6d",
    "org_id": "org_2f3a9d1c7b5e4a8f",
    "account_id": "acct_6c8a1f3b2d4e5f7a",
    "name": "Jordan Lee",
    "email": "jordan@auroralabs.com",
    "state": "Active",
    "roles": ["AppMember"],
    "created_at": "2026-02-07T09:20:12Z"
  },
  "is_project_member": true
}

Errors and edge cases

  • 403: not allowed to manage members.
  • 404: project or user not found.