title: Chats url: https://platform.claude.com/docs/en/api/compliance/apps/chats
Chats
List chats
GET /v1/compliance/apps/chats
Lists chat metadata with filtering capabilities for targeted
compliance review. Results are sorted chronologically (time ascending)
by the order_by key, with ties broken by id.
Deprecation notice: Combining user_ids[] with any updated_at.*
filter is deprecated and will be rejected with HTTP 400 after
2026-09-22. For incremental polling by update time, omit user_ids[]
and set order_by=updated_at with after_id cursor pagination —
this returns the same chats across the whole organization in a single
request stream. For per-user listing, use created_at.* filters (or
no time filter) with the default order_by. user_ids[] with
order_by=updated_at is already rejected.
Query parameters
-
after_id: optional stringPagination cursor for retrieving the next page of results. To paginate, pass the
last_idvalue from the most recent response. 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. -
before_id: optional stringPagination cursor for retrieving the previous page of results. To paginate, pass the
first_idvalue from the most recent response. 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. -
created_at: optional object-
gt: optional stringFilter chats created after this time (RFC 3339 format)
format: date-time
-
gte: optional stringFilter chats created at or after this time (RFC 3339 format)
format: date-time
-
lt: optional stringFilter chats created before this time (RFC 3339 format)
format: date-time
-
lte: optional stringFilter chats created at or before this time (RFC 3339 format)
format: date-time
-
-
limit: optional numberMaximum results (default: 100, max: 1000)
default: 100, maximum: 1000, minimum: 1
-
order_by: optional "created_at" or "updated_at"Sort key for results.
created_at(default) sorts by chat creation time.updated_atsorts by last update time and is only supported for org-wide queries (omit user_ids[]). For org-wide queries, any time filter must match the sort key:created_at.*filters requireorder_by=created_at, andupdated_at.*filters requireorder_by=updated_at.default: created_at
-
"created_at" -
"updated_at"
-
-
organization_ids: optional array of stringFilter by organization IDs (accepts
org_...or organization UUID). Enumerate IDs viaGET /v1/compliance/organizations. -
project_ids: optional array of stringFilter by project IDs (accepts
claude_proj_...). Enumerate IDs viaGET /v1/compliance/apps/projects. Requires user_ids[]; not supported for org-wide queries. -
updated_at: optional object-
gt: optional stringFilter chats updated after this time (RFC 3339 format). Combining updated_at filters with
user_ids[]is deprecated and will be rejected after 2026-09-22; for updated_at-windowed polling, omituser_ids[]and useorder_by=updated_atwithafter_idpagination.format: date-time
-
gte: optional stringFilter chats updated at or after this time (RFC 3339 format). Combining updated_at filters with
user_ids[]is deprecated and will be rejected after 2026-09-22; for updated_at-windowed polling, omituser_ids[]and useorder_by=updated_atwithafter_idpagination.format: date-time
-
lt: optional stringFilter chats updated before this time (RFC 3339 format). Combining updated_at filters with
user_ids[]is deprecated and will be rejected after 2026-09-22; for updated_at-windowed polling, omituser_ids[]and useorder_by=updated_atwithafter_idpagination.format: date-time
-
lte: optional stringFilter chats updated at or before this time (RFC 3339 format). Combining updated_at filters with
user_ids[]is deprecated and will be rejected after 2026-09-22; for updated_at-windowed polling, omituser_ids[]and useorder_by=updated_atwithafter_idpagination.format: date-time
-
-
user_ids: optional array of stringFilter to chats created by specific users (max 10 per request). Omit for an org-wide query. Enumerate IDs via
GET /v1/compliance/organizations/{org_uuid}/users. Deprecated combination: passinguser_ids[]together with anyupdated_at.*filter is deprecated and will be rejected after 2026-09-22. Forupdated_at-windowed polling, omituser_ids[]and useorder_by=updated_atwithafter_idpagination.maxItems: 10
Headers
"x-api-key": optional string
Returns
-
data: array of objectList of chat metadata sorted chronologically by the request's
order_bykey (defaultcreated_at), tie break by id-
id: stringChat ID
-
created_at: stringCreation timestamp
format: date-time
-
deleted_at: string or nullDeletion timestamp if deleted
format: date-time
-
href: stringURL to view this chat in claude.ai
-
model: string or nullModel selected for this chat (e.g. 'claude-opus-5'). May be null for legacy chats that never had a model recorded.
-
name: stringChat name/title
-
organization_uuid: stringOrganization UUID this chat belongs to
-
project_id: string or nullProject ID this chat belongs to
-
updated_at: stringLast update timestamp
format: date-time
-
user: object or nullThe user who created the chat.
Null when the API key is restricted to one organization and the creator is no longer a member of it (for example, after they were removed from it).
A key for the whole parent organization returns the creator's
idand currentemail_addressfor every chat; on the list endpoint, passorganization_ids[]to keep the results to one organization. For the email address the creator had when the chat was created, queryGET /v1/compliance/activitieswithactivity_types[]=claude_chat_createdand acreated_atwindow around the chat'screated_at, find the event whoseclaude_chat_idmatches this chat'sid, and readactor.email_address. These events exist only for chats created after compliance logging was enabled for the organization.-
id: stringUser identifier
-
email_address: stringUser's email address
-
-
organization_id: stringDeprecated
Organization ID this chat belongs to
-
-
first_id: string or nullOpaque pagination cursor for the first chat in the current result set. Pass as
before_idon the next request to page backwards. Backward pagination is only supported for per-user queries (user_ids[]set); org-wide queries do not acceptbefore_id. 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. -
has_more: booleanWhether more records exist beyond the current result set
-
last_id: string or nullOpaque pagination cursor for the last chat in the current result set. Pass as
after_idon the next request to page forwards. 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.
Example
curl https://api.anthropic.com/v1/compliance/apps/chats \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"id": "claude_chat_abc123",
"name": "Product Requirements Discussion",
"created_at": "2025-06-07T08:09:10Z",
"updated_at": "2025-06-07T09:10:11Z",
"organization_id": "org_abc123",
"organization_uuid": "abcdef01-2345-6789-abcd-ef0123456789",
"project_id": "claude_proj_xyz789",
"model": "claude-opus-5",
"user": {
"id": "user_xyz456",
"email_address": "user@example.com"
},
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789"
}
],
"has_more": false,
"first_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9",
"last_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9"
}Delete chat
DELETE /v1/compliance/apps/chats/{claude_chat_id}
Permanently deletes a chat and all associated messages and files. This is a destructive operation that cannot be undone.
Path parameters
-
claude_chat_id: stringThe chat ID (tagged ID, e.g., claude_chat_abc123)
Headers
"x-api-key": optional string
Returns
-
type: optional "claude_chat_deleted"Constant string confirming deletion
default: claude_chat_deleted
-
id: stringThe ID of the Claude chat that was deleted
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/$CLAUDE_CHAT_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"id": "claude_chat_abc123",
"type": "claude_chat_deleted"
}Domain types
Chat List Response
-
ChatListResponse objectChat metadata for listing chats (without messages).
-
id: stringChat ID
-
created_at: stringCreation timestamp
format: date-time
-
deleted_at: string or nullDeletion timestamp if deleted
format: date-time
-
href: stringURL to view this chat in claude.ai
-
model: string or nullModel selected for this chat (e.g. 'claude-opus-5'). May be null for legacy chats that never had a model recorded.
-
name: stringChat name/title
-
organization_uuid: stringOrganization UUID this chat belongs to
-
project_id: string or nullProject ID this chat belongs to
-
updated_at: stringLast update timestamp
format: date-time
-
user: object or nullThe user who created the chat.
Null when the API key is restricted to one organization and the creator is no longer a member of it (for example, after they were removed from it).
A key for the whole parent organization returns the creator's
idand currentemail_addressfor every chat; on the list endpoint, passorganization_ids[]to keep the results to one organization. For the email address the creator had when the chat was created, queryGET /v1/compliance/activitieswithactivity_types[]=claude_chat_createdand acreated_atwindow around the chat'screated_at, find the event whoseclaude_chat_idmatches this chat'sid, and readactor.email_address. These events exist only for chats created after compliance logging was enabled for the organization.-
id: stringUser identifier
-
email_address: stringUser's email address
-
-
organization_id: stringDeprecated
Organization ID this chat belongs to
-
Chat Delete Response
-
ChatDeleteResponse objectResponse for deleting a Claude chat.
-
type: optional "claude_chat_deleted"Constant string confirming deletion
default: claude_chat_deleted
-
id: stringThe ID of the Claude chat that was deleted
-
Chats › Messages
Get chat messages
GET /v1/compliance/apps/chats/{claude_chat_id}/messages
Retrieves message history and file metadata for a specific chat.
Path parameters
-
claude_chat_id: stringThe chat ID (tagged ID, e.g., claude_chat_abc123)
Query parameters
-
after_id: optional stringPagination cursor for retrieving the next page of results. To paginate, pass the
last_idvalue from the most recent response. 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. -
before_id: optional stringPagination cursor for retrieving the previous page of results. To paginate, pass the
first_idvalue from the most recent response. 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. -
created_at: optional object-
gt: optional stringFilter messages created after this time (RFC 3339 format)
format: date-time
-
gte: optional stringFilter messages created at or after this time (RFC 3339 format)
format: date-time
-
lt: optional stringFilter messages created before this time (RFC 3339 format)
format: date-time
-
lte: optional stringFilter messages created at or before this time (RFC 3339 format)
format: date-time
-
-
limit: optional numberMaximum results (max: 1000). When omitted, the full result set is returned in one response.
maximum: 1000, minimum: 1
-
order: optional "asc" or "desc"Sort direction for messages within the response.
asc(the default) returns oldest-first;descreturns newest-first.default: asc
-
"asc" -
"desc"
-
-
tool_result_max_chars: optional numberMaximum characters returned per tool-result text item. Items longer than this are shortened and the block's
truncatedfield is set. Pass -1 to disable the limit.default: 10000, minimum: -1
-
tool_use_input_max_chars: optional numberMaximum characters of JSON-encoded tool input returned per tool_use block. Inputs longer than this are shortened and the block's
truncatedfield is set. Pass -1 to disable the limit.default: 10000, minimum: -1
-
updated_at: optional object-
gt: optional stringFilter messages updated after this time (RFC 3339 format)
format: date-time
-
gte: optional stringFilter messages updated at or after this time (RFC 3339 format)
format: date-time
-
lt: optional stringFilter messages updated before this time (RFC 3339 format)
format: date-time
-
lte: optional stringFilter messages updated at or before this time (RFC 3339 format)
format: date-time
-
Headers
"x-api-key": optional string
Returns
-
id: stringChat ID
-
chat_messages: array of objectArray of chat messages in order of created_at
-
id: stringUnique identifier for the message e.g. 'claude_chat_msg_abcd1234'
-
artifacts: array of object or nullVersioned documents generated or updated by the assistant in this message. Download via
GET /v1/compliance/apps/artifacts/{artifact_version_id}/content.-
id: stringArtifact ID e.g. 'claude_artifact_abc123'
-
artifact_type: string or nullMIME-like artifact type e.g. 'application/vnd.ant.code'
-
title: string or nullArtifact title
-
version_id: stringArtifact version ID e.g. 'claude_artifact_version_abc123'
-
-
content: array of Text or ToolUse or ToolResultContent blocks within the message
-
Text objectText content block.
-
type: "text"default: text
-
text: stringText content from human or assistant
-
thinking_redacted: booleanTrue when content enclosed in the assistant's internal-reasoning tags (or the tag markup itself) was removed from
textduring export. Removal never occurs with this field false. Always false on human messages, whose text is exported verbatim.default: false
-
truncated: booleanTrue when
textwas shortened by the server's fixed per-string bound (1 MiB). Always false on chat text blocks.default: false
-
-
ToolUse objectTool invocation requested by the assistant.
-
type: "tool_use"default: tool_use
-
id: string or nullTool-use ID, e.g. 'toolu_01AbC...'
-
input: stringArguments passed to the tool, as a JSON-encoded string. May be shortened — see the
truncatedfield -
integration_name: string or nullName of the integration that provides this tool, when applicable
-
mcp_server_url: string or nullBase URL (scheme, host, and path only) of the MCP server that provides this tool, when applicable
-
name: stringName of the tool invoked
-
truncated: booleanTrue when
inputwas shortened. Pass the endpoint's tool-use input max parameter as -1 to request full content, subject to any server-side maximum the endpoint enforces.default: false
-
-
ToolResult objectResult returned by a tool invocation.
-
type: "tool_result"default: tool_result
-
content: array of objectText content returned by the tool. Generated files are surfaced via the message's
generated_fileslist; other non-text item types (including images and links) are omitted.-
type: "text"default: text
-
text: stringText returned by the tool
-
-
integration_name: string or nullName of the integration that provides this tool, when applicable
-
is_error: booleanTrue when the tool reported an error
-
mcp_server_url: string or nullBase URL (scheme, host, and path only) of the MCP server that provides this tool, when applicable
-
name: stringName of the tool that produced this result
-
tool_use_id: string or nullID of the tool_use block this result responds to
-
truncated: booleanTrue when one or more text items in
contentwere shortened. Pass the endpoint's tool-result max parameter as -1 to request full content, subject to any server-side maximum the endpoint enforces.default: false
-
-
-
created_at: stringMessage creation timestamp - For human: when they sent the message, For assistant: when it completed the last content block
format: date-time
-
files: array of object or nullBinary file attachments uploaded by the user. Download via
GET /v1/compliance/apps/chats/files/{claude_file_id}/content.-
id: stringFile ID
-
created_at: stringFile creation timestamp
format: date-time
-
filename: stringDisplay name of the file
-
md5: string or nullLowercase hex MD5 of the file's preferred downloadable variant, as recorded at upload time. Null when no stored hash is available.
-
mime_type: string or nullMIME type of the file's preferred downloadable variant (e.g. 'application/pdf')
-
size_bytes: number or nullSize in bytes of the file's preferred downloadable variant, if known. Null for older files uploaded before size was recorded.
-
-
generated_files: array of object or nullDownloadable files the assistant created via tool use (e.g. PDF, spreadsheet, slide deck). Distinct from
files, which are uploads attached to the message. Download viaGET /v1/compliance/apps/chats/generated-files/{claude_gen_file_id}/content.-
id: stringOpaque generated-file id, e.g. 'claude_gen_file_abc123'. Treat as an opaque string; the encoding may change without notice.
-
filename: stringDisplay name of the generated file
-
md5: string or nullLowercase hex MD5 of the generated file, when available. Null when no stored hash is available.
-
mime_type: string or nullMIME type reported by the tool that produced the file
-
size_bytes: number or nullSize in bytes of the generated file, when available. Null when the file has expired or size is not recorded.
-
-
role: "assistant" or "user"Message sender (user or assistant)
-
"assistant" -
"user"
-
-
-
created_at: stringCreation timestamp
format: date-time
-
deleted_at: string or nullDeletion timestamp if deleted
format: date-time
-
first_id: string or nullOpaque pagination cursor for the first message in the current result set. Pass as
before_idon the next request to page backwards. 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. -
has_more: booleanWhether more chat messages exist beyond the current result set. Use
last_idasafter_idin a follow-up request to page forward.default: false
-
href: stringURL to view this chat in claude.ai
-
last_id: string or nullOpaque pagination cursor for the last message in the current result set. Pass as
after_idon the next request to page forwards. 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. -
model: string or nullModel selected for this chat (e.g. 'claude-opus-5'). May be null for legacy chats that never had a model recorded.
-
name: stringChat name
-
organization_uuid: stringOrganization UUID this chat belongs to
-
project_id: string or nullProject ID this chat belongs to
-
updated_at: stringLast update timestamp
format: date-time
-
user: object or nullThe user who created the chat.
Null when the API key is restricted to one organization and the creator is no longer a member of it (for example, after they were removed from it).
A key for the whole parent organization returns the creator's
idand currentemail_addressfor every chat; on the list endpoint, passorganization_ids[]to keep the results to one organization. For the email address the creator had when the chat was created, queryGET /v1/compliance/activitieswithactivity_types[]=claude_chat_createdand acreated_atwindow around the chat'screated_at, find the event whoseclaude_chat_idmatches this chat'sid, and readactor.email_address. These events exist only for chats created after compliance logging was enabled for the organization.-
id: stringUser identifier
-
email_address: stringUser's email address
-
-
organization_id: stringDeprecated
Organization ID this chat belongs to
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/$CLAUDE_CHAT_ID/messages \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"id": "claude_chat_abc123",
"name": "Product Requirements Discussion",
"created_at": "2025-06-07T08:09:10Z",
"updated_at": "2025-06-07T08:09:11Z",
"organization_id": "org_abc123",
"organization_uuid": "abcdef01-2345-6789-abcd-ef0123456789",
"project_id": "claude_proj_xyz789",
"model": "claude-opus-5",
"user": {
"id": "user_xyz456",
"email_address": "user@example.com"
},
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"chat_messages": [
{
"id": "claude_chat_msg_abc123",
"role": "user",
"created_at": "2025-06-07T08:09:10Z",
"content": [
{
"type": "text",
"text": "Can you help me draft requirements for our new dashboard feature?"
}
],
"files": [
{
"id": "claude_file_xyz789",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf",
"size_bytes": 12345,
"md5": "5d41402abc4b2a76b9719d911017c592",
"created_at": "2025-06-07T08:09:10Z"
}
]
},
{
"id": "claude_chat_msg_def456",
"role": "assistant",
"created_at": "2025-06-07T08:09:11Z",
"content": [
{
"type": "text",
"text": "I'd be happy to help you draft requirements for your dashboard feature..."
}
],
"artifacts": [
{
"id": "claude_artifact_abc123",
"version_id": "claude_artifact_version_xyz789",
"title": "Dashboard Requirements Draft",
"artifact_type": "text/markdown"
}
]
}
],
"has_more": false,
"first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
"last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}Chats › Files
Get file metadata
GET /v1/compliance/apps/chats/files/{claude_file_id}
Retrieves metadata for a file referenced in chat messages, without
downloading the file content. Use the sibling /content endpoint to
download the bytes.
Path parameters
-
claude_file_id: stringThe file ID (tagged ID, e.g., claude_file_abc123)
Headers
"x-api-key": optional string
Returns
-
id: stringFile ID
-
claude_chat_ids: array of stringChats this file is attached to. A file can be referenced by messages across multiple chats.
-
created_at: stringFile creation timestamp
format: date-time
-
filename: string or nullDisplay name of the file, if set
-
md5: string or nullLowercase hex MD5 of the file's preferred downloadable variant, as recorded at upload time. Null when no stored hash is available. The sibling
/contentendpoint also sets aContent-MD5header (base64 per RFC 1864) computed over the exact served bytes; when the two disagree, the header is authoritative. -
message_ids: array of stringChat message IDs this file is attached to. A file can be referenced by multiple messages.
-
mime_type: string or nullMIME type of the file's preferred downloadable variant (e.g. 'application/pdf'). May be null for files with no downloadable content (e.g. code-interpreter outputs).
-
size_bytes: number or nullSize in bytes of the file's preferred downloadable variant, if known
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/files/$CLAUDE_FILE_ID \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"id": "claude_file_xyz789",
"filename": "quarterly_report.pdf",
"mime_type": "application/pdf",
"size_bytes": 1048576,
"md5": "5d41402abc4b2a76b9719d911017c592",
"created_at": "2024-01-15T10:30:00Z",
"message_ids": [
"claude_chat_msg_abc123"
],
"claude_chat_ids": [
"claude_chat_def456"
]
}Delete file
DELETE /v1/compliance/apps/chats/files/{claude_file_id}
Permanently deletes a specific file. This is a destructive operation that cannot be undone.
Path parameters
-
claude_file_id: stringThe file ID (tagged ID, e.g., claude_file_abc123)
Headers
"x-api-key": optional string
Returns
-
type: optional "claude_file_deleted"Constant string confirming deletion
default: claude_file_deleted
-
id: stringThe ID of the file that was deleted
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/files/$CLAUDE_FILE_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"id": "claude_file_xyz789",
"type": "claude_file_deleted"
}Download file content
GET /v1/compliance/apps/chats/files/{claude_file_id}/content
Downloads the binary content of a file referenced in chat messages.
Path parameters
-
claude_file_id: stringThe file ID (tagged ID, e.g., claude_file_abc123)
Headers
"x-api-key": optional string
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/files/$CLAUDE_FILE_ID/content \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Chats › Generated Files
Get Claude-generated file metadata
GET /v1/compliance/apps/chats/generated-files/{claude_gen_file_id}
Returns metadata for a file the assistant created via tool use.
Use the sibling /content endpoint to download the bytes.
Path parameters
-
claude_gen_file_id: stringThe generated-file id (e.g., 'claude_gen_file_abc123') as returned in
chat_messages[].generated_files[].idfrom GET /apps/chats/{claude_chat_id}/messages.
Headers
"x-api-key": optional string
Returns
-
id: stringOpaque generated-file id, e.g. 'claude_gen_file_abc123'.
-
claude_chat_id: stringThe chat this generated file belongs to
-
created_at: string or nullFile creation timestamp, when available
format: date-time
-
filename: stringDisplay name of the generated file
-
md5: string or nullLowercase hex MD5 of the stored file. Null when no stored hash is available. The sibling
/contentendpoint also sets aContent-MD5header (base64 per RFC 1864) computed over the exact served bytes. -
mime_type: string or nullMIME type of the stored file, when available
-
size_bytes: number or nullSize in bytes of the stored file, when available
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/generated-files/$CLAUDE_GEN_FILE_ID \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"id": "id",
"claude_chat_id": "claude_chat_id",
"created_at": "2019-12-27T18:11:19.117Z",
"filename": "filename",
"md5": "md5",
"mime_type": "mime_type",
"size_bytes": 0
}Download a Claude-generated file
GET /v1/compliance/apps/chats/generated-files/{claude_gen_file_id}/content
Downloads the binary content of a file the assistant created via tool use.
Path parameters
-
claude_gen_file_id: stringThe generated-file id (e.g., 'claude_gen_file_abc123') as returned in
chat_messages[].generated_files[].idfrom GET /apps/chats/{claude_chat_id}/messages.
Headers
"x-api-key": optional string
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/generated-files/$CLAUDE_GEN_FILE_ID/content \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"