Viewer, Commenter, Editor, Admin, and Owner.
Basic request and response
List current members withGET /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}"
-H "x-org: {org_slug}"
Example response
Example response
{
"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 "x-org: {org_slug}" \
-H "Content-Type: application/json" \
-d '{
"members": [
{ "user_id": "{userID}", "role": "Editor" }
]
}'
Example response
Example response
[
{
"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 "x-org: {org_slug}" \
-H "Content-Type: application/json" \
-d '{
"members": [
{ "user_id": "{userID}", "role": "Admin", "is_pinned": true }
]
}'
Example response
Example response
[
{
"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
- Get member
- Remove member
curl "https://{BASE_URL}/api/v1/app/project/{projectID}/member/{userID}" \
-H "Authorization: Bearer {API_TOKEN}"
-H "x-org: {org_slug}"
Example response
Example response
{
"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
}
curl -X DELETE "https://{BASE_URL}/api/v1/app/project/{projectID}/member/{userID}" \
-H "Authorization: Bearer {API_TOKEN}"
-H "x-org: {org_slug}"
Example response
Example response
{
"id": "member_7f6e5d4c3b2a",
"role": "Admin",
"user": {
"id": "user_9d1c3b5a7f2e4c6d",
"name": "Jordan Lee",
"email": "jordan@auroralabs.com",
"state": "Active",
"roles": ["AppMember"],
"created_at": "2026-02-07T09:20:12Z"
},
"is_project_member": false
}
Errors and edge cases
- 403: not allowed to manage members.
- 404: project or user not found.