Overview
Access any data table available in the Backoffice using your dashboard API Token via these endpoints:
POST /ventrata/dashboard/reportPOST /ventrata/dashboard/export
These endpoints allow you to generate the same reports and exports available in the Ventrata Backoffice—programmatically. This provides a clean and flexible way to integrate reporting and data exports into your own systems.
Prerequisites:
Create a dashboard mode connection.
Add
ventrata/dashboardto your list of capabilities.
📗 TIP
If you are unsure how to create a dashboard mode connection, please contact your Ventrata Success Manager.
Reporting API
The /report endpoint returns custom reports as an array of JSON objects.
In your Ventrata dashboard, go to any data table (for example, Bookings, Transactions, etc.).
Press the Generate Report link in the action bar.
Generate Report
Press the Reporting API cURL link to download the request body.
Reporting API cURL
Open the .curl file and:
Replace the 'Authorization' header with your dashboard token.
Dashboard Token - API Key
.curl file - Authorization header
(Optional) Modify the filters object to dynamically insert values.
.curl file - Filters
‼️ IMPORTANT
Some tables (for example, Terminals or Locations) are scope by destination. If your report returns no data, add a destination filter to the request body:
"filters": {"destination: "<destination_id>"}Filters - Destination
Destination ID
Once submitted, the API will return the full report data in JSON format.
📗 TIP
To include all the necessary filters, we recommend first generating the report manually from the dashboard. Then press the Reporting API cURL link below the generated report. This will automatically include all applied filters in the request body.
Reporting API cURL
Exporting API
The /export endpoint lets you download raw data exports (for example, bookings, payments, tickets), also as an array of JSON objects.
In the Ventrata dashboard, go to any data table in the dashboard (for example, Bookings, Transactions, etc.).
Press the Export link in the action bar.
Press Download Export API cURL to download the request body.
Export
Open the .curl file and:
Replace the 'Authorization' header with your dashboard token
Dashboard Token - API Key
.curl file - Authorization header
(Optional) Modify the filters object to fit your integration needs.
.curl file - Filters
‼️ IMPORTANT
Some tables (for example, Terminals or Locations) are scope by destination. If your report returns no data, add a destination filter to the request body:
"filters": {"destination: "<destination_id>"}Filters - Destination
Destination ID
The API will return a JSON array with your requested export data.
Available Data
Every table and column available in the Backoffice is also available through these API endpoints, including but not limited to:
Troubleshooting Common cURL Issues
If you encounter errors when running the exported .curl file, check the following:
Missing Octo-Capabilities header
Missing Octo-Capabilities header
Error example:
{
"error": "CAPABILITIES_REQUIRED",
"errorMessage": "Every request must specify what capabilities they require…"
}Cause:
Dashboard endpoints require the ventrata/dashboard capability.
Fix:
Ensure your request includes the following header:
-H "Octo-Capabilities: ventrata/dashboard"
zsh: command not found: -H or -d
zsh: command not found: -H or -d
Cause:
The shell is no longer treating the request as a single curl command.
This usually happens when line-continuation backlashes (\) are broken.
Common reasons include:
Trailing spaces after
\Backlashes removed or altered by text editors
Copying the command line-by-line instead of as a single block
Fixes:
Make sure each
\is the last character on the line (no spaces after it)curl -X POST "https://api.ventrata.com/octo/ventrata/dashboard/export" \
-H "Authorization: Bearer YOUR_DASHBOARD_TOKEN_HERE" \
-H "Content-Type: application/json" \
-H "Octo-Capabilities: ventrata/dashboard" \
-d '{
"dataset": "bookings",
"columns": [
"id",
"reference",
"status",
"created_at"
]
}'Paste the entire command at once into the terminal
Alternatively, run the commands as a single line (no backlashes)
curl -X POST "https://api.ventrata.com/octo/ventrata/dashboard/export" -H "Authorization: Bearer YOUR_DASHBOARD_TOKEN_HERE" -H "Content-Type: application/json" -H "Octo-Capabilities: ventrata/dashboard" -d '{"dataset": "bookings","columns": ["id","reference","status","created_at"]}'
Token not recognised
Token not recognised
Cause:
The Authorization header is misspelled or incorrectly formatted.
Fix:
Verify the header uses:
Authorization: Bearer YOUR_DASHBOARD_TOKEN
Text editor formatting issues
Text editor formatting issues
Some text editors (for example, Sublime Text) may:
Add invisible whitespace after backslashes
Reformat line breaks
Apply syntax rules that interfere with shell commands
📗 TIP
If issues persist:
Paste the command directly from the downloaded .curl file into the terminal
Or convert the request into a single-line curl command











