> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools

> Referentie voor de 18 merchant MCP-tools: inputs, defaults, datumbasis en outputs. Zestien reads en twee writes, gescoped op het account.

Alle tools zijn beperkt tot het geauthenticeerde account; `venueId` beperkt tot één filiaal op dat account en wordt geweigerd (`NOT_FOUND`) voor elk ander. Elke tool geeft de [`{ data, meta }`-envelop](/docs/nl/developers/mcp/response-format) terug; elke fout is een [`isError`-resultaat](/docs/nl/developers/mcp/errors).

## Gedeelde inputs

Deze parameters komen bij meerdere tools voor en gedragen zich overal identiek.

| Parameter | Type | Opmerkingen |
| - | - | - |
| `page` | integer ≥ 1 | Default `1` |
| `limit` | integer 1–100 | Per-tool defaults hieronder; `list-top-products` topt op 25 |
| `from`, `to` | string | `YYYY-MM-DD` of ISO-datetime met `Z`/numerieke offset (≤ 3 fractionele cijfers). Alleen-datum-waarden zijn lokale kalenderdagen in de effectieve tijdzone, inclusief. Bereik ≤ 90 lokale dagen |
| `timezone` | IANA-naam | Overschrijft de effectieve tijdzone. Default: de tijdzone van het filiaal wanneer `venueId` is meegegeven, anders `UTC` |
| `dateBasis` | enum | Welke tijdstempel het datumbereik filtert — zie elke tool |

Elke enum hieronder is een vaste lijst die door de server wordt gevalideerd; elke andere waarde wordt afgewezen met `INVALID_INPUT`. Waarden voor fulfillmentmethode, waar geaccepteerd, zijn precies: `InStore`, `Delivery`, `Pickup`, `Curbside`, `Billpay`, `CateringDelivery`, `CateringPickup`.

## Venues

### `list-venues`

Read. Begin hier: zo ontdekt een agent venue-IDs.

| Input | Opmerkingen |
| - | - |
| `archived` | `true` toont alleen gearchiveerde venues; standaard alleen actieve |
| `page`, `limit` | Default limit 100 |

Geeft `data.results[]` van venue-samenvattingen terug: `id`, `name`, `slug`, `timezone`, `currency`, adres en fulfillment-capabilities.

### `get-venue`

Read.

| Input | Opmerkingen |
| - | - |
| `venueId` | Verplicht |

Geeft het filiaal terug met adres, openingstijden per fulfillmentmethode, prep times, bezorgkosten en servicekosten.

## Orders

### `list-orders`

Read. Geweigerde en geannuleerde bestellingen worden uitgesloten, tenzij geselecteerd met `status`. `pagination.total` kan een schatting zijn; pagineer op `hasMore`.

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel |
| `status` | Exacte opgeslagen status: `New`, `Received`, `Pending`, `Accepted`, `Preparing`, `Ready For Pickup`, `Out for Delivery`, `Delivered`, `Complete`, `Rejected`, `Cancelled`, `Failed`, `Retrying`, `Syncing` |
| `fulfillmentMethod` | Zie gedeelde waarden |
| `from`, `to`, `timezone` | Default laatste 7 lokale dagen |
| `dateBasis` | `fulfillment` (default: geplande tijd, terugvallend op aanmaak) of `creation` |
| `page`, `limit` | Default limit 50 |

### `get-order`

Read.

| Input | Opmerkingen |
| - | - |
| `orderId` | Korte alfanumerieke order-ID |

Geeft regelitems met modifiers terug, plus prijsopbouw (subtotaal, bezorgkosten, servicekosten, fooi, korting), klant, tafel/gebied, bezorgadres en refundhistorie.

### `get-order-events`

Read. Het levenscyclus-audit trail van de bestelling: statuswijzigingen, POS-dispatchresultaten, bezorgupdates.

| Input | Opmerkingen |
| - | - |
| `orderId` | Verplicht |
| `page`, `limit` | Default limit 100 |

## Menus

### `list-menus`

Read.

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel |
| `showArchived` | Default `false` |
| `page`, `limit` | Default limit 100 |

Geeft menu's terug met venue-toewijzing en actieve/gearchiveerde status.

### `get-menu`

Read.

| Input | Opmerkingen |
| - | - |
| `menuId` | Menu-ID (string) |

Geeft categorieën terug met weergavevolgorde, en producten met prijzen, beschikbaarheid, voorraadtracking en tags. Niet gepagineerd.

## Snoozing

### `get-snooze-report`

Read. Snoozes die overlappen met het interval. De samenvatting en tijdreeks bestrijken het hele interval; items zijn gepagineerd.

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel |
| `from`, `to`, `timezone` | Default laatste 7 lokale dagen |
| `source` | `manual`, `deliverect`, `lightspeed`, `zonal` |
| `includeEvents` | Per-item aan/uit-events; default `false` |
| `eventLimit` | 1–100, default 100. Items die het overschrijden worden `eventsTruncated` gevlagd |
| `page`, `limit` | Default limit 50 |

## Stats

### `get-order-stats`

Read. Aantal bestellingen, som van ordertotalen en gemiddelde orderwaarde **op ordercreatietijd**, naast de voorafgaande periode van gelijke lengte. Totalen sluiten geweigerde/geannuleerde bestellingen uit en zijn niet netto van refunds (een `meta.warnings`-entry meldt dit). Op een account waarvan de filialen meerdere valuta gebruiken, is `venueId` verplicht (`INVALID_INPUT`).

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel, zie hierboven |
| `period` | 1–90 lokale dagen inclusief vandaag; default 30. Niet met `from`/`to` |
| `from`, `to`, `timezone` | Alternatief voor `period` |

### `list-top-products`

