> ## 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/p2p/listings — Your P2P Listings

> Your CSBoard P2P listings that are on sale or mid-sale, newest first, with the payout each sale credits you.

Returns your listings that are on sale or in the middle of a sale, newest first. Each one carries `seller_payout_usd` — exactly what a sale credits to your balance, after our commission.

| `status` | Meaning |
| - | - |
| `active` | On sale. You can reprice or remove it. |
| `trade_pending`, `trade_sent`, `verification_hold` | Sold and mid-delivery. It can no longer be changed. |
| `reconciliation_required` | Taken off the shelf because a full read of your inventory no longer contained the item (`needs_resync: true`). Publish it again once it is back. |

**Authentication required.** Send your key as `Authorization: Bearer csb_pub_...`. Free — any valid key, no balance requirement.

## Example request

```bash theme={null}
curl https://csboard.com/v1/p2p/listings \
  -H "Authorization: Bearer csb_pub_..."
```

## Example response

```json theme={null}
{
  "data": [
    {
      "id": "cm1xq8z4k0003ab12cd34ef56",
      "status": "active",
      "price_usd": 12.34,
      "currency": "USD",
      "commission_usd": 0.25,
      "seller_payout_usd": 12.09,
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "item_name": "AK-47 | Redline (Field-Tested)",
      "asset_id": "38451927734",
      "operational_asset_id": "5b0c1f7e-3d2a-4c8e-9a61-2f4d8b7e1c30",
      "float_value": 0.2711,
      "needs_resync": false,
      "created_at": "2026-10-02T12:04:11.000Z",
      "updated_at": "2026-10-02T12:04:11.000Z"
    }
  ]
}
```

## Error codes

| HTTP status | Code | Meaning |
| - | - | - |
| 401 | `missing_api_key` / `invalid_api_key` | Missing or invalid API key. |
| 403 | `account_banned` | The account is banned. |
| 403 | `ip_not_allowed` | The request came from outside the key's IP allowlist. |
| 429 | `rate_limit_exceeded` | Over your key's per-minute limit. Wait for the `Retry-After` header value. |
| 503 | `p2p_disabled` | The P2P market is switched off right now. |


## OpenAPI

````yaml GET /p2p/listings
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: 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:
  /p2p/listings:
    get:
      tags:
        - P2P
      summary: Your P2P listings
      description: >-
        Your listings that are on sale or mid-sale, newest first, with the
        payout a sale credits you. A listing with `needs_resync: true` was taken
        off the shelf because a full read of your inventory no longer contained
        the item.
      operationId: getP2PListings
      responses:
        '200':
          description: Your listings.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/P2PListing'
                required:
                  - data
              example:
                data:
                  - id: cm1xq8z4k0003ab12cd34ef56
                    status: active
                    price_usd: 12.34
                    currency: USD
                    commission_usd: 0.25
                    seller_payout_usd: 12.09
                    market_hash_name: AK-47 | Redline (Field-Tested)
                    item_name: AK-47 | Redline (Field-Tested)
                    asset_id: '38451927734'
                    operational_asset_id: 5b0c1f7e-3d2a-4c8e-9a61-2f4d8b7e1c30
                    float_value: 0.2711
                    needs_resync: false
                    created_at: '2026-10-02T12:04:11.000Z'
                    updated_at: '2026-10-02T12:04:11.000Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Forbidden — the key's IP allowlist or an account ban.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                account_banned:
                  summary: Account banned
                  value:
                    code: account_banned
                    detail: This account is banned.
                ip_not_allowed:
                  summary: Request from outside the key's IP allowlist
                  value:
                    code: ip_not_allowed
                    detail: >-
                      This API key is restricted to an IP allowlist and
                      203.0.113.7 is not on it. Update it at
                      https://csboard.com/profile?tab=api
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/P2PDisabled'
components:
  schemas:
    P2PListing:
      type: object
      properties:
        id:
          type: string
          description: Listing id — use it with `PATCH` / `DELETE /p2p/listings/{id}`.
        status:
          type: string
          description: >-
            `active` — on sale. `trade_pending`, `trade_sent`,
            `verification_hold` — sold and mid-delivery.
            `reconciliation_required` — off the shelf because a full inventory
            read no longer saw the item (`needs_resync: true`).
        price_usd:
          type: number
          description: What the buyer pays.
        currency:
          type: string
          enum:
            - USD
        commission_usd:
          type: number
          description: Our fee on this listing, taken from the seller's side.
        seller_payout_usd:
          type: number
          description: >-
            What a sale credits to your balance: `price_usd` minus
            `commission_usd`.
        market_hash_name:
          type: string
        item_name:
          type: string
        asset_id:
          type: string
          description: Steam asset id of the listed copy.
        operational_asset_id:
          type:
            - string
            - 'null'
        float_value:
          type:
            - number
            - 'null'
        needs_resync:
          type: boolean
          description: >-
            `true` when the listing was taken off the shelf because your
            inventory no longer showed the item. It cannot be revived in place —
            publish the item again once it is back.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - status
        - price_usd
        - currency
        - commission_usd
        - seller_payout_usd
        - market_hash_name
        - asset_id
        - needs_resync
        - created_at
        - updated_at
      example:
        id: cm1xq8z4k0003ab12cd34ef56
        status: active
        price_usd: 12.34
        currency: USD
        commission_usd: 0.25
        seller_payout_usd: 12.09
        market_hash_name: AK-47 | Redline (Field-Tested)
        item_name: AK-47 | Redline (Field-Tested)
        asset_id: '38451927734'
        operational_asset_id: 5b0c1f7e-3d2a-4c8e-9a61-2f4d8b7e1c30
        float_value: 0.2711
        needs_resync: false
        created_at: '2026-10-02T12:04:11.000Z'
        updated_at: '2026-10-02T12:04:11.000Z'
    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
  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
    RateLimited:
      description: >-
        Rate limit exceeded. Includes a Retry-After header (60 seconds on the
        per-key limits).
      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
            detail: Rate limit of 100 requests/min exceeded.
    P2PDisabled:
      description: The P2P market is switched off.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            p2p_disabled:
              summary: P2P market unavailable
              value:
                code: p2p_disabled
                detail: The P2P market is not available right now.
  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.