This guide will help you optimize your ReportExport integration. Key topics include exporting reports efficiently, refreshing data when needed, and avoiding unnecessary API usage or rate-limit issues.
Streamline your report export
-
Send a request to
/ReportExportwith your desired parameters. See Export a report to learn how. -
Track the status of the job in the following way after submitting your export request:
- Poll (i.e., check periodically) the
JobsAPI by using the URIs returned in the/ReportExportresponse to the call:GET /Jobs/{Id}.
- Poll (i.e., check periodically) the
-
Once the job reaches a
Completedstate, download the file by calling:/Jobs/{Id}/Download.All completed job results are cached indefinitely, meaning your data will remain available for download at any time in the future.
Managing report data & replays
If you need refreshed or updated results for a previously completed job, use: /Jobs/{Id}/Replay endpoint. To maintain optimal performance and stay within your API rate limits, keep these best practices in mind:
- When to replay: Only trigger a replay if the original job
FAILEDorCANCELLED, or if you know the underlying data has been updated. - Timing is key: Avoid replaying a job immediately after the initial request. For the most up-to-date information, request exports later in the day or the following day once datasets have fully synchronized.
- Avoid redundancy: Don't call
/ReportExportagain with the same parameters to refresh data; it won't change the results and will simply count against your quota. - Optimize range: Use smaller date ranges whenever possible to improve download performance and reduce export size.
- Limit frequency: Avoid integrations that repeatedly trigger replays or re-run the same report multiple times per day.
Frequently asked questions
How long are results available for download?
Results are currently stored indefinitely.
Is there a limit to how often I can poll for a status?
No, there is no specific limiter on polling.
Why am I getting the same Job ID every time I call /ReportExport?
The system detects duplicates requests with identical parameters and returns the existing JobId to save resources. A new ID is only generated if parameters change or if a new calendar day has passed (for default date ranges).