post
https://api.ashbyhq.com/report.synchronous
Beta
This endpoint is currently in beta and may change without notice.
Retrieves report data synchronously.
Timeout: 30 seconds. If a report is timing out, use the asynchronous report.generate instead.
Result Style (resultStyle):
inline(default): completed report data is embedded in the response underreportData.url: for a completed report,reportDatacontainsurl(a short-lived presigned S3 download URL) andmetadatainstead of the inlinedata/columnNames. Use this to download large reports directly from S3 instead of through the API.includeHeadersInDatamust betrue(or omitted) whenresultStyleisurl.- The presigned download is served with
Content-Encoding: br(Brotli) and no content negotiation, so the client fetchingreportData.urlmust decode Brotli. Browsers,node-fetch,curlinstalled frombrew, and Pythonrequestswith thebrotli/brotlicffipackage decode it automatically; stock macOScurland a barepip install requestsdo not. - For "Show All" reports whose result is a single aggregate count, the response falls back to
inline:reportDatacontainsdata/columnNamesand nourl. Detect the fallback by checking forreportData.datawith noreportData.url. Report types that are not supported by the public API continue to return the standard "not supported" error rather than falling back.
Rate Limiting (Per Organization):
- Request limit: 15 requests per minute per organization.
- Concurrent limit: Maximum 3 report operations at once per organization (shared with
report.generate). - Rate limits are shared with
report.generatefor starting new generations.
Usage Notes:
- If you receive a 429 error, your organization has hit its limit - wait briefly and retry.
- For long-running reports, use
report.generatefor async processing. - Concurrent limit is released when the HTTP request completes.
Requires the reportsRead permission.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…

