Export Daily Financials
GET/api/export/daily-financials
Returns the full daily financial summary dataset as JSON for export, honoring the same filters and sorting as the daily summary listing (GET /api/v2/financials/daily-summary) but without pagination.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Each row aggregates one day's financial activity for a subject: either a product (units sold, revenue, cost, profit for that SKU on that day) or a financial line type (order-level amounts such as shipping revenue or transaction fees). The reportable object identifies the subject.
The response contains every matching row, so filter by date range to keep payloads manageable on large accounts.
Large result sets are exported asynchronously: when the filtered dataset exceeds 1000 rows the endpoint dispatches a background CSV export job and responds with a tracked_job_log_id (queued=true) instead of the inline rows. Poll the job by its tracked_job_log_id and fetch the finished file from GET /api/export/download?file={filename}. Smaller result sets return the rows inline as shown below.
Authentication: Requires Bearer token.
Response shape - delivery. By default an export of up to 1,000 rows is returned directly in this response, and a larger one runs in the background and returns {"tracked_job_log_id": ..., "queued": true}. Pass delivery=job to get the job response every time: a small export still runs immediately (it is never queued) and comes back already finished - {"tracked_job_log_id": ..., "queued": false, "status": "completed", "results": {"download_url": ..., "record_count": ...}} - while a large one is queued exactly as before. scope=current_page always returns the page directly, whatever delivery says. Use it when your client expects one flow for every export (start, then check GET /api/tracked-job-logs/{trackedJobLog}, then download), such as an ETL connector. Subscribe to the export.completed webhook to be told when a queued export is ready instead of polling.
Signed-in (session) users need access to the Daily Financial Summary report, as on the report page itself; API tokens are governed by their scopes.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.