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

# Get live odds and betslip metadata

> Get current odds and metadata for a specific fixture/outcome/player combination, or a futures/outright market.

**Fixture mode (required parameters):** `fixtureId`, `outcomeId`, `playerId`

**Futures mode (coming soon):** `futureId`, `outcomeId`, `playerId`, `participantId` — currently returns `501 Not Implemented`

**Response includes:**
- `fixtureInfo` — Fixture details (teams, sport, tournament, start time, scores)
- `outcomeInfo` — Market and outcome details (market name, type, handicap)
- `playerInfo` — Player details (for player prop markets, null otherwise)
- `odds` — Live odds keyed by bookmaker, each containing:
  - `price` — Current decimal odds
  - `limit` / `limitMin` — Max/min stake in account currency
  - `limitUsd` / `limitMinUsd` — Limits converted to USD
  - `limitCurrency` — Account currency for limits
  - `active` — Whether odds are currently available
  - `account` — Account username for this bookmaker
  - `currencyInfo` — Currency exchange rate details
  - `bookmakerFixtureId/MarketId/OutcomeId` — Bookmaker's internal IDs
  - `meta` — Exchange orderbook data (for Betfair, Polymarket, etc.)

**Limit cascade:** account.minStake/maxStake > bookmaker.minStake/maxStake > odds.limitMin/limit



## OpenAPI

````yaml /zh/abp-api/openapi.json get /betslip
openapi: 3.1.0
info:
  title: ABP v2 - Automated Bet Placing API
  description: >

    Place bets across 32 bookmakers through a single API.


    ## Authentication


    All endpoints require the `x-api-key` header (except `/health`, `/ready`,
    `/status`, `/metrics`).


    **Swagger UI**: Click the **Authorize** button (lock icon) at the top right,
    enter your API key, and click **Authorize**.


    ## Quick Start


    1. **List your accounts**: `GET /accounts`

    2. **Get live odds**: `GET /betslip?fixtureId=...&outcomeId=...&playerId=0`

    3. **Place an order**: `POST /place-orders`

    4. **Track results**: `GET /orders` or subscribe to WebSocket updates


    ## WebSocket


    Connect to `/ws` for real-time order, bet, and settlement updates.


    ```json

    {"type": "login", "apiKey": "your-api-key", "channels": []}

    ```


    Send an empty `channels` array to receive all updates. Available channels:
    `orders`, `bets`, `settlements`, `accounts`, `balance`, `betslip`,
    `fixtures`, `currencies`, `status`, `emergency`.


    Send `{"type": "ping"}` every 30 seconds to keep the connection alive.
  version: '2.0'
servers:
  - url: https://v2.55-tech.com
    description: Production
security:
  - apiKey: []
tags:
  - name: Orders
    description: Place, retrieve, and cancel betting orders
  - name: Bets
    description: Query individual bets placed with bookmakers
  - name: Betslip
    description: Get live odds and metadata for fixtures
  - name: Accounts
    description: Manage bookmaker accounts
  - name: Markets
    description: Get available markets and odds types
  - name: Bookmakers
    description: List supported bookmakers
  - name: Analytics
    description: Positions and profit/loss analytics
