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 (heading backwards in time). 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 (heading forwards in time). 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, gte, lt, lte }-
gt: optional stringFilter messages created after this time (RFC 3339 format)
-
gte: optional stringFilter messages created at or after this time (RFC 3339 format)
-
lt: optional stringFilter messages created before this time (RFC 3339 format)
-
lte: optional stringFilter messages created at or before this time (RFC 3339 format)
-
-
limit: optional numberMaximum results (max: 1000). When omitted, the full result set is returned in one response.
-
order: optional "asc" or "desc"Sort direction for messages within the response.
asc(the default) returns oldest-first;descreturns newest-first.-
"asc" -
"desc"
-
-
updated_at: optional object { gt, gte, lt, lte }-
gt: optional stringFilter messages updated after this time (RFC 3339 format)
-
gte: optional stringFilter messages updated at or after this time (RFC 3339 format)
-
lt: optional stringFilter messages updated before this time (RFC 3339 format)
-
lte: optional stringFilter messages updated at or before this time (RFC 3339 format)
-
Header Parameters
"x-api-key": optional string
Returns
-
id: stringChat ID
-
chat_messages: array of object { id, artifacts, content, 4 more }Array of chat messages in order of created_at
-
id: stringUnique identifier for the message e.g. 'claude_chat_msg_abcd1234'
-
artifacts: array of object { id, artifact_type, title, version_id }Versioned 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: stringMIME-like artifact type e.g. 'application/vnd.ant.code'
-
title: stringArtifact title
-
version_id: stringArtifact version ID e.g. 'claude_artifact_version_abc123'
-
-
content: array of object { text, type }Content blocks within the message
-
text: stringText content from human or assistant
-
type: "text""text"
-
-
created_at: stringMessage creation timestamp - For human: when they sent the message, For assistant: when it completed the last content block
-
files: array of object { id, filename, mime_type }Binary file attachments uploaded by the user. Download via
GET /v1/compliance/apps/chats/files/{claude_file_id}/content.-
id: stringFile ID
-
filename: stringDisplay name of the file
-
mime_type: stringMIME type of the file when it was uploaded (e.g. 'application/pdf')
-
-
generated_files: array of object { id, filename, mime_type }Downloadable 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
-
mime_type: stringMIME type reported by the tool that produced the file
-
-
role: "assistant" or "user"Message sender (user or assistant)
-
"assistant" -
"user"
-
-
-
created_at: stringCreation timestamp
-
deleted_at: stringDeletion timestamp if deleted
-
first_id: stringOpaque 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. -
href: stringURL to view this chat in claude.ai
-
last_id: stringOpaque 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: stringModel selected for this chat (e.g. 'claude-opus-4-7'). May be null for legacy chats that never had a model recorded.
-
name: stringChat name
-
organization_id: stringOrganization ID this chat belongs to
-
organization_uuid: stringOrganization UUID this chat belongs to
-
project_id: stringProject ID this chat belongs to
-
updated_at: stringLast update timestamp
-
user: object { id, email_address }User information
-
id: stringUser identifier
-
email_address: stringUser's email address
-
Example
curl https://api.anthropic.com/v1/compliance/apps/chats/$CLAUDE_CHAT_ID/messages \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
Response
{
"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": "abcdef0123-4567-89ab-cdef-0123456789ab",
"project_id": "claude_proj_xyz789",
"model": "claude-opus-4-7",
"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"
}
]
},
{
"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=="
}