---
title: "Get betslip"
method: GET
path: "/v2/betslips/{betslip_id}/"
tags: ["Betslips"]
---

# Get betslip

`GET /v2/betslips/{betslip_id}/`

## Request

- Base URL: `https://magicmarkets.com` (the document declares no server; this is the origin it was published from)
- URL: `https://magicmarkets.com/v2/betslips/{betslip_id}/`
- Auth: API key in header `X-Api-Key`

Returns a single betslip with prices and stakes in USDT. `price_list` may be empty until quotes arrive, or when nothing is currently quoting the selection.

## Path parameters

- `betslip_id` string, required

## Response `200`

Betslip with prices

- BetslipEnvelope
  - `status` 'ok'
  - `data` BetslipResponse: Create (POST) response; carries no prices. Poll GET or watch the stream for the quote.
    - `betslip_id` string
    - `sport` string: Sport code - see "Sports & bet types" in the introduction.
    - `event_id` string: Event identifier, e.g. 2026-06-15,1001,2002
    - `bet_type` string: Bet type string - see "Sports & bet types" in the introduction.
    - `bet_type_description` string: Human-readable label, e.g. Home, Over 1.5 (Asian)
    - `live_score` LiveScore: In-running score at a point in time, `{home, away}`.
      - `home` integer, required: Home-team score
      - `away` integer, required: Away-team score
    - `expiry_ts` number: Unix timestamp when the betslip expires
    - `is_open` boolean
    - `close_reason` string, nullable
    - `equivalent_bets` boolean: Whether equivalent bets are included
    - `customer_username` string
    - `customer_ccy` string: Customer's base currency code
    - `betslip_type` 'normal' | 'lay' | 'parlay'
    - `legs` ParlayLeg[]
      - `id` integer
      - `sport` string: Sport code - see "Sports & bet types" in the introduction.
      - `event_id` string
      - `bet_type` string: Bet type string - see "Sports & bet types" in the introduction.
      - `live_score` LiveScore: In-running score at a point in time, `{home, away}`.
        - `home` integer, required: Home-team score
        - `away` integer, required: Away-team score
      - `bet_type_description` string
      - `price` number, nullable
      - `outcome` 'w' | 'l' | 'v' | 'v/w' | 'l/v' | 'l/w' | 'unknown' | 'null', nullable: Leg settlement: `w` won, `l` lost, `v` void, `v/w` win-void, `l/v` void-loss, `l/w` loss-win (half outcomes), `unknown`, or null before settlement.
    - `user_data` string, nullable
    - `price_list` PriceLevel[]: Prices sorted descending (best price first). May be empty until quotes arrive, or when no source is currently quoting.
      - `effective` object
        - `price` number: Decimal price
        - `min` union[]: [currency, amount] - e.g. ["USDT", 115.38]
          - union
            - string
            - number
        - `max` union[]: [currency, amount] - e.g. ["USDT", 115.38]
          - union
            - string
            - number
    - `total` union[]: [currency, amount] - e.g. ["USDT", 115.38]
      - union
        - string
        - number

## Other responses

- `401`: Authentication failed - API key missing, malformed, or rejected.
- `403`: Authorization failed - the key is valid but cannot perform this action.
- `404`: Betslip not found or not visible to this key
- `429`: Rate limit hit. Honour the `Retry-After` header.
- `500`: Unexpected internal error. Quote `data[1]` (the token) when contacting support.

---

[API](https://skmtc.dev/magicmarkets/apis/magicmarkets-api.md) · [All operations](https://skmtc.dev/magicmarkets/apis/magicmarkets-api/llms.txt) · [OpenAPI document](https://skmtc.dev/magicmarkets/apis/magicmarkets-api/revisions/00c2a7dcce2a?raw)
