> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ontora.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Export transcripts and reports

> Pull individual transcripts, ZIP archives, dashboard summaries, and full synthesis reports as Markdown.

Ontora offers four export endpoints, all returning Markdown (or a ZIP of Markdown). All require an API key with the `exports` scope.

<Note>
  Use a **workspace API key** for these endpoints. Vault retrieval keys only work with the `/v1/retrieval` endpoints and cannot export campaign transcripts or reports.
</Note>

## A single transcript

```bash theme={null}
curl https://api.ontora.com/v1/interviews/$ID/export/transcript/$CONVERSATION_ID \
  -H "X-API-Key: $ONTORA_API_KEY" \
  -o sam-transcript.md
```

The Markdown includes contact metadata, the conversation date, and turn-by-turn dialogue with timestamps.

## All transcripts as a ZIP

```bash theme={null}
curl https://api.ontora.com/v1/interviews/$ID/export/transcripts \
  -H "X-API-Key: $ONTORA_API_KEY" \
  -o transcripts.zip
```

The archive contains one `.md` file per completed conversation, named by contact.

## Dashboard summary

A short Markdown summary of the campaign — useful for embedding in PR descriptions, Notion pages, or status updates.

```bash theme={null}
curl https://api.ontora.com/v1/interviews/$ID/export/summary \
  -H "X-API-Key: $ONTORA_API_KEY" \
  -o summary.md
```

## Full synthesis report

The full report combines cartography, roadmap, and personas into a single long-form Markdown document — ready to send to a stakeholder.

```bash theme={null}
curl https://api.ontora.com/v1/interviews/$ID/export/report \
  -H "X-API-Key: $ONTORA_API_KEY" \
  -o report.md
```

## CLI shortcuts

```bash theme={null}
ontora transcripts get $ID $CONVERSATION_ID > transcript.md
ontora transcripts export $ID -o transcripts.zip
ontora reports show $ID                   # dashboard summary
ontora reports export $ID -o report.md    # full report
```

## When the report isn't ready yet

If you call the export endpoints before synthesis has completed, you'll get a `409 Conflict` with a `synthesis_pending` error. Subscribe to [`synthesis.completed`](/webhooks/events) instead of polling.
