> ## 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/orders/info — пакетный поиск заказов

> Узнайте статус сразу нескольких заказов CSBoard по custom_ids и/или order_ids — до 200 id за один запрос.

Используйте этот эндпоинт, чтобы за один вызов опросить статус сразу нескольких заказов. Передайте `custom_ids` (id, которые вы назначили при покупке) и/или `order_ids` (CSBoard order id) в виде списков через запятую. Нужно передать хотя бы один из двух параметров и в сумме не более 200 id.

**Требуется аутентификация.** Отправьте ключ как `Authorization: Bearer csb_pub_...`.

## Query-параметры

<ParamField query="custom_ids" type="string">
  Назначенные вами при покупке custom id через запятую.
</ParamField>

<ParamField query="order_ids" type="string">
  CSBoard order id через запятую.
</ParamField>

<Note>
  Передайте хотя бы один из параметров `custom_ids` или `order_ids`. Суммарное количество id по обоим параметрам не должно превышать 200.
</Note>

## Поля ответа

<ResponseField name="data" type="Order[]" required>
  Массив подходящих заказов. Каждый `Order` имеет ту же структуру, что и в [`GET /v1/orders`](/api-reference/get-orders) — включая `order_id`, `status`, `charged_total_usd` и разбивку по предметам `items`.
</ResponseField>

## Пример запроса

```bash theme={null}
curl "https://csboard.com/v1/orders/info?custom_ids=batch-2026-06-29-01,batch-2026-06-29-02" \
  -H "Authorization: Bearer csb_pub_..."
```

## Пример ответа

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

## Коды ошибок

| HTTP-статус | Код                                   | Значение                                                                      |
| ----------- | ------------------------------------- | ----------------------------------------------------------------------------- |
| 401         | `missing_api_key` / `invalid_api_key` | Отсутствует или некорректный API-ключ.                                        |
| 422         | `invalid_request`                     | Не передано ни одного id или в сумме передано более 200 id.                   |
| 429         | `rate_limit_exceeded`                 | Слишком много запросов. Подождите время, указанное в заголовке `Retry-After`. |


## OpenAPI

````yaml GET /orders/info
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: Account
    description: Your balance, settled funds, and trading status.
paths:
  /orders/info:
    get:
      tags:
        - Trading
      summary: Batch order lookup
      description: >-
        Look up the status of many orders at once by `custom_ids` and/or
        `order_ids` (comma-separated). Supply at least one of the two; up to 200
        ids in total across both parameters.
      operationId: getOrdersInfo
      parameters:
        - name: custom_ids
          in: query
          description: Comma-separated custom ids you assigned at purchase time.
          schema:
            type: string
        - name: order_ids
          in: query
          description: Comma-separated CSBoard order ids.
          schema:
            type: string
      responses:
        '200':
          description: Matching orders.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Order'
                required:
                  - data
              example:
                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: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          description: Invalid request — no ids supplied, or more than 200 ids in total.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: invalid_request
                detail: Provide custom_ids and/or order_ids, up to 200 ids total.
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    Order:
      type: object
      properties:
        order_id:
          type: string
        steam_id:
          type:
            - string
            - 'null'
        status:
          type: string
          enum:
            - completed
            - hold
            - delivering
            - pending
            - cancelled
            - failed
        custom_id:
          type:
            - string
            - 'null'
          description: Your own id, if you set one at purchase time.
        currency:
          type: string
          example: USD
        charged_total_usd:
          type: number
        item_count:
          type: integer
        hold_until:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
        items:
          type: array
          items:
            $ref: '#/components/schemas/OrderItem'
      required:
        - order_id
        - status
        - currency
        - charged_total_usd
        - item_count
        - created_at
        - items
    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
    OrderItem:
      type: object
      properties:
        market_hash_name:
          type:
            - string
            - 'null'
        price_usd:
          type:
            - number
            - 'null'
        status:
          type: string
          enum:
            - hold
            - delivering
            - delivered
            - returned
        tradable_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When the item leaves Steam trade hold, or null.
        return_reason:
          type:
            - string
            - 'null'
          enum:
            - trade_timeout
            - declined
            - expired
            - rolled_back
            - unavailable
            - null
          description: Why the item was returned, if its status is `returned`.
        steam_trade_offer_id:
          type:
            - string
            - 'null'
        steam_trade_offer_finished_at:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - status
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: unauthorized
            message: Missing or invalid API key.
    RateLimited:
      description: Rate limit exceeded. Includes a Retry-After header.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: rate_limit_exceeded
            message: Too many requests.
  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.

````