Check an order

The state of one of your orders, with its accounts exactly as they were delivered.

GETPOST/api/v1/order

Use 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

ParameterDescription
idrequiredThe order_id from the buy, or the order token. order_id also works.
resultjson 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_at and warranty_ends_at are unix milliseconds.
  • warranty_hours is 12 for an order bought with extended_warranty=1 (then warranty_extended is true), otherwise 6. warranty_ends_at is the delivery time plus those hours.
  • preorder is true for an order placed as a pre-order, and stays true once it is filled. deliveryWindow holds its delivery hours, or null for any time and for every normal order. A pre-order's accounts stay 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.

StateMeaning
awaiting_paymentCreated, not paid yet.
preorderPaid, waiting for stock. You can still change its delivery hours or cancel it for a full refund.
processingPaid, being sourced right now.
partialSome accounts delivered, the rest refunded.
deliveredEverything delivered. accounts is filled and the warranty is running.
refundedNothing delivered, money returned.
cancelledThe order was cancelled.

Errors

CodeHTTPMeaning
E1001401The key is missing, malformed, revoked or unknown.
E1002429Too many requests. Wait for the minute to roll over and retry. See Rate limits.
E1101400You did not send id.
E1602404No order with that id.
E1603403That order was not bought by this key's account, so this key cannot see or act on it.
E1702403The 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.

Check an order (GET /order) · API reference · nfa.pub