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

# Выставление скинов CS2 на P2P-маркет CSBoard через API-ключ

> Прочитайте инвентарь, выставьте предметы по своей цене, управляйте листингами и получите выплату на баланс CSBoard после трейда в Steam — бесплатно с любым API-ключом.

P2P-маркет — это место, где игроки продают свои скины CS2 другим покупателям CSBoard. С API-ключом всю работу продавца можно делать из скрипта: читать инвентарь, выставлять предметы по своей цене, а потом менять цену или снимать их с продажи.

**Это бесплатно.** Подойдёт любой действующий ключ — без требований к балансу и без торгового доступа. P2P-листинг работает **только для CS2**.

## Перед началом

Правила для продавца с сайта действуют в API без изменений:

* **подтверждённый email или привязанный Telegram**, чтобы мы могли сообщить вам о продаже;
* запущенное **расширение или приложение CSBoard**, способное отправить трейд в Steam, и **Steam Mobile Authenticator** на аккаунте;
* на аккаунте нет P2P-cooldown, приостановки или блокировки магазина.

Если чего-то не хватает, вызов публикации прямо об этом скажет — например, `403 contact_required` или `400 no_capable_client`.

## Как это работает

<Steps>
  <Step title="Прочитайте инвентарь">
    ```bash theme={null}
    curl https://csboard.com/v1/p2p/inventory \
      -H "Authorization: Bearer csb_pub_..."
    ```

    Каждая строка — одна копия предмета. Строки с `listable: true` можно опубликовать сразу; у остальных причина указана в `reasons`. Если `inventory_proof.status` равен `pending`, мы только что начали читать ваш инвентарь Steam — повторите запрос через `retry_after_ms`.
  </Step>

  <Step title="Выставьте по своей цене">
    ```bash theme={null}
    curl -X POST https://csboard.com/v1/p2p/listings \
      -H "Authorization: Bearer csb_pub_..." \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: 0b7d4c1e-6f2a-4b9e-8c3d-5a1f2e9b7c40" \
      -d '{
        "operational_asset_id": "5b0c1f7e-3d2a-4c8e-9a61-2f4d8b7e1c30",
        "asset_revision": "sha256:fd0e6de607b774aaaf4d9cdb7e014c003ba614b03f0460b01e8c94bce034bac5",
        "price_usd": 12.34
      }'
    ```

    Передайте `operational_asset_id` и `asset_revision` из инвентаря без изменений, а `price_usd` — в целых центах. За раз можно отправить до 50 предметов в виде `{ "items": [...] }`. `Idempotency-Key` обязателен: если соединение оборвалось, повторите тот же запрос с тем же ключом — ничего не будет выставлено дважды.
  </Step>

  <Step title="Управляйте листингами">
    [`GET /v1/p2p/listings`](/ru/api-reference/get-p2p-listings) показывает, что выставлено и что уже продаётся, с `seller_payout_usd` для каждого листинга. Пока листинг в статусе `active`, цену можно изменить через [`PATCH /v1/p2p/listings/{id}`](/ru/api-reference/patch-p2p-listing), а сам листинг — снять через [`DELETE /v1/p2p/listings/{id}`](/ru/api-reference/delete-p2p-listing).
  </Step>

  <Step title="Отправьте предмет после продажи">
    Когда покупатель оплачивает, листинг переходит в `trade_pending`, и мы сообщаем вам об этом по email или в Telegram. Предмет ещё должен уйти из вашего инвентаря Steam: расширение или приложение CSBoard готовит трейд-оффер покупателю, а вы подтверждаете его через Steam Guard в мобильном приложении Steam. Не тяните — продажи без ответа блокируют ваш магазин (`shop_locked`).
  </Step>

  <Step title="Получите выплату">
    Когда покупатель примет трейд, листинг переходит в `verification_hold` на время защиты трейда в Steam. Когда она закончится и трейд останется в силе, `seller_payout_usd` зачисляется на ваш баланс CSBoard.
  </Step>
</Steps>

## Правила цены

* Цены указываются в USD, от `0.10` до `100000`, в целых центах. `12.345` отклоняется, а не округляется.
* Цена ниже **половины нашей рыночной цены** на предмет отклоняется с `422 price_below_market`. В теле есть `market_usd` и `floor_usd`, так что скрипт может сам поправить цену. На сайте продавец может подтвердить более низкую цену после предупреждения; через API-ключ такого подтверждения нет, поэтому утёкшим ключом нельзя слить ваш инвентарь за бесценок.
* Наша комиссия указана в каждом листинге как `commission_usd`; `seller_payout_usd` — то, что получаете вы.

## Лимиты

Публикация, изменение цены и снятие с продажи делят один лимит: **30 запросов в минуту на ключ**. Пакет до 50 предметов считается одним запросом. Чтение подчиняется обычному поминутному лимиту ключа. См. [Лимиты запросов](/ru/rate-limits).

<Warning>
  Листинг остаётся в продаже только пока предмет лежит в вашем инвентаре. Если полное чтение инвентаря его больше не находит, листинг снимается и показывает `needs_resync: true`. Опубликуйте его заново, когда предмет вернётся.
</Warning>


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