> For the complete documentation index, see [llms.txt](https://savefee.gitbook.io/savefee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://savefee.gitbook.io/savefee/api-reference/get-v1-orders-orderid.md).

# GET /v1/orders/{orderId}

## Request

```bash
curl https://api.savefee.io/v1/orders/65f1a2b3c4d5e6f708192a3b \
  -H "Authorization: Bearer $SAVEFEE_API_KEY"
```

| Parameter | In   | Description                                  |
| --------- | ---- | -------------------------------------------- |
| `orderId` | path | The 24-hex id returned by `POST /v1/orders`. |

## Response `200`

```json
{
  "order": {
    "orderId": "65f1a2b3c4d5e6f708192a3b",
    "status": "fulfilled",
    "receiver": "T…",
    "resource": "ENERGY",
    "resourceAmount": 50000,
    "remainAmount": 0,
    "isMatching": false,
    "durationSec": 3600,
    "totalCostSun": 1400000,
    "createdAt": "2026-08-07T03:47:44.439Z"
  }
}
```

Note the singular `order` wrapper, in contrast to the `orders` array returned by `POST`.

| Field            | Description                                                                                |
| ---------------- | ------------------------------------------------------------------------------------------ |
| `status`         | `pending`, `matching`, `executing` or `fulfilled`. `fulfilled` is the only finished state. |
| `resourceAmount` | Energy ordered.                                                                            |
| `remainAmount`   | Energy not yet delegated. `0` once fulfilled.                                              |
| `isMatching`     | Whether the order is still being matched.                                                  |
| `totalCostSun`   | What you were charged.                                                                     |

Keep polling on any status other than `fulfilled`, including one you do not recognise. See **Track an order** for the full lifecycle.

## Errors

| Status | `code`                    | Cause                                                             |
| ------ | ------------------------- | ----------------------------------------------------------------- |
| `401`  | `api_key.invalid`         | Key missing or invalid.                                           |
| `401`  | `api_key.revoked`         | The key was revoked.                                              |
| `403`  | `api_keys.ip_not_allowed` | The key has an IP allowlist and your source address is not on it. |
| `404`  | `not_found`               | Unknown id, or an order not created by this key's account.        |

Orders are owner-scoped, so a key can only read the orders it created.
