fetchStoreStatus
Status for ONE storefront (ONE-2745) — the single-store form of fetchStoreStatuses, answering the same three things distinctly: desired, observed, discrepancy.
Identical projection, not a similar one. Every caveat on fetchStoreStatuses applies here unchanged, and lastPolledAt is still the field that tells you how much to trust observed.
NOT FOUND IS 404, AND COVERS TWO CASES ON PURPOSE, matching how the bulk read treats the same store — it simply omits it from the page:
- the
storeIddoes not exist, or belongs to another organization (indistinguishable by design, as everywhere else on this API), and - the storefront IS yours but OneTablet has never polled it, so there is no observation to report. The response message says which of the two you hit; the status code does not, because in both cases there is no status to return.
If you need the storefront's identity rather than its status, fetchStores answers for a never-polled store where this one does not.
Request
- storeIdstring
The
Store.idto read.
{
"storeId": "00000000-0000-0000-0000-000000000000"
}Responses
- statusStoreStatus
The storefront's status — the SAME
StoreStatusthe bulk read returns, not a near-identical single-store variant. An object wrapper rather than a bareStoreStatusso later versions can add sibling fields additively.
About Store status
Whether each storefront is actually taking orders — and whether OneTablet and the delivery platform agree about it.
SPLIT OUT OF Stores BY ONE-2736. Stores is the identity map: the brands, kitchens and storefronts you operate, which changes when your estate changes. This section is the OPERATIONAL layer on top of it — one read (fetchStoreStatuses), two writes (pauseStores, unpauseStores) and the store.status.changed webhook — all addressed by the Store.id values fetchStores hands you. Same api key, same org scoping, same ids; a different job, and a different route prefix (/management/store-status) so the url says which.
Three things are kept distinct throughout, and conflating them is the mistake this section exists to prevent: desired is what OneTablet is configured to do, observed is what the platform reports, and discrepancy is the classified disagreement between the two.
Org-scoped to the organization your api key resolves to, exactly as the directory reads are.