> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Get order

> Read a single order by any of its references, with field projection. The order must belong to the account and vendor bound to your API key.

Returns a single order projected according to `fields`. If the order does not exist — or belongs to
another tenant — the response is `404` (existence is never leaked across tenants).

## Authentication

<ParamField header="x-api-key" type="string" required>
  Your Fire API key with the `orders:read` scope. The key **must be vendor-scoped** — keys without a
  `vendorId` are rejected with `403`.
</ParamField>

## Path parameters

<ParamField path="orderId" type="string" required>
  Any of the order's three public references:

  | reference           | what it is                                  |
  | ------------------- | ------------------------------------------- |
  | `orders.id`         | Fire's internal UUID                        |
  | `order_external`    | the id you assigned when creating the order |
  | `metadata.order_id` | a copy of the external id inside the order  |

  No translation needed: use the id you already have.
</ParamField>

<Note>
  This is the same set of references accepted by [Cancel order](/en/api-reference/cancel-order), so the
  id you created the order with also works to read it back.
</Note>

## Query parameters

<ParamField query="fields" type="string">
  Projection — see [Field projection](/en/api-reference/list-orders#field-projection). Omit to
  return every field.
</ParamField>

## Request

<RequestExample>
  ```http theme={null}
  GET https://api.fire.rest/api/v1/fire/external/orders/7e2b8c10-1a2b-4c3d-8e9f-0a1b2c3d4e5f?fields=id,orderCode,status,orderLines,totals
  x-api-key: <your_api_key>
  ```
</RequestExample>

## Response

A single order object, projected according to `fields`. See the full field list in
[Field projection](/en/api-reference/list-orders#field-projection).

To follow an order that is being charged in parts, ask for `settlement` (how much has been collected)
and `payments` (with what) — see
[Payment progress](/en/api-reference/list-orders#payment-progress-settlement-and-payments).

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "7e2b8c10-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
    "orderCode": "OC-1024",
    "status": "COMPLETED",
    "orderLines": [
      { "productId": "p1", "quantity": 2 }
    ],
    "totals": [
      { "currencyCode": "USD", "total": 125000 }
    ]
  }
  ```

  ```json 200 — an order still being charged (fields=orderCode,status,settlement,payments) theme={null}
  {
    "orderCode": "OC-1024",
    "status": "OPEN",
    "settlement": {
      "status": "recorded",
      "origin": "ledger",
      "paidSoFar": "200000",
      "total": "359000",
      "currencyCode": "BRL",
      "tenderCount": 1,
      "declinedCount": 0,
      "amountMismatch": true
    },
    "payments": [
      {
        "status": "approved",
        "amount": "200000",
        "currencyCode": "BRL",
        "method": "CASH",
        "transactionId": "POS-0001",
        "occurredAt": "2026-07-30T16:20:04.000Z"
      }
    ]
  }
  ```

  ```json 409 — the reference matches more than one order theme={null}
  {
    "success": false,
    "error": "CONFLICT",
    "message": "External order id ORD-77 matches 2 orders across vendors; cannot disambiguate"
  }
  ```

  ```json 404 — not found or another tenant theme={null}
  {
    "success": false,
    "error": "NOT_FOUND",
    "message": "Order not found with ID 7e2b8c10-1a2b-4c3d-8e9f-0a1b2c3d4e5f"
  }
  ```
</ResponseExample>

## Related

<CardGroup cols={2}>
  <Card title="List orders" icon="receipt" href="/en/api-reference/list-orders">
    List all orders of your account and vendor.
  </Card>

  <Card title="List store orders" icon="store" href="/en/api-reference/list-store-orders">
    List the orders of a specific store.
  </Card>
</CardGroup>
