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
- 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.
- limitnumber
{
"page": {
"limit": 50,
"cursor": "<cursor>"
}
}Responses
- brandsobject[]
The page of brands, sorted by
nameascending.- 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;
nameis the slug. - organizationIdstring
The organization that owns the brand (ONE-2618, additive) — always the one your api key resolves to on
fetchBrandsrows. 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.
- idstring
- 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).