Returns the CSV file of an export job once its status is complete. The file name is <kind>-<YYYY-MM-DD>.csv, using the date the job was created.
Request#
| Path parameter | Type | Description |
|---|---|---|
id |
string | The export_id, for example export_5d2a8f1c4e7b0d3a6f9c2e5b. |
Example request#
curl https://api.tried.com.au/exports/export_5d2a8f1c4e7b0d3a6f9c2e5b/download \
-H "Authorization: Bearer $TRIED_API_KEY" \
-o calls.csvimport { writeFile } from "node:fs/promises";
const res = await fetch(
"https://api.tried.com.au/exports/export_5d2a8f1c4e7b0d3a6f9c2e5b/download",
{ headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` } },
);
await writeFile("calls.csv", await res.text());import os, requests
res = requests.get(
"https://api.tried.com.au/exports/export_5d2a8f1c4e7b0d3a6f9c2e5b/download",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
)
with open("calls.csv", "wb") as f:
f.write(res.content)Response#
200 OK with Content-Type: text/csv; charset=utf-8 and Content-Disposition: attachment; filename="calls-2026-10-20.csv".
call_id,agent_id,call_type,direction,from_number,to_number,call_status,start_timestamp,end_timestamp,duration_ms,disconnection_reason,user_sentiment,call_successful,call_summary,combined_cost,transcript
call_7b1d3f5a9c2e4b6d8f0a1c3e,agent_2f8d4b6a0c1e3f5a7b9d1c3e,phone_call,inbound,+61412345678,+61291234567,ended,1760918100000,1760918262000,162000,user_hangup,Positive,true,Caller booked a cleaning for Tuesday.,0.21,"Agent: Hi, thanks for calling..."The columns for each kind are listed on Create export. Every download is recorded in the audit log as export.download.
Errors#
| Status | When |
|---|---|
400 |
The job has not finished: Export is pending or Export is error. |
401 |
Missing or invalid API key. |
403 |
The key's IP allowlist or scopes reject the request. This route needs the admin scope. |
404 |
Export not found in this workspace. |
429 |
Rate limit exceeded. See Rate limits. |
See Errors for the body format.