Read. Producten gerangschikt op verkochte hoeveelheid, op ordercreatietijd. Prijzen zijn de **huidige** catalogusprijzen, geen historische verkoopprijzen. Multi-valuta-accounts moeten `venueId` meegeven.

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel, zie hierboven |
| `from`, `to`, `timezone` | Default laatste 30 lokale dagen |
| `page`, `limit` | Default limit 10, max 25 |

## Discounts

### `list-discount-codes`

Read.

| Input | Opmerkingen |
| - | - |
| `venueId` | Codes toegewezen aan dit filiaal |
| `showArchived` | Default `false` |
| `page`, `limit` | Default limit 100 |

Geeft code, type, bedrag, gebruikstatistieken en geldigheidsdatums terug.

### `create-discount-code`

**Write.** `readOnlyHint: false`, `idempotentHint: false`. De code moet uniek zijn per filiaal (`CONFLICT` anders) en wordt in lowercase opgeslagen.

| Input | Opmerkingen |
| - | - |
| `code` | Verplicht |
| `type` | `fixed`, `percent`, `buyonegetonefree`, `freedelivery` |
| `codeAmount` | Minor units voor `fixed`; **tienden van een procent** voor `percent` (`100` = 10%); `0` voor de andere twee |
| `venues[]` | Verplicht, ≥ 1: `{ id, enabled? }` (`enabled` default `true`) |
| `description` | Optioneel |
| `usageLimit` | Totale gebruiken; `0` = onbeperkt (default) |
| `usageLimitPerUser` | Per klant-e-mail; `0` = onbeperkt (default) |
| `minimumAmount` | Minimum subtotaal, minor units; default `0` |
| `maxDiscountAmount` | Cap op de korting, minor units; `0` = geen cap |
| `startDate`, `endDate` | ISO-tijdstempels **met offset**; laat weg voor onmiddellijk / geen vervaldatum. `endDate` moet volgen op `startDate` |
| `fulfillmentMethods[]` | Beperk tot methodes; laat weg voor alle |
| `autoApply` | Automatisch toepassen bij checkout; default `false` |

Geeft de aangemaakte kortingscode terug in `data`.

## Refunds

### `list-refunds`

Read. Alleen geslaagde refunds.

| Input | Opmerkingen |
| - | - |
| `venueId` | **Verplicht** |
| `from`, `to`, `timezone` | Default laatste 7 lokale dagen |
| `dateBasis` | `refund` (default: wanneer de refund is gedaan) of `creation` (wanneer de oorspronkelijke bestelling werd geplaatst) |
| `page`, `limit` | Default limit 50 |

## Pay at Table

### `list-bills`

Read. Rekeningen op aanmaaktijd.

| Input | Opmerkingen |
| - | - |
| `venueId` | **Verplicht** |
| `status` | `open`, `closed` |
| `from`, `to`, `timezone` | Default laatste 7 lokale dagen |
| `page`, `limit` | Default limit 50 |

Geeft status, valuta, totaal, openstaand bedrag, aantal couverts en tafelnaam terug.

## Payment Links

### `list-payment-links`

Read.

| Input | Opmerkingen |
| - | - |
| `venueId` | Optioneel |
| `status` | `active`, `inactive`, `expired`, `completed` |
| `type` | `one_off`, `reusable` |
| `page`, `limit` | Default limit 20 |

Geeft linkdetails met betalingsstatistieken terug.

### `get-payment-link`

Read.

| Input | Opmerkingen |
| - | - |
| `id` | Extern ID, `plink_…` |

### `create-payment-link`

**Write.** `readOnlyHint: false`, `idempotentHint: false`. De link is actief zodra deze wordt aangemaakt.

| Input | Opmerkingen |
| - | - |
| `venueId` | Verplicht |
| `type` | `one_off` (deactiveert na één betaling) of `reusable` |
| `amountType` | `fixed` of `variable` |
| `amount` | Minor units, 1–1.000.000. Verplicht voor `fixed`, verboden voor `variable` |
| `title` | Verplicht, ≤ 255 tekens |
| `description`, `reference` | Optioneel; `reference` ≤ 255 tekens |
| `expiresAt` | ISO-tijdstempel met offset; laat weg voor geen vervaldatum |
| `minAmount`, `maxAmount` | Bounds voor `variable`, minor units, ≤ 1.000.000 |
| `maxPayments` | Alleen `reusable`; deactiveert na dit aantal betalingen |
| `imageUrl` | URL getoond op checkout |
| `successMode` | `thank_you` (default) of `redirect` |
| `successMessage` | Alleen `thank_you`-modus |
| `successRedirectUrl` | Verplicht wanneer `successMode` `redirect` is |
| `collectBusinessName`, `collectCustomerName`, `collectEmail`, `collectPhone` | Booleans, default `false` |

Geeft de aangemaakte link terug in `data`. Vuurt de `payment_link.created` [webhook](/docs/nl/developers/webhooks/webhook-events) af.

### `get-payment-link-qr`

Read. De enige tool die een afbeelding teruggeeft.

| Input | Opmerkingen |
| - | - |
| `id` | Extern ID, `plink_…` |
| `size` | Pixels, 100–2000; default 500 |

Het resultaat bevat de checkout-metadata in `structuredContent` (en het JSON-tekstblok) plus een native MCP `image/png`-contentblok. Er is geen base64-veld binnen `data`.


## Related topics

- [WebMCP-tools](/docs/nl/developers/agents/ordering/webmcp.md)
- [Bouw je eigen tools op storekit](/docs/nl/guides/build/overview.md)
- [Merchant MCP-overzicht](/docs/nl/developers/mcp/overview.md)
- [Referentie betaallinks](/docs/nl/payment-links/reference.md)
- [Errors](/docs/nl/developers/mcp/errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.