fulfillment_id, store_id, channel_id, and brand_id to load catalogs for that combination. When any parameter is omitted, or when no menu exists for the combination, Fire spark falls back to the merchant-wide default menu (fulfillment_id, store_id, channel_id, and brand_id all __ANY__).
When store_id, channel_id, and fulfillment_id are all provided (and not __ANY__), Fire spark checks that those entities exist and are ACTIVE (and that brand_id is ACTIVE when provided). An inactive or missing scope returns 422 with details.issues[] of { code: "SCOPE_INACTIVE", field } where field is store_id, channel_id, fulfillment_id, or brand_id.
When multiple menus share the same context and their schedules match the current time, Fire spark returns all of them in data. Menus with schedules: null are always available.
When no menu is currently in schedule, Fire spark returns every menu in data whose next availability window is closest to the current time. If several menus share that same next start time, all of them are returned.
Requires a Fire spark access token obtained through token
exchange. The token scopes requests to the
authenticated customer and merchant.
Query parameters
Request
Streaming
Omitstreaming (or send false) to keep the single JSON response below. With streaming=true, Fire spark returns Content-Type: application/x-ndjson. Each line is { "data": Menu[] } with one menu. Upsert by id (later line wins); do not replace the list.
- Fold of the first menu. The first
category_limitcategories in display order (depth-first, same as the storefront nav), each with up toproduct_limitsellable products. Each of those products includes its full customization tree (modifier_groups, nested modifiers, andbundled_items) so a customer can open customization immediately.recommendationsis[]. - Full first menu. The complete first menu from the non-streaming payload.
- Remaining menus. One full menu per line, in catalog order.
Response
The response wraps an array of menu objects indata. Only ACTIVE menus are returned. When at least one menu is in schedule now, every matching menu is included. Otherwise, Fire spark includes the menu or menus whose next scheduled window starts soonest.
Menu object
schedules
schedules
An array of schedule entries, or
null when there is no schedule restriction. Each entry represents one day of the week:Each period:
products
products
Each product in a composed menu includes catalog fields plus context-specific pricing and availability:
Each
availability object:Each
bundled_items entry:Example product
categories
categories
Each category in a composed menu:
Each entry in
items:Each
availability object:Example category
modifier_groups
modifier_groups
Each modifier group in a composed menu:
Example modifier group
variant_groups
variant_groups
Each variant group:
Each entry in
variants:Example variant group
pricing
pricing
Product pricing in a composed menu:
Each
modifiers entry adds: