List reports
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.
Safe to retry: this operation is read-only and idempotent.
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
Headers
- x-mealco-tx-idstringoptional
The correlation id for this call, echoed on every response — a 200 exactly as much as a 400, 401 or 500. Quote it when reporting a problem and we can find every log line for the request, in every service it touched. You may also send your own x-mealco-tx-id on the request and we adopt it, so your correlation id becomes ours. Not marked required for one reason: a request whose JSON body is malformed is rejected before it reaches an operation, so no id exists yet and that single response carries neither this header nor the txId field of the error body. Everything that reaches an operation carries it.
- 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 — a read-only API key is refused with 403.
Idempotency-Key is accepted on createReport 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.