# The restaurant started or stopped taking orders through this connection EVENT `store.status_changed` Take the event with the highest `seq`. Coalesced like `menu.updated`. ## Headers - `X-Partner-Signature` (string, required) `t=,v1=.")>`, one `v1=` per active secret (two during a rotation; the key is the whole `whsec_…` string). Recomputed at every attempt. Verify against the raw body, reject `t` more than 300 s off, compare in constant time. - `X-Partner-Event-Id` (string, required, pattern: `^evt_`) The event's `id`; deduplicate by it. - `X-Partner-Event-Type` (string, required, `order.accepted` | `order.ready` | `order.completed` | `order.rejected` | `order.cancelled` | `menu.updated` | `store.status_changed` | `connection.revoked`) ## Payload `application/json` - `id` (string, required, pattern: `^evt_`) - `type` (string, required, Value: `store.status_changed`) - `createdAt` (string, required, format: date-time) - `connectionId` (string, required, pattern: `^pc_[0-9a-f]{20}$`) - `data` (object, required) - `status` (string, required, `online` | `offline`) `online` while the restaurant takes orders through this connection - `reason` (string, optional) - `seq` (integer, required) Rises per connection; the highest is the current state ## Expected response ### 200 — Stored. Answer `2xx` within 3 s, as soon as the event is stored. Timeouts, network errors, `429` and `5xx` are retried (`Retry-After` first; else after about 1, 2, 10 min, then every 30 min, for 24 h). Other `4xx` and every `3xx` are final. ## Payload — Example ```json { "id": "evt_", "type": "store.status_changed", "createdAt": "2026-01-15T10:00:00Z", "connectionId": "pc_00000000000000000000", "data": { "status": "online", "reason": "string", "seq": 1 } } ```