OneTablet API Documentation

List reports

POST/management/reports/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.

Safe to retry: this operation is read-only and idempotent.

Request

application/json
required
  • 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.limit defaults to 50 and above 100 is a 400.

Responses

200 — A page of your organization's reports, newest first, and the cursor for the next page.

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 requestedAt first. List entries never carry files: call fetchReport for a download URL.

  • nextCursorstring

    Pass back as page.cursor for 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.