List project collaborators
GET /v1/compliance/apps/projects/\{project_id\}/collaborators
List the users, groups, and organization-wide grants on a project.
Each entry represents one active role assignment on the project. Principals are returned as a discriminated union on type — an individual user, an RBAC group, the whole organization, or all holders of an organization-level role.
Path parameters
project_id: stringThe project ID (tagged ID, e.g., claude_proj_abc123)
Query parameters
limit: optional numberMaximum results (default: 20, max: 100)
default: 20, maximum: 100, minimum: 1
page: optional stringOpaque pagination token from a previous response's
next_pagefield. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
Headers
"anthropic-version": optional stringThe version of the Claude API you want to use.
Read more about versioning and our version history here.
"x-api-key": optional string
Returns
data: array of object or object or object or objectList of collaborators sorted chronologically by granted_at, tie break by the underlying role-assignment UUID
ComplianceProjectUserCollaborator objectAn individual user granted a role on a project.
type: "user"Discriminator marking this as an individual user collaborator
default: user
granted_at: stringWhen this collaborator was granted access (RFC 3339 format)
format: date-time
role: "admin" or "editor" or "owner" or "viewer"Role granted on the project
"admin""editor""owner""viewer"
user_id: string or nullIdentifier of the user granted access (tagged ID), or null if their account has since been deleted
ComplianceProjectGroupCollaborator objectAn RBAC group granted a role on a project.
type: "group"Discriminator marking this as a group collaborator
default: group
granted_at: stringWhen this collaborator was granted access (RFC 3339 format)
format: date-time
group_id: stringIdentifier of the group granted access (tagged ID)
role: "admin" or "editor" or "owner" or "viewer"Role granted on the project
"admin""editor""owner""viewer"
ComplianceProjectOrganizationCollaborator objectAn entire organization granted a role on a project.
type: "organization"Discriminator marking this as an organization-wide grant
default: organization
granted_at: stringWhen this collaborator was granted access (RFC 3339 format)
format: date-time
organization_uuid: stringUUID of the organization granted access
role: "admin" or "editor" or "owner" or "viewer"Role granted on the project
"admin""editor""owner""viewer"
ComplianceProjectOrganizationRoleCollaborator objectAll holders of an organization-level role granted a role on a project.
type: "organization_role"Discriminator marking this as a grant to all organization members holding a specific org-level role
default: organization_role
granted_at: stringWhen this collaborator was granted access (RFC 3339 format)
format: date-time
organization_role: stringThe organization-level role whose holders are granted access
role: "admin" or "editor" or "owner" or "viewer"Role granted on the project
"admin""editor""owner""viewer"
has_more: booleanWhether more records exist beyond the current result set
next_page: string or nullTo get the next page, use the 'next_page' from the current response as the 'page' in your next request
Example
curl https://api.anthropic.com/v1/compliance/apps/projects/$PROJECT_ID/collaborators \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"granted_at": "2019-12-27T18:11:19.117Z",
"role": "admin",
"type": "user",
"user_id": "user_id"
}
],
"has_more": true,
"next_page": "next_page"
}