OneTablet API Documentation

fetchStoreItems

POST/management/item-availability/fetchStoreItems

The item catalogue for ONE STOREFRONT (ONE-2746) — the per-store form of fetchLocationItems, for a partner holding store ids from fetchStores rather than kitchen ids.

⚠️ AVAILABILITY IS HELD AT THE KITCHEN, NOT THE STOREFRONT. This operation resolves your storeId to its parent kitchen and answers from there, narrowed to the store's own brand. Two consequences worth designing against, both of them properties of the platform rather than of this API:

  • available is the KITCHEN's answer. Every sibling storefront of the same brand at that kitchen reports the identical value, and 86-ing an item affects all of them. The reply echoes locationId so the sharing is visible in the data, not just in this paragraph.
  • available is what OneTablet INTENDS, never what the delivery platform currently shows. A platform can independently mark an item unavailable on its own side, and this read does not see that. It is the item-level counterpart of the desired / observed split fetchStoreStatus makes explicit for the storefront itself.

A storefront being PAUSED is a separate axis again and does not change any available value here — read fetchStoreStatus for that.

Scope: the store must be one this organization owns or operates a brand out of, and items are restricted to the store's own brand. An unknown or foreign storeId is NotFound, indistinguishable by design.

Request

application/json
required
  • storeIdstring

    The Store.id whose catalogue you want.

  • querystring

    Case-insensitive name search.

  • availableboolean

    Filter to items currently available (or unavailable) at the store's kitchen.

  • pagePageRequest

    Cursor pagination.

Responses

200 — OK
  • asOfstring<date-time>

    When this response was assembled — UTC, ISO-8601. The availability values are read live at that moment; this is the freshness claim for the whole response.

  • locationIdstring

    The kitchen the answer actually came from.

    ⚠️ READ THIS BEFORE ACTING ON THE RESULT. Availability is held at the KITCHEN (location) grain, never per storefront, so this operation resolves your storeId to its parent location and reports that kitchen's catalogue. Every sibling storefront at the same kitchen sees the identical answer. Echoed here so the sharing is visible in the response rather than only in the documentation — pass it to setItemAvailability if you intend to change anything.

  • itemsItemAvailability[]

    The page of items tracked at the store's kitchen, narrowed to the store's own brand and sorted by name. Empty when nothing matches.

  • nextCursorstring

    Opaque cursor for the next page. Absent means the last page.

About Item availability

Item availability ("86-ing") — mark one item available or unavailable at one kitchen (ONE-2621, single-item shape per ONE-2904).

fetchLocationItems and setItemAvailability are ONE indivisible unit: the write is useless without the discovery read, because a partner cannot know OneTablet's item ids in advance.

NOT IMPLEMENTED ON THIS API: replay via Idempotency-Key (the published contract's parameter promises it, and nothing on the platform implements idempotent replay today; a retried setItemAvailability call re-applies rather than de-duplicating). ONE-2621 research and decision 3.