Export a conversation
/conversations/{conversationId}/exportsStarts an asynchronous export of one conversation. Poll the export, or listen for the export.ready webhook, to get the download URL.
Scope exports:write · Idempotent with Idempotency-Key
Path parameters
conversationIdUUIDRequiredID of the conversation.
Headers
Idempotency-KeyUUIDRequiredA UUID you generate for each write. Retrying with the same key returns the original result for 24 hours. Reusing a key with a different method, path, or body returns 409.
Body parameters
Limits an export to a date range and projection.
projectionmessages, messages_and_participantsRequiredWhat to export: messages only, or messages plus the participant list.
fromtimestampEarliest message to include. Defaults to the start of the conversation.
totimestampLatest message to include. Defaults to now.
include_filesbooleanInclude file metadata in the export.
Returns
Returns 202 Accepted with the Export object.
Errors
Failed requests return application/problem+json problem details. The errors specific to this endpoint:
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request is malformed, such as invalid JSON. |
| 401 | unauthorized | The API key is missing, revoked, or invalid. |
| 403 | insufficient_scope | The key lacks the required scope. |
| 403 | conversation_membership_required | Your app user is not a participant in this conversation. |
| 404 | not_found | The resource doesn’t exist or isn’t visible to this key. |
| 409 | idempotency_key_reused | The Idempotency-Key was already used with a different request. |
| 422 | validation_failed | A field failed validation. See field_errors. |
| 429 | rate_limited | Too many requests. Retry after Retry-After seconds. |