Check an order
The state of one of your orders, with its accounts exactly as they were delivered.
GETPOST
/api/v1/orderUse it when a call timed out, a script crashed, or you are waiting for a pre-order. The accounts come back exactly as delivered, so it also recovers a response you lost.
A key is required, and only the account that bought an order can see it. Read-only keys get the state, but accounts and steam_ids stay empty: logins go to full keys only. For many orders at once, use /orders.
Request
curl "https://www.nfa.pub/api/v1/order?id=4b53000e7b4677d2-c69a8e94132d75e8&result=json" \ -H "X-Api-Key: rsk_..."Parameters
| Parameter | Description |
|---|---|
idrequired | The order_id from the buy, or the order token. order_id also works. |
result | json for the full object. Otherwise the account lines as text, or the state word when there are none. |
Response
Response
{ "ok": true, "order_id": "339620d0e1843b5b-cc957e7efa86a0db", "state": "delivered", "status": "delivered", "product_id": "rust-500-999-hours", "quantity": 1, "delivered": 1, "accounts": ["76561198987883144----eyAidHlwIjo..."], "steam_ids": ["76561198987883144"], "charged_eur": 1.45, "refunded_eur": 0, "preorder": false, "deliveryWindow": null, "created_at": 1791635461489, "delivered_at": 1791635464472, "warranty_ends_at": 1791657064472, "warranty_hours": 6, "warranty_extended": false, "error": null}created_at,delivered_atandwarranty_ends_atare unix milliseconds.warranty_hoursis 12 for an order bought withextended_warranty=1(thenwarranty_extendedistrue), otherwise 6.warranty_ends_atis the delivery time plus those hours.preorderistruefor an order placed as a pre-order, and staystrueonce it is filled.deliveryWindowholds its delivery hours, ornullfor any time and for every normal order. A pre-order'saccountsstay empty until it is delivered.
States
Branch on state, not status. state is the field we keep stable, and it uses the same words as /orders and the webhooks.
| State | Meaning |
|---|---|
awaiting_payment | Created, not paid yet. |
preorder | Paid, waiting for stock. You can still change its delivery hours or cancel it for a full refund. |
processing | Paid, being sourced right now. |
partial | Some accounts delivered, the rest refunded. |
delivered | Everything delivered. accounts is filled and the warranty is running. |
refunded | Nothing delivered, money returned. |
cancelled | The order was cancelled. |
Errors
| Code | HTTP | Meaning |
|---|---|---|
E1001 | 401 | The key is missing, malformed, revoked or unknown. |
E1002 | 429 | Too many requests. Wait for the minute to roll over and retry. See Rate limits. |
E1101 | 400 | You did not send id. |
E1602 | 404 | No order with that id. |
E1603 | 403 | That order was not bought by this key's account, so this key cannot see or act on it. |
E1702 | 403 | The request came from an IP that is not on your allowlist. |
Rate limit: 120 requests a minute per IP address. Polling a pre-order every few seconds gains nothing; the preorder.delivered webhook tells you when it lands.