setItemAvailability
Mark items available or unavailable — one item at one kitchen, or one item across every kitchen selling a brand, in the same operation.
Every itemId/sku must resolve to an item whose brand this organization owns, and every location — named directly or reached via scope.brandIds — must be one this organization owns or operates a brand out of; anything that does not resolve is reported per-pair as status: 'failed' rather than failing the whole call.
Request
- availableobject
- itemsobject[]
- itemIdstring
- skustring
- scopeobject
- locationIdsstring[]
- brandIdsstring[]
{
"available": {},
"items": [
{
"itemId": "00000000-0000-0000-0000-000000000000",
"sku": "<sku>"
}
],
"scope": {
"locationIds": [
"<locationIds>"
],
"brandIds": [
"<brandIds>"
]
}
}Responses
- resultsobject[]
- locationIdstring
- itemIdstring
- availableobject
- affectedStoreIdsstring[]
- cascadedItemIdsstring[]
- statusstringPossible values: [applied, failed]
- errorstring
About Item availability
Item availability ("86-ing") — mark items available or unavailable at one or many kitchens (ONE-2621).
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 — vendor/published-management-api.yaml:1885-1892 — 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.