Skip to content

Making requests

Base URL

https://api.canteenweb.com/api/v1/admin

All endpoints in this reference are relative to that URL. The v1 segment is the API version. Breaking changes, if we ever need them, will ship under a new version and the old one will keep working for a published period. See the changelog.

Required headers

HeaderDescriptionExample
AuthorizationBearer tokenBearer your-access-token
X-CANTEEN-ORGANIZATIONUUID of the organization the request is for9e11ee05-32a4-4898-8735-5a7f88003409
AcceptAlways application/jsonapplication/json

Accept: application/json matters. Without it an error can come back as an HTML page instead of the JSON envelope described in Responses.

Methods

The endpoints available to every token are read only and use GET. Filters go in the query string. Write endpoints (POST, PUT, DELETE) exist on the extended API and take a JSON body with Content-Type: application/json.

Example

bash
curl "https://api.canteenweb.com/api/v1/admin/orders?status=completed" \
  -H "Authorization: Bearer your-access-token" \
  -H "X-CANTEEN-ORGANIZATION: your-org-uuid" \
  -H "Accept: application/json"

Dates and time zones

Every organization has a time zone configured in the backoffice. Date filters such as start_date and end_date are interpreted in that time zone, so 2025-02-12 means the whole of February 12th where the cafeteria is, not in UTC. Timestamps in responses are ISO 8601.

Identifiers

Resources are identified by UUID, never by numeric id. UUIDs are stable and safe to store on your side.

Encoding

Requests and responses are UTF-8. Text fields such as product titles keep accents and other non ASCII characters exactly as entered in the backoffice.

Private API. Access is granted per organization.