paths:
  /betslip:
    get:
      tags:
        - Betslip
      summary: Get live odds and betslip metadata
      description: >-
        Get current odds and metadata for a specific fixture/outcome/player
        combination, or a futures/outright market.


        **Fixture mode (required parameters):** `fixtureId`, `outcomeId`,
        `playerId`


        **Futures mode (coming soon):** `futureId`, `outcomeId`, `playerId`,
        `participantId` — currently returns `501 Not Implemented`


        **Response includes:**

        - `fixtureInfo` — Fixture details (teams, sport, tournament, start time,
        scores)

        - `outcomeInfo` — Market and outcome details (market name, type,
        handicap)

        - `playerInfo` — Player details (for player prop markets, null
        otherwise)

        - `odds` — Live odds keyed by bookmaker, each containing:
          - `price` — Current decimal odds
          - `limit` / `limitMin` — Max/min stake in account currency
          - `limitUsd` / `limitMinUsd` — Limits converted to USD
          - `limitCurrency` — Account currency for limits
          - `active` — Whether odds are currently available
          - `account` — Account username for this bookmaker
          - `currencyInfo` — Currency exchange rate details
          - `bookmakerFixtureId/MarketId/OutcomeId` — Bookmaker's internal IDs
          - `meta` — Exchange orderbook data (for Betfair, Polymarket, etc.)

        **Limit cascade:** account.minStake/maxStake >
        bookmaker.minStake/maxStake > odds.limitMin/limit
      operationId: get_betslip
      parameters:
        - name: fixtureId
          in: query
          required: false
          schema:
            type: string
          description: >-
            Fixture identifier (e.g., 'id1000004461512432'). Required for
            fixture markets. Mutually exclusive with futureId.
          example: id1000004461512432
        - name: futureId
          in: query
          required: false
          schema:
            type: string
          description: >-
            [Coming soon] Future/outright market identifier. Mutually exclusive
            with fixtureId. Currently returns 501.
          example: fut_123456
        - name: participantId
          in: query
          required: false
          schema:
            type: integer
            default: 0
          description: >-
            [Coming soon] Participant identifier for futures (e.g.,
            team/player). Only used with futureId.
          example: 0
        - name: outcomeId
          in: query
          required: true
          schema:
            type: integer
          description: Outcome identifier (e.g., 103 for Match Winner Away)
          example: 103
        - name: playerId
          in: query
          required: true
          schema:
            type: integer
          description: Player ID. Use 0 for non-player prop markets.
          example: 0
        - name: bookmakers
          in: query
          required: false
          schema:
            type: string
            nullable: true
          description: >-
            Comma-separated bookmaker slugs (e.g., 'pinnacle,betfair-ex'). If
            omitted, uses all client's configured bookmakers.
          example: pinnacle,sharpbet
      responses:
        '200':
          description: Current odds and betslip metadata for a fixture
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BetslipResponse'
              example:
                fixtureId: id1000002361061419
                outcomeId: 101
                playerId: 0
                client: demo
                userRef: null
                fixtureInfo:
                  fixtureId: id1000002361061419
                  status:
                    live: false
                    statusId: 0
                    statusName: Pre-Game
                  sport:
                    sportId: 10
                    sportName: Soccer
                  tournament:
                    tournamentId: 23
                    tournamentName: Serie A
                    categoryName: Italy
                  season:
                    seasonId: 130971
                    seasonName: Serie A 25/26
                  startTime: 1770666300
                  participants:
                    participant1Id: 2702
                    participant1Name: AS Roma
                    participant2Id: 2719
                    participant2Name: Cagliari Calcio
                  externalProviders:
                    betgeniusId: 12418676
                    betradarId: 61061419
                    flashscoreId: QRHiwdZQ
                    mollybetId: 2026-02-09,240,227
                    pinnacleId: 1623026170
                    sofascoreId: 13981664
                outcomeInfo:
                  marketId: 101
                  marketName: Full Time Result
                  marketNameShort: 1X2
                  marketType: 1x2
                  period: fulltime
                  playerProp: false
                  handicap: 0
                  outcomeId: 101
                  outcomeName: '1'
                playerInfo: null
                odds:
                  polymarket:
                    id1000002361061419:polymarket:101:0:
                      price: 1.55
                      limit: 0
                      limitMin: 1
                      limitCurrency: USD
                      limitUsd: 0
                      limitMinUsd: 1
                      active: true
                      account: '0xAe58B89E84a625C8D0b7E630f40Cb163fcA73F01'
                      currencyInfo:
                        currency: USD
                        currencyValue: 1
                        updatedAt: '2026-02-07T17:29:32+00:00'
                      bookmakerFixtureId: null
                      bookmakerMarketId: '101'
                      bookmakerOutcomeId: >-
                        47560474994564756084533131483151433692089461304045858881876576415056110461089
                      meta:
                        lay: 2.817
                        bookmakerLayOutcomeId: >-
                          68720233493513315549726110228454980604765404427736533364284705967981292940643
                  pinnacle:
                    id1000002361061419:pinnacle:101:0:
                      price: 1.5
                      limit: 15000
                      limitMin: 5
                      limitCurrency: USD
                      limitUsd: 15000
                      limitMinUsd: 5
                      active: true
                      account: PWFSE02PP1
                      currencyInfo:
                        currency: USD
                        currencyValue: 1
                        updatedAt: '2026-02-07T17:29:32+00:00'
                      bookmakerFixtureId: null
                      bookmakerMarketId: '101'
                      bookmakerOutcomeId: home
                      meta: null
                  sharpbet:
                    id1000002361061419:sharpbet:101:0:
                      price: 1.52
                      limit: 751.343
                      limitMin: 1
                      limitCurrency: EUR
                      limitUsd: 886.13
                      limitMinUsd: 1.18
                      active: true
                      account: devsb01
                      currencyInfo:
                        currency: EUR
                        currencyValue: 0.84788876
                        updatedAt: '2026-02-07T17:29:32+00:00'
                      bookmakerFixtureId: null
                      bookmakerMarketId: '101'
                      bookmakerOutcomeId: '7'
                      meta: null
        '400':
          description: Invalid request parameters
          content:
            application/json:
              example:
                detail: 'Invalid bookmaker slug: unknown_bookmaker'
        '401':
          description: Unauthorized — missing or invalid API key
        '403':
          description: >-
            Access denied — no accounts for requested bookmaker(s) or sport not
            allowed
          content:
            application/json:
              example:
                detail: 'No accounts configured for bookmaker(s): pinnacle'
        '404':
          description: No odds found for the given fixture/outcome/player combination
          content:
            application/json:
              example:
                detail: No odds found for given parameters
        '500':
          description: Internal server error
        '501':
          description: >-
            Futures betslip not yet implemented (returned when futureId is
            provided)
          content:
            application/json:
              example:
                detail: Futures betslip is not yet implemented
components:
  schemas:
    BetslipResponse:
      type: object
      properties:
        fixtureId:
          type: string
        outcomeId:
          type: integer
        playerId:
          type: integer
        client:
          type: string
        userRef:
          type: string
          nullable: true
        fixtureInfo:
          type: object
          nullable: true
          description: Fixture details (teams, sport, tournament, start time, scores)
        outcomeInfo:
          type: object
          nullable: true
          description: Market and outcome details
        playerInfo:
          type: object
          nullable: true
          description: Player details for player prop markets
        odds:
          type: object
          description: >-
            Odds keyed by bookmaker slug, each containing odds entries keyed by
            oddsId (fixtureId:bookmaker:outcomeId:playerId)
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Contact contact@55-tech.com to obtain a key.

````