fetchReports
List your organization's reports, newest first, with cursor pagination. Use it to poll status (or rely on the report.completed webhook instead). List entries never include files.
Request
- statusesstring[]
Only reports in these statuses.
Possible values: [ready, queued, processing, failed] - platformsstring[]
Only reports for these delivery platform slugs, e.g.
ubereats. - typesstring[]
Only reports of these platform report types.
- pagePageRequest
Page size and cursor.
page.limitdefaults to 50 and above 100 is a400.
{
"statuses": [
"ready"
],
"platforms": [
"<platforms>"
],
"types": [
"<types>"
],
"page": {
"limit": 50,
"cursor": "<cursor>"
}
}Responses
- reportsReport[]
Your organization's reports, newest
requestedAtfirst. List entries never carryfiles: callfetchReportfor a download URL. - nextCursorstring
Pass back as
page.cursorfor the next page. Absent on the last page.
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.