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
- pagePageRequest
Cursor pagination.
{
"page": {
"limit": 50,
"cursor": "<cursor>"
}
}Responses
- brandsBrand[]
The page of brands, sorted by
nameascending. - 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.
EVERY operation here is a READ, org-scoped to the organization your api key resolves to: nothing in this section mutates, and nothing here calls out to a delivery platform live (ONE-2618).
Whether a storefront is currently taking orders is NOT here — fetchStoreStatuses, pauseStores, unpauseStores and the store.status.changed webhook live in StoreStatusApi under /management/store-status (ONE-2736). This section answers "what do I operate"; that one answers "is it open right now, and does the platform agree".