fetchReport
Get one report. When it is ready, each entry in files carries a signed downloadUrl that works for 24 hours (expiresAt) with no credentials — treat it as a secret. Every call mints a fresh URL, so an expired one never requires regenerating the report: call this again.
404 when reportId does not exist or belongs to another organization — the two are indistinguishable by design.
Request
- reportIdstring
The
reportIdreturned bycreateReportor listed byfetchReports. Required.
{
"reportId": "00000000-0000-0000-0000-000000000000"
}Responses
- reportReport
The report. When
statusisreadyit carriesfiles, each with a fresh download URL.
About Reports
Partner reporting. Coverage and every report are tenant-scoped and never global: the organization is the one the API key authenticates, and no request field can name another.
createReport is a WRITE and is classified as one in ManagementApiKeyHook.
NOT IMPLEMENTED: replay via Idempotency-Key (ONE-2950 decides the platform-wide answer). The published contract declares the header on createReport; it is accepted and IGNORED today, so a retried createReport requests a second report with a new reportId. That wastes platform budget but corrupts nothing — each report is an independent file. Treat a timeout as "may have succeeded" and check fetchReports before retrying.