Trading
GET /v1/orders/{id} — Fetch a Single Order
Retrieve one CSBoard order by its order id, including per-item delivery status and Steam trade offer details.
GET
/
orders
/
{id}
Get a single order
curl --request GET \
--url https://csboard.com/v1/orders/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://csboard.com/v1/orders/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://csboard.com/v1/orders/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://csboard.com/v1/orders/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://csboard.com/v1/orders/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://csboard.com/v1/orders/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://csboard.com/v1/orders/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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"
}
]
}{
"code": "missing_api_key",
"detail": "Provide your API key via `Authorization: Bearer csb_pub_…`. Generate one at https://csboard.com/profile?tab=api"
}{
"code": "order_not_found",
"detail": "No order found for that id."
}{
"code": "rate_limit_exceeded",
"detail": "Rate limit of 100 requests/min exceeded."
}Fetch a single order by its CSBoard order id. The response includes the full per-item breakdown with delivery status, return reasons, and Steam trade offer details.
Authentication required. Send your key as
Authorization: Bearer csb_pub_....
Path parameters
string
required
The CSBoard order id, e.g.
ord_01J9Z3K8Q2.Response fields
The response is a singleOrder object with the same shape as the items in GET /v1/orders:
string
required
string | null
string
required
One of:
completed, hold, delivering, pending, cancelled, failed.string | null
string
required
Always
"USD".number
required
integer
required
datetime | null
Refund | null
Money credited back for this order, or
null if none was. Carries amount_usd, refunded_at, and partial. A cancelled or failed order is always refunded — read this instead of inferring it from the status.datetime
required
datetime | null
OrderItem[]
required
Per-item breakdown. Each item has
market_hash_name, price_usd, status (hold | delivering | delivered | returned), tradable_at, return_reason, steam_trade_offer_id, and steam_trade_offer_finished_at.Example request
curl https://csboard.com/v1/orders/ord_01J9Z3K8Q2 \
-H "Authorization: Bearer csb_pub_..."
Example response
{
"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,
"refund": 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"
}
]
}
Error codes
| HTTP status | Code | Meaning |
|---|---|---|
| 401 | missing_api_key / invalid_api_key | Missing or invalid API key. |
| 404 | order_not_found | No order exists for that id. |
| 429 | rate_limit_exceeded | Too many requests. Back off for the Retry-After header value. |
Authorizations
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
Path Parameters
CSBoard order id.
Response
The order.
Available options:
completed, hold, delivering, pending, cancelled, failed Example:
"USD"
Show child attributes
Show child attributes
Your own id, if you set one at purchase time.
Refund credited for this order, or null if none. A cancelled or failed order is ALWAYS refunded — this field is the receipt, so you never have to infer it from the status or reconcile against your balance.
Show child attributes
Show child attributes
⌘I
Get a single order
curl --request GET \
--url https://csboard.com/v1/orders/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://csboard.com/v1/orders/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://csboard.com/v1/orders/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://csboard.com/v1/orders/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://csboard.com/v1/orders/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://csboard.com/v1/orders/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://csboard.com/v1/orders/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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"
}
]
}{
"code": "missing_api_key",
"detail": "Provide your API key via `Authorization: Bearer csb_pub_…`. Generate one at https://csboard.com/profile?tab=api"
}{
"code": "order_not_found",
"detail": "No order found for that id."
}{
"code": "rate_limit_exceeded",
"detail": "Rate limit of 100 requests/min exceeded."
}