Channel ID
Every request must include anX-Channel-Id header. This identifies which merchant’s storefront you’re accessing — it determines the outlets, menus, branding, and payment configuration the diner sees
You receive the channel ID when a merchant is onboarded to Atlas. It is a fixed identifier, not a secret
Sessions
Start by callingGET /channel with your channel ID. This creates a session and returns it in the X-Session-Id response header
Read-only endpoints (menus, stocks, timeslots, availabilities, announcements, banners, popups) work with just
X-Channel-Id — no session needed
Session lifecycle
A session holds a reference to the diner’s active cart. There’s always exactly one active cart per session at any time.- Creation: the first
GET /channelcall creates a session and returnsX-Session-Id - Reuse: pass the same
X-Session-Idon subsequentGET /channelcalls to keep the same session (and cart). Send no session, and a new one is minted - After checkout: when
POST /cart/ordersucceeds, the session’s active cart is markedis_checked_out: trueand a fresh empty cart is created for the same session. The session ID stays valid — reuse it for the diner’s next order