OneTablet API Documentation

fetchStoreMenus

POST/management/stores/fetchStoreMenus

Which menus are assigned to each of up to 100 storefronts (ONE-2622, Phase 1), each menu's operating-hours configuration, whether and when it was last published, and — where a published snapshot exists — the menu document exactly as last published to that storefront.

Snapshots are returned verbatim from OneTablet's publish history, never regenerated; a menu never published to the store carries no snapshot, and neither does one whose recorded snapshot exceeds this API's size cap (see MenuAssignment.snapshot's doc comment).

No pagination — pass 1-100 storeIds and chunk a larger estate across calls.

Request

application/json
required
  • storeIdsstring[]

    Store.id values to read menu assignments for, 1-100.

Responses

200 — OK
  • assignmentsStoreMenuAssignments[]

    One entry per requested storefront your organization operates that has at least one menu assigned, in request order. Requested ids that are unknown, deactivated, not yours, or have no menu assigned are omitted.

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".