Skip to main content
GET
/
orders
List purchase history
curl --request GET \
  --url https://csboard.com/v1/orders \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "order_id": "ord_01J9Z3K8Q2",
      "steam_id": "76561198000000000",
      "status": "completed",
      "custom_id": "batch-2026-06-29-01",
      "currency": "USD",
      "charged_total_usd": 26.47,
      "item_count": 2,
      "hold_until": null,
      "created_at": "2026-06-29T17:12:04Z",
      "updated_at": "2026-06-29T17:15:40Z",
      "items": [
        {
          "market_hash_name": "AK-47 | Redline (Minimal Wear)",
          "price_usd": 14.37,
          "status": "delivered",
          "tradable_at": "2026-07-06T12:00:00Z",
          "return_reason": null,
          "steam_trade_offer_id": "5512345678",
          "steam_trade_offer_finished_at": "2026-06-29T17:15:40Z"
        }
      ]
    }
  ],
  "meta": {
    "next_cursor": "eyJpZCI6Im9yZF8wMUo5WjNLOFEyIn0=",
    "per_page": 50
  }
}
The orders endpoint returns your purchase history, newest first, using keyset pagination. Filter by a time window and by status, then walk older pages by passing meta.next_cursor back as cursor. Each order carries a per-item breakdown with delivery status. Authentication required. Send your key as Authorization: Bearer csb_pub_....

Query parameters

limit
integer
default:"50"
Results per page. Minimum 1, maximum 100.
start_unix_time
integer
Only return orders created at or after this Unix timestamp (seconds).
end_unix_time
integer
Only return orders created at or before this Unix timestamp (seconds).
status
string
Filter by order status. One of: completed, hold, delivering, pending, cancelled, failed.
cursor
string
Keyset cursor from a previous response’s meta.next_cursor. Pass it to fetch the next page.

Response fields

data
Order[]
required
Array of orders for this page.
meta
object
required

Example request

curl "https://csboard.com/v1/orders?status=completed&limit=50" \
  -H "Authorization: Bearer csb_pub_..."

Example response

{
  "data": [
    {
      "order_id": "ord_01J9Z3K8Q2",
      "steam_id": "76561198000000000",
      "status": "completed",
      "custom_id": "batch-2026-06-29-01",
      "currency": "USD",
      "charged_total_usd": 26.47,
      "item_count": 2,
      "hold_until": null,
      "created_at": "2026-06-29T17:12:04Z",
      "updated_at": "2026-06-29T17:15:40Z",
      "items": [
        {
          "market_hash_name": "AK-47 | Redline (Minimal Wear)",
          "price_usd": 14.37,
          "status": "delivered",
          "tradable_at": "2026-07-06T12:00:00Z",
          "return_reason": null,
          "steam_trade_offer_id": "5512345678",
          "steam_trade_offer_finished_at": "2026-06-29T17:15:40Z"
        }
      ]
    }
  ],
  "meta": { "next_cursor": "eyJpZCI6Im9yZF8wMUo5WjNLOFEyIn0=", "per_page": 50 }
}

Error codes

HTTP statusCodeMeaning
401missing_api_key / invalid_api_keyMissing or invalid API key.
422invalid_requestInvalid query parameters (e.g. limit out of range).
429rate_limit_exceededToo many requests. Back off for the Retry-After header value.

Authorizations

Authorization
string
header
required

Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.

Query Parameters

limit
integer
default:50

Results per page. 1–100. Default 50.

Required range: 1 <= x <= 100
start_unix_time
integer

Only orders created at or after this Unix timestamp (seconds).

end_unix_time
integer

Only orders created at or before this Unix timestamp (seconds).

status
enum<string>

Filter by order status.

Available options:
completed,
hold,
delivering,
pending,
cancelled,
failed
cursor
string

Keyset cursor from a previous response's meta.next_cursor.

Response

A page of orders.

data
object[]
required
meta
object
required