# Read an order's status `GET https://management.horeca-24.de/api/partner/v1/orders/{externalId}` `404 ORDER_NOT_FOUND` for an unknown order, another connection's order, or one still being received. `cancellation` is present after your own cancel. ## Headers - `Authorization` (string, required): Bearer $PARTNER_API_KEY ## Path parameters - `externalId` (string, required, pattern: `^[A-Za-z0-9._~-]{1,64}$`) Your order id, as sent in `POST /orders`. ## Response ### 200 — The order's state - `orderId` (string, required, pattern: `^oo_[0-9a-f]{64}$`) Our order id - `externalId` (string, required, pattern: `^[A-Za-z0-9._~-]{1,64}$`) Your order id, unique per connection - `status` (string, required, `inProgress` | `accepted` | `ready` | `completed` | `rejected` | `cancelled`) completed, rejected and cancelled are final - `version` (integer, required, ≥ 1) 1 at receipt; +1 per status change - `updatedAt` (string, required, format: date-time) - `cancellation` (object, optional) Present after your own cancel - `status` (string, required, `approved`) - `reason` (string, optional) ## Errors - `401`: `UNAUTHORIZED`: the key is missing, malformed, unknown, wrong, expired or revoked - `403`: `CONNECTION_REVOKED`: the restaurant deleted the connection; stop sending - `404`: An error; see `ErrorCode` ## Code example (cURL) ```sh curl https://management.horeca-24.de/api/partner/v1/orders/A \ -H "Authorization: Bearer $PARTNER_API_KEY" ``` ## Response 200 — Example ```json { "orderId": "oo_5c1e2d3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d", "externalId": "A-1001", "status": "cancelled", "version": 3, "updatedAt": "2026-10-15T10:20:00.000Z", "cancellation": { "status": "approved", "reason": "Customer cancelled" } } ```