Skip to main content

Create Export

Endpointโ€‹

POST /v1/exports

Requires an API key with the reports:read scope.

Request Bodyโ€‹

FieldTypeRequiredDescription
datasetstringYesWhat the file is about โ€” see the dataset list
formatstringNocsv (default), xlsx or pdf; myob for the myob dataset
columnsarrayNoOnly these columns, in this order. Omit for the usual ones. An unknown column is refused with the valid list
date_fromstringNoOnly rows from this date (YYYY-MM-DD). Without any dates a year of history is used
date_tostringNoOnly rows up to this date (YYYY-MM-DD)
statusstringNoOnly rows with this status
payment_statusstringNoBookings only
customer_idintegerNoBookings only โ€” one customer's rows
experience_idintegerNoSessions only โ€” one experience's sessions
group_bystringNoPDF only. Break the table into sections by this column
titlestringNoWhat to call the file

Responseโ€‹

A small export is built immediately and comes back completed with a download_url. A larger one comes back pending โ€” poll Get Export until it is completed.

curl -X POST "https://app.equipdash.com/api/v1/exports" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dataset": "bookings",
"format": "xlsx",
"columns": ["id", "customer", "start_date", "total", "payment_status"],
"date_from": "2026-06-01",
"date_to": "2026-08-31",
"title": "Summer bookings"
}'
{
"data": {
"id": 42,
"dataset": "bookings",
"format": "xlsx",
"title": "Summer bookings",
"status": "completed",
"row_count": 318,
"file_size": 24576,
"expires_at": "2026-08-28T09:00:00+00:00",
"created_at": "2026-08-21T09:00:00+00:00",
"download_url": "https://app.equipdash.com/exports/42/download?expires=..&signature=.."
}
}

Errorsโ€‹

422 export_not_allowed covers every refusal, with a message saying what to change:

  • more rows than one file can hold โ€” narrow the dates or filter by status
  • too many rows for a PDF โ€” use a spreadsheet
  • a column that does not exist โ€” the valid columns are listed in the message
  • the caller may not see that dataset
  • too many exports this hour, or too many already building