Skip to main content
An export reconstructs one conversation as a single JSON document for a compliance reviewer or an auditor: every message on every branch, every config version that answered, every tool event, every guardrail decision, and every annotation that has not been retracted. Retention is the instance setting that deletes conversation content after a period of inactivity.

Export a conversation

GET /api/v1/conversation-instances/{instance_slug}/conversations/{conversation_id}/export?end_user=... Credential: an organization API key, or a scoped key with conversations:export. conversations:use alone is not enough, because an export is a bulk disclosure rather than a conversational read. The end_user must match the conversation; a mismatch is 404 conversation_not_found.
Response 200:
The messages array above is shortened to two entries for this page; a real export holds every message.

Document fields

Internal bookkeeping blocks never appear in message content, the same as on every other read. Errors: 400 invalid_request (missing end_user), 401 unauthorized, 403 insufficient_capability, 403 instance_archived, 404 instance_not_found, 404 conversation_not_found.

Retention

retention.conversation_days in the instance config sets how long an inactive conversation is kept. See Instance configuration. How deletion works:
  • The policy is read from the instance’s latest published version. An instance that has never been published has no policy in force. A follower uses the policy of the instance it follows.
  • A deletion pass runs once a day.
  • Deletion is permanent: the conversation and its messages are removed.
  • Audit records are kept: tool events, guardrail events, usage records, and annotations survive the deletion of the conversation content.
  • An archived conversation is still subject to retention.
Attachments have their own clock. attachments.retention_days removes a file after that many days; null makes it follow the conversation. After a conversation is deleted, its remaining attachments are swept right after, in the same daily pass. Stored bytes become eligible for removal one hour after an attachment is deleted, and the next daily pass removes them. See Attachments.

Export a conversation (API reference)

The generated endpoint contract.

Data use and subprocessors

Where conversation data goes and why.
Last modified on September 25, 2026