Instant Sell
GET /v1/sell/orders: List Your Instant Sell Orders
Page through the sell orders you placed through the API, newest first, or look one up by your external_id.
GET
/
sell
/
orders
List sell orders
curl --request GET \
--url https://csboard.com/v1/sell/orders \
--header 'Authorization: Bearer <token>'import requests
url = "https://csboard.com/v1/sell/orders"
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/sell/orders', 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/sell/orders",
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/sell/orders"
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/sell/orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://csboard.com/v1/sell/orders")
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{
"data": [
{
"id": "cmgk2x9a10001qs01sell0001",
"external_id": "my-shop-order-1017",
"app_id": 730,
"status": "offer_sent",
"currency": "USD",
"total_usd": 61.42,
"credited_usd": 0,
"created_at": "2026-10-06T14:02:11Z",
"unhold_at": null,
"trade_offer_ids": [
"7654321098",
"7654321111"
],
"offers": [
{
"offer_group": "a",
"trade_offer_id": "7654321098",
"status": "offer_sent",
"amount_usd": 48.3,
"expires_at": "2026-10-06T14:17:11Z",
"items": [
{
"asset_id": "41165110534",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"price_usd": 48.3,
"status": "offer_sent"
}
],
"bot": {
"name": "CSBoard Bot #4",
"avatar": "https://avatars.steamstatic.com/abc_full.jpg",
"steam_id": "76561199000000004",
"profile_url": "https://steamcommunity.com/profiles/76561199000000004",
"level": 30
}
},
{
"offer_group": "b",
"trade_offer_id": "7654321111",
"status": "offer_sent",
"amount_usd": 13.12,
"expires_at": "2026-10-06T14:17:40Z",
"items": [
{
"asset_id": "41165110599",
"market_hash_name": "Glock-18 | Water Elemental (Minimal Wear)",
"price_usd": 13.12,
"status": "offer_sent"
}
],
"bot": {
"name": "CSBoard Bot #9",
"avatar": "https://avatars.steamstatic.com/def_full.jpg",
"steam_id": "76561199000000009",
"profile_url": "https://steamcommunity.com/profiles/76561199000000009",
"level": 24
}
}
],
"fail_reason": null
}
],
"meta": {
"next_cursor": null,
"per_page": 50
}
}{
"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 such sell order on this account."
}{
"code": "invalid_request",
"detail": "status must be one of: pending, offer_sent, received, completed, cancelled, failed."
}Two modes on one path:
- List. Without
external_idyou get your sell orders placed through the API, newest first, with keyset pagination. The envelope and the query parameters are the same asGET /v1/orders, so one pager reads both your buys and your sells. Walk older pages by passingmeta.next_cursorback ascursor. - Lookup. With
external_idyou get that one order object, not a page, or404 order_not_found.
Authorization: Bearer csb_pub_....
Query parameters
string
Return the one order you created with this
external_id. The other parameters are ignored.integer
default:"50"
Results per page. Minimum
1, maximum 100.integer
Only orders created at or after this Unix timestamp (seconds).
integer
Only orders created at or before this Unix timestamp (seconds).
string
One of
pending, offer_sent, received, completed, cancelled, failed.string
Keyset cursor from a previous response’s
meta.next_cursor.Response fields
SellOrder[]
required
Sell orders for this page, in the shape described on
POST /v1/sell/orders.object
required
Example request
curl "https://csboard.com/v1/sell/orders?status=received&limit=20" \
-H "Authorization: Bearer csb_pub_..."
Example response
{
"data": [
{
"id": "cmgk2x9a10001qs01sell0001",
"external_id": "my-shop-order-1017",
"app_id": 252490,
"status": "received",
"currency": "USD",
"total_usd": 61.42,
"credited_usd": 0,
"created_at": "2026-10-06T14:02:11Z",
"unhold_at": "2026-10-06T14:20:03Z",
"trade_offer_ids": ["7654321098"],
"offers": [
{
"offer_group": "a",
"trade_offer_id": "7654321098",
"status": "received",
"amount_usd": 61.42,
"expires_at": "2026-10-06T14:17:11Z",
"items": [
{ "asset_id": "5011234567890", "market_hash_name": "Tempered AK47", "price_usd": 61.42, "status": "received" }
],
"bot": { "name": "CSBoard Bot #4", "avatar": "https://avatars.steamstatic.com/abc_full.jpg", "steam_id": "76561199000000004", "profile_url": "https://steamcommunity.com/profiles/76561199000000004", "level": 30 }
}
],
"fail_reason": null
}
],
"meta": { "next_cursor": null, "per_page": 20 }
}
Error codes
| HTTP status | Code | Meaning |
|---|---|---|
| 401 | invalid_api_key | Missing or invalid API key. |
| 404 | order_not_found | No order with this external_id on your account. |
| 422 | invalid_request | Unknown status, a malformed time bound, or an invalid cursor. |
Authorizations
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
Query Parameters
Look up one order by your external_id. Returns the order object, not a page.
Results per page. 1 to 100. Default 50.
Required range:
1 <= x <= 100Only orders created at or after this Unix timestamp (seconds).
Only orders created at or before this Unix timestamp (seconds).
Filter by order status.
Available options:
pending, offer_sent, received, completed, cancelled, failed Keyset cursor from a previous response's meta.next_cursor.
⌘I
List sell orders
curl --request GET \
--url https://csboard.com/v1/sell/orders \
--header 'Authorization: Bearer <token>'import requests
url = "https://csboard.com/v1/sell/orders"
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/sell/orders', 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/sell/orders",
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/sell/orders"
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/sell/orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://csboard.com/v1/sell/orders")
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{
"data": [
{
"id": "cmgk2x9a10001qs01sell0001",
"external_id": "my-shop-order-1017",
"app_id": 730,
"status": "offer_sent",
"currency": "USD",
"total_usd": 61.42,
"credited_usd": 0,
"created_at": "2026-10-06T14:02:11Z",
"unhold_at": null,
"trade_offer_ids": [
"7654321098",
"7654321111"
],
"offers": [
{
"offer_group": "a",
"trade_offer_id": "7654321098",
"status": "offer_sent",
"amount_usd": 48.3,
"expires_at": "2026-10-06T14:17:11Z",
"items": [
{
"asset_id": "41165110534",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"price_usd": 48.3,
"status": "offer_sent"
}
],
"bot": {
"name": "CSBoard Bot #4",
"avatar": "https://avatars.steamstatic.com/abc_full.jpg",
"steam_id": "76561199000000004",
"profile_url": "https://steamcommunity.com/profiles/76561199000000004",
"level": 30
}
},
{
"offer_group": "b",
"trade_offer_id": "7654321111",
"status": "offer_sent",
"amount_usd": 13.12,
"expires_at": "2026-10-06T14:17:40Z",
"items": [
{
"asset_id": "41165110599",
"market_hash_name": "Glock-18 | Water Elemental (Minimal Wear)",
"price_usd": 13.12,
"status": "offer_sent"
}
],
"bot": {
"name": "CSBoard Bot #9",
"avatar": "https://avatars.steamstatic.com/def_full.jpg",
"steam_id": "76561199000000009",
"profile_url": "https://steamcommunity.com/profiles/76561199000000009",
"level": 24
}
}
],
"fail_reason": null
}
],
"meta": {
"next_cursor": null,
"per_page": 50
}
}{
"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 such sell order on this account."
}{
"code": "invalid_request",
"detail": "status must be one of: pending, offer_sent, received, completed, cancelled, failed."
}