OneTablet API Documentation

fetchBrands

POST/management/stores/fetchBrands

Your brands (menu concepts) — the top of the identity map (ONE-2618).

Cross-reference with fetchLocations and fetchStores via ids.

Scope: brands owned by the organization your api key resolves to. RETIRED brands are included, with Brand.deactivatedAt set, so an id you recorded last year still resolves.

Paging: sorted by name ascending, so the order is stable across calls. Loop until nextCursor is absent.

Request

application/json
required
  • pageobject

    Cursor pagination.

    • limitnumber

      Page size, 1-100. Defaults to 50 when omitted.

    • cursorstring

      Opaque cursor from the previous response. Omit for the first page.

Responses

200 — OK
  • brandsobject[]

    The page of brands, sorted by name ascending.

    • idstring

      OneTablet's identifier for the brand, and what the brand-scoped operations accept.

    • codestring

      Short reference code for the brand, where one has been configured.

      OFTEN ABSENT — the underlying value is optional and many brands have none. Do not key on it; it exists so a partner who supplied us a code can recognise its own record.

    • namestring

      URL-friendly unique name, lowercase and hyphenated, e.g. "jars-by-dani". Unique across all of OneTablet, so it works as a human-readable join key where there is nowhere to keep an id.

    • displayNamestring

      Public-facing brand name as shown in the portal and printed on tickets (ONE-2618, additive). The one to display; name is the slug.

    • organizationIdstring

      The organization that owns the brand (ONE-2618, additive) — always the one your api key resolves to on fetchBrands rows. Echoed so a partner holding keys for several organizations can attribute a merged result set.

    • deactivatedAtstring<date-time>

      When the brand was retired, as an ISO-8601 UTC instant (ONE-2618, additive). Absent means active.

      Retired brands ARE returned by fetchBrands, deliberately: a partner reconciling last year's orders still has to resolve the id it recorded then.

  • nextCursorstring

    Opaque cursor for the next page. Absent means the last page — that, not an empty array, is the loop terminator.

About Stores

The places you operate and the brands you operate there.

OneTablet models a restaurant business in three layers, and every other section of this API assumes them. A brand is a menu concept — what a customer sees on a delivery app. A location is a physical address with a kitchen in it. A store is one storefront: a single brand, at a single location, on a single platform — so a location running two brands on three platforms has six stores, each with its own menu, hours and pause state.

The directory reads join on IDS, never on display names: every store carries its location.id and brand.id, and a location carries the id of each brand it runs.

Start here — a location carries the timezone that every schedule, report window and business day elsewhere on this API is interpreted in.

All three reads are org-scoped to the organization your api key resolves to, and all three are reads: nothing here mutates, and nothing here calls out to a delivery platform live (ONE-2618).