List projects ​
get /v1/compliance/apps/projects
Lists project metadata with filtering capabilities. Results are sorted chronologically (time ascending) by created_at.
Query Parameters ​
created_at: optional object { gt, gte, lt, lte }gt: optional stringFilter projects created after this time (RFC 3339 format)
gte: optional stringFilter projects created at or after this time (RFC 3339 format)
lt: optional stringFilter projects created before this time (RFC 3339 format)
lte: optional stringFilter projects created at or before this time (RFC 3339 format)
limit: optional numberMaximum results (default: 20, max: 100)
organization_ids: optional array of stringFilter by organization IDs (accepts
org_...or organization UUID). Enumerate IDs viaGET /v1/compliance/organizations.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.user_ids: optional array of stringFilter by user IDs. Enumerate IDs via
GET /v1/compliance/organizations/{org_uuid}/users.
Header Parameters ​
"x-api-key": optional string
Returns ​
data: array of object { id, created_at, deleted_at, 6 more }List of projects sorted by creation date ascending
id: stringProject identifier (tagged ID)
created_at: stringProject creation timestamp
deleted_at: stringTimestamp when the project was deleted by an end user, or null otherwise
is_private: booleanIf false, the project is visible to all organization members; if true the project is accessible only to the creator and specified collaborators
name: stringProject name
organization_id: stringOrganization identifier (tagged ID)
organization_uuid: stringOrganization UUID this project belongs to
updated_at: stringProject last update timestamp
user: object { id, email_address }User information for project creator.
id: stringUser identifier (tagged ID)
email_address: stringUser's email address
has_more: booleanWhether more records exist beyond the current result set
next_page: stringToken to retrieve the next page. Use this as the 'page' parameter in your next request
Example ​
http
curl https://api.anthropic.com/v1/compliance/apps/projects \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response ​
json
{
"data": [
{
"id": "claude_proj_abc123",
"name": "Q4 Product Planning",
"created_at": "2025-06-01T10:00:00Z",
"updated_at": "2025-06-15T14:30:00Z",
"is_private": true,
"organization_id": "org_abc123",
"organization_uuid": "abc12345-6789-0abc-def0-123456789abc",
"user": {
"id": "user_xyz456",
"email_address": "user@example.com"
}
}
],
"has_more": true,
"next_page": "page_eyJjcmVhdGVkX2F0IjoiMjAyNS0wNi0wMVQxMDowMDowMFoiLCJ1dWlkIjoiYWJjMTIzIn0="
}