Vendor APIs
For businesses selling on Kesk. One GraphQL endpoint per vertical:
Your credentials work against the vertical your business is registered under. Go straight to yours — each section is complete on its own.
The twelve verticals
| Vertical | Domain surface |
|---|---|
Menu, orders, autonomous delivery | |
Catalogue, orders, autonomous delivery | |
Catalogue, orders, autonomous delivery | |
Catalogue, orders, autonomous delivery | |
Service offerings, bookings, orders | |
Rides and dispatch | |
Parcel orders, package pricing | |
Fleets, vehicles, autonomous units | |
Properties, stay bookings | |
Rental orders, pickup and return | |
Tables, reservations, service periods, waitlist, orders | |
Facilities, pricing, availability, bookings |
Each has a generated reference built directly from its live schema, covering every type, field and argument.
The operational surface
Alongside the domain-specific parts, a vertical covers:
- Profile and settings for your vendor account
- Locations — your branches
- Webhooks — signed event delivery, so you never poll
- Bots — registered automations, with analytics
- Autonomous units on Food, Groceries, Pharmacies, Shops, Parcels and Fleet operators — drones and ground robots with their own machine credentials
Your vertical's page is self-contained: it documents everything that vertical does, so you never need to read another one.
Dining is not Food
Worth flagging because it catches people out. Dining is the front-of-house surface for a venue — tables, covers, the host stand — and it also carries the venue's menu and orders, because a restaurant taking reservations sells food too. Food is the delivery and ordering surface. A restaurant doing both is provisioned for both, as separate endpoints with separate schemas.
Before you start
- Working with GraphQL — endpoints, scalars, no subscriptions
- Errors — why HTTP 200 does not mean success
- Pagination — cursor connections and result counts
- Rate limits — 1000 requests a minute
- Code generation — generate a typed client
Common questions
Which vertical do I use?
The one your business is registered under — your credentials work against that vertical and no other. A business that does two things is provisioned for both, as separate endpoints with separate credentials.
How do I find out when an order comes in?
Webhooks: signed event delivery, so you never poll. Your vertical's page documents its own events.
Where is the full type reference?
At /vendors/<vertical>/graphql — every type, field and argument, generated
from the live schema.
Why did my request fail with HTTP 200?
Because a GraphQL failure comes back with a 200 status and the problem in an
errors array. Checking the status code is never enough. See
Errors.
How do I page through a long list?
Every list is a Relay connection paged with cursors — first/after forward,
last/before back. See Pagination.
How many requests can I make?
1000 per 60 seconds, and every response tells you what you have left. See Rate limits.