No API keys, login, or tokens required
Channel ID
Every request must include an X-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 calling GET /channel with your channel ID. This creates a session and returns it in the X-Session-Id response header
curl -sD - https://api.atlas.kitchen/storefronts/v1/channel \
-H "X-Channel-Id: your-channel-id"
# Response header — save this
X-Session-Id: b7ac755d301dc5d23c790ccd7bb6dadf
Include both headers on all subsequent requests:
| Header | What it is | Where it comes from |
|---|
X-Channel-Id | Merchant’s storefront identifier | Provided during onboarding |
X-Session-Id | Diner’s session (tracks cart) | Returned by GET /channel |
GET /channel is the only endpoint that creates a session. All other endpoints require a valid X-Session-Id header — calling them without one returns 401 Unauthorized
Read-only endpoints (menus, stocks, timeslots, availabilities, announcements, banners, popups) work with just X-Channel-Id — no session needed
Sessions are lightweight — they hold a reference to the diner’s active cart. When an order is placed, the session gets a new empty cart automatically