> ## Documentation Index
> Fetch the complete documentation index at: https://api.csboard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

Two modes on one path:

* **List.** Without `external_id` you get your sell orders placed through the API, newest first, with keyset pagination. The envelope and the query parameters are the same as [`GET /v1/orders`](/api-reference/get-orders), so one pager reads both your buys and your sells. Walk older pages by passing `meta.next_cursor` back as `cursor`.
* **Lookup.** With `external_id` you get that one order object, not a page, or `404 order_not_found`.

Reads work for every key, even while Instant Sell is switched off, so you can always follow orders already in flight.

**Authentication required.** Send your key as `Authorization: Bearer csb_pub_...`.

## Query parameters

<ParamField query="external_id" type="string">
  Return the one order you created with this `external_id`. The other parameters are ignored.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Results per page. Minimum `1`, maximum `100`.
</ParamField>

<ParamField query="start_unix_time" type="integer">
  Only orders created at or after this Unix timestamp (seconds).
</ParamField>

<ParamField query="end_unix_time" type="integer">
  Only orders created at or before this Unix timestamp (seconds).
</ParamField>

<ParamField query="status" type="string">
  One of `pending`, `offer_sent`, `received`, `completed`, `cancelled`, `failed`.
</ParamField>

<ParamField query="cursor" type="string">
  Keyset cursor from a previous response's `meta.next_cursor`.
</ParamField>

## Response fields

<ResponseField name="data" type="SellOrder[]" required>
  Sell orders for this page, in the shape described on [`POST /v1/sell/orders`](/api-reference/post-sell-orders#response-fields).
</ResponseField>

<ResponseField name="meta" type="object" required>
  <Expandable title="meta object">
    <ResponseField name="next_cursor" type="string | null" required>
      Pass back as `cursor` for the next page. `null` on the last page.
    </ResponseField>

    <ResponseField name="per_page" type="integer" required />
  </Expandable>
</ResponseField>

## Example request

```bash theme={null}
curl "https://csboard.com/v1/sell/orders?status=received&limit=20" \
  -H "Authorization: Bearer csb_pub_..."
```

## Example response

```json theme={null}
{
  "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`. |


## OpenAPI

````yaml GET /sell/orders
openapi: 3.1.0
info:
  title: CSBoard API
  version: 1.0.0
  description: >-
    Market data over the CSBoard marketplace — live listings, floats, stickers,
    minAsk prices, FX rates — plus opt-in buying straight from your balance.
    Free to read, key-gated, built for automation.
  contact:
    name: CSBoard
    url: https://csboard.com/docs
servers:
  - url: https://csboard.com/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Status
    description: Liveness and freshness probes.
  - name: Market data
    description: Read the live catalog, prices, and FX rates.
  - name: Trading
    description: Buy listings from your CSBoard balance. Opt-in, key-gated.
  - name: Instant Sell
    description: >-
      Sell CS2, Dota 2 and Rust items from any Steam inventory to the CSBoard
      network and get paid to your balance. Invite-only.
  - name: P2P
    description: >-
      List your own CS2 skins on the CSBoard P2P market. Free — any valid key,
      no balance requirement.
  - name: Account
    description: Your balance, settled funds, and trading status.
  - name: Webhooks
    description: Register an endpoint and receive signed order updates instead of polling.
paths:
  /sell/orders:
    get:
      tags:
        - Instant Sell
      summary: List sell orders
      description: >-
        Your sell orders placed through the API, newest first, with keyset
        pagination. The same envelope and query contract as `GET /v1/orders`.
        With `external_id` it returns that one order instead of a page.
      operationId: listSellOrders
      parameters:
        - name: external_id
          in: query
          description: >-
            Look up one order by your `external_id`. Returns the order object,
            not a page.
          schema:
            type: string
        - name: limit
          in: query
          description: Results per page. 1 to 100. Default 50.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: start_unix_time
          in: query
          description: Only orders created at or after this Unix timestamp (seconds).
          schema:
            type: integer
        - name: end_unix_time
          in: query
          description: Only orders created at or before this Unix timestamp (seconds).
          schema:
            type: integer
        - name: status
          in: query
          description: Filter by order status.
          schema:
            type: string
            enum:
              - pending
              - offer_sent
              - received
              - completed
              - cancelled
              - failed
        - name: cursor
          in: query
          description: Keyset cursor from a previous response's `meta.next_cursor`.
          schema:
            type: string
      responses:
        '200':
          description: A page of sell orders, or one order when `external_id` is set.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SellOrder'
                  meta:
                    type: object
                    properties:
                      next_cursor:
                        type:
                          - string
                          - 'null'
                      per_page:
                        type: integer
                    required:
                      - next_cursor
                      - per_page
                required:
                  - data
                  - meta
              example:
                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
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: No such sell order on this account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: order_not_found
                detail: No such sell order on this account.
        '422':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: invalid_request
                detail: >-
                  status must be one of: pending, offer_sent, received,
                  completed, cancelled, failed.
components:
  schemas:
    SellOrder:
      type: object
      required:
        - id
        - app_id
        - status
        - currency
        - total_usd
        - credited_usd
        - created_at
        - trade_offer_ids
        - offers
      properties:
        id:
          type: string
        external_id:
          type:
            - string
            - 'null'
        app_id:
          type: integer
          description: 'Steam app of the sale: `730`, `570` or `252490`.'
        status:
          type: string
          enum:
            - pending
            - offer_sent
            - received
            - completed
            - cancelled
            - failed
        currency:
          type: string
          enum:
            - USD
        total_usd:
          type: number
          description: What the whole order books, in USD.
        credited_usd:
          type: number
          description: What has already reached your balance. Grows offer by offer.
        created_at:
          type: string
          format: date-time
        unhold_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Latest expected credit time across the offers, once known.
        trade_offer_ids:
          type: array
          items:
            type: string
          description: >-
            Every Steam trade offer the seller should expect. Offers that never
            went out are not listed.
        offers:
          type: array
          items:
            $ref: '#/components/schemas/SellOffer'
        fail_reason:
          type:
            - string
            - 'null'
          description: >-
            `cancelled_by_merchant`, `offer_declined`, `offer_expired`,
            `invalid_trade_url`, `item_not_tradable`, `reversed`, `price_drift`
            or `failed`.
    Error:
      type: object
      description: >-
        All errors return { code, detail }. Some carry extra fields (e.g.
        price_moved adds current_total_usd, insufficient_balance adds
        required_usd/current_usd).
      properties:
        code:
          type: string
          description: >-
            Machine-readable error code, e.g. rate_limit_exceeded,
            trading_not_enabled, price_moved.
        detail:
          type: string
          description: Human-readable explanation.
      required:
        - code
    SellOffer:
      type: object
      properties:
        offer_group:
          type: string
          description: >-
            `a`, `b`, and so on, in the order the offers were created. Matches
            the quote's `offer_group` when you sell the whole quoted inventory.
        trade_offer_id:
          type:
            - string
            - 'null'
          description: Steam trade offer id, once the offer exists.
        status:
          type: string
          enum:
            - pending
            - offer_sent
            - received
            - completed
            - cancelled
            - failed
        amount_usd:
          type: number
          description: What this offer books, in USD.
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
        items:
          type: array
          items:
            $ref: '#/components/schemas/SellOrderItem'
        bot:
          $ref: '#/components/schemas/SellBot'
    SellOrderItem:
      type: object
      properties:
        asset_id:
          type:
            - string
            - 'null'
        market_hash_name:
          type:
            - string
            - 'null'
        price_usd:
          type:
            - number
            - 'null'
          description: What this item books, in USD.
        status:
          type: string
          enum:
            - pending
            - offer_sent
            - received
            - completed
            - cancelled
            - failed
          description: The status of the offer this item rides in.
    SellBot:
      type:
        - object
        - 'null'
      description: >-
        The Steam account sending this offer. Show it to the seller so they can
        check the incoming offer.
      properties:
        name:
          type:
            - string
            - 'null'
        avatar:
          type:
            - string
            - 'null'
        steam_id:
          type:
            - string
            - 'null'
        profile_url:
          type:
            - string
            - 'null'
        level:
          type:
            - integer
            - 'null'
  responses:
    Unauthorized:
      description: Missing or invalid API key (`missing_api_key` or `invalid_api_key`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: missing_api_key
            detail: >-
              Provide your API key via `Authorization: Bearer csb_pub_…`.
              Generate one at https://csboard.com/profile?tab=api
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Send your key as a Bearer token on every request: `Authorization: Bearer
        csb_pub_...`. Generate keys in your CSBoard profile.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.