Skip to main content
Elke succesvolle toolcall geeft één envelop terug, dubbel geleverd in het MCP-resultaat: als structuredContent en als de JSON-tekst van het eerste content-blok. Lees wat je client blootstelt; ze zijn identiek. Elke tool publiceert een bijpassende outputSchema, dus een spec-compliant client valideert structuredContent daartegen.

data

  • List-tools geven data.results terug, een array.
  • Detail-tools (get-venue, get-order, get-menu, get-payment-link, get-order-stats, de twee writes) geven het record zelf terug in data.
  • get-snooze-report geeft een samenvatting, een tijdreeks en een gepagineerde items-array samen terug.
  • Velden zijn per resource op een allowlist gezet. Wat niet in de outputSchema van een tool staat, wordt nooit verstuurd, wat het onderliggende record ook bevat.

meta

meta is strikt: er verschijnen geen ongedocumenteerde sleutels en nieuwe sleutels komen bij een versiebump.

Paginering

Pagina’s beginnen bij 1. limit is begrensd op 100 (25 voor list-top-products) en stilzwijgend verlaagd als je om meer vraagt. hasMore en nextPage komen uit het ophalen van één rij voorbij de pagina, dus ze zijn altijd exact. total is null wanneer de tool niet telt, en kan als totalIsEstimate: true worden gevlagd op grote orderlijsten waar een exacte telling te traag is. Stuur loops aan vanuit hasMore, niet vanuit total:
Lijsten zijn live; een record dat tussen pagina’s wordt aangemaakt, kan volgende pagina’s verschuiven.

Datums en tijdzones

Inputs (from, to) accepteren:
  • YYYY-MM-DD — een lokale kalenderdatum in de effectieve tijdzone, inclusief aan beide uiteinden (to: "2026-09-18" loopt door tot 23:59:59.999 die dag); of
  • een ISO-datetime met Z of een numerieke offset en hoogstens drie fractionele cijfers, bijv. 2026-09-18T14:00:00+01:00. Datetimes zonder offset worden geweigerd.
De effectieve tijdzone is timezone indien opgegeven, anders de tijdzone van het filiaal wanneer venueId is meegegeven, anders UTC. meta.timezone vermeldt altijd welke is gebruikt. Bereiken mogen hoogstens 90 lokale kalenderdagen beslaan; langere bereiken worden afgewezen met INVALID_INPUT. Elke tool heeft een standaardbereik (7 of 30 dagen) en een basis — creation, fulfillment, refund of snooze_overlap — die zegt welke tijdstempel het bereik filtert; zie Tools. meta.dateRange echoot het opgeloste bereik zodat een client precies kan tonen wat is meegeteld. Write-inputs (startDate, endDate, expiresAt) moeten volledige ISO-tijdstempels met een offset zijn. Alleen-datum-waarden worden voor writes niet geaccepteerd.

Geld

Alle bedragen zijn integers in minor currency units (pence, cents) en worden nooit omgerekend. De valuta reist mee met de data — als een currency-veld op venues, orders, rekeningen en links, en als meta.currencyCodes voor het resultaat als geheel. codeAmount op een percentagekorting is in tienden van een procent, niet in een valuta-bedrag. Account-brede stats en top-productqueries op een account waarvan de filialen meerdere valuta gebruiken, worden geweigerd (INVALID_INPUT); geef venueId mee.

Afbeeldingen

get-payment-link-qr is de enige tool die binaire data teruggeeft. Zijn content-array bevat het JSON-tekstblok gevolgd door een native MCP-afbeeldingsblok:
structuredContent bevat alleen de checkout-URL en de linkmetadata; er is geen base64-veld binnen data.

Errors

Een mislukte call is geen envelop. Het is een isError: true-resultaat waarvan het enige tekstblok een { error }-object is, zonder structuredContent. Zie Errors.