---
title: "Get order by UUID"
method: GET
path: "/v2/orders/tracked/{uuid}/"
tags: ["Orders"]
---

# Get order by UUID

`GET /v2/orders/tracked/{uuid}/`

## Request

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

Retrieve an order using the `request_uuid` from order creation instead of the order ID. Available for several days after placement (until the order is purged upstream).

## Path parameters

- `uuid` string, uuid, required

## Response `200`

Order found

- OrderEnvelope
  - `status` 'ok'
  - `data` OrderResponse
    - `order_id` integer
    - `order_type` 'normal' | 'lay' | 'parlay' | 'brokerage' | 'cashout' | 'custom': Order type. `normal`, `lay` and `parlay` are the types placed through this API; `brokerage`, `cashout` and `custom` can appear on orders created by other channels. Treat it as an open set.
    - `bet_type` string: Bet type string - see "Sports & bet types" in the introduction.
    - `bet_type_description` string
    - `sport` string: Sport code, or `parlay` for accumulators - see "Sports & bet types" in the introduction.
    - `want_price` number
    - `want_stake` union[]: [currency, amount] - e.g. ["USDT", 115.38]
      - union
        - string
        - number
    - `ccy_rate` number: Exchange rate at order time
    - `placement_time` string, date-time
    - `expiry_time` string, date-time
    - `closed` boolean
    - `close_reason` string, nullable: Reason the order closed, e.g. order_filled, timed_out; null while open
    - `event_info` EventInfo
      - `event_type` 'normal' | 'multirunner' | 'parlay'
      - `event_id` string, nullable: null for parlay orders
      - `event_name` string, nullable
      - `home_id` integer, nullable: Normal events only
      - `home_team` string, nullable
      - `away_id` integer, nullable: Normal events only
      - `away_team` string, nullable
      - `competition_id` integer, nullable
      - `competition_name` string, nullable
      - `competition_country` string, nullable: ISO country code (e.g. XE for England)
      - `start_time` string, date-time, nullable
      - `date` string, date, nullable
      - `result` union: Match or race result. The shape depends on the sport - see the `EventResult*` schemas. Null while the result is unknown.
        - EventResultMatch: Football and other two-half sports. `ht_*` are the half-time score and are omitted for single-period sports; `ft_*` are the full-time score.
          - `ht_home` integer, nullable
          - `ht_away` integer, nullable
          - `ft_home` integer, nullable
          - `ft_away` integer, nullable
        - EventResultTennis: Tennis. `setN_pM` is player M's game count in set N.
          - `set1_p1` integer, nullable
          - `set1_p2` integer, nullable
          - `set2_p1` integer, nullable
          - `set2_p2` integer, nullable
          - `set3_p1` integer, nullable
          - `set3_p2` integer, nullable
          - `set4_p1` integer, nullable
          - `set4_p2` integer, nullable
          - `set5_p1` integer, nullable
          - `set5_p2` integer, nullable
          - `who_retired` integer, nullable: 1 or 2 if a player retired, else 0 or null
        - EventResultHockey: Ice hockey. `tpN_*` are the three period scores; `tall_*` the regulation total; `pen_*` the penalty-shootout score.
          - `tp1_home` integer, nullable
          - `tp1_away` integer, nullable
          - `tp2_home` integer, nullable
          - `tp2_away` integer, nullable
          - `tp3_home` integer, nullable
          - `tp3_away` integer, nullable
          - `tall_home` integer, nullable
          - `tall_away` integer, nullable
          - `pen_home` integer, nullable
          - `pen_away` integer, nullable
        - EventResultTableTennis: Table tennis. `gameN_*` is the point score in game N (up to 7 games).
          - `game1_home` integer, nullable
          - `game1_away` integer, nullable
          - `game2_home` integer, nullable
          - `game2_away` integer, nullable
          - `game3_home` integer, nullable
          - `game3_away` integer, nullable
          - `game4_home` integer, nullable
          - `game4_away` integer, nullable
          - `game5_home` integer, nullable
          - `game5_away` integer, nullable
          - `game6_home` integer, nullable
          - `game6_away` integer, nullable
          - `game7_home` integer, nullable
          - `game7_away` integer, nullable
        - EventResultMultirunner: Multirunner (outright) events.
          - `runner_results` object[]: Finishing positions per runner
            - `team_id` integer
            - `position` integer: 1=first, 2=second, 0=unknown, -1=void, -2=non-runner, -3=eliminated
          - `non_runner_count` integer
      - `teams` object[], nullable: Runner list (multirunner events only)
        - `team_id` integer
        - `name` string
      - `end_time` string, date-time, nullable: Race end time (multirunner events only)
      - `leg_event_infos` EventInfo[], nullable: Sub-event info for each leg (parlay orders only)
    - `bets` BetResponse[]
      - `bet_id` integer
      - `order_id` integer
      - `order_ccy_rate` number
      - `status` object: Bet status
        - `code` string: e.g. matched, failed, settled
        - `reason` string: Human-readable failure reason; present only when `code` is `failed`
        - `response_pmm` PriceLevel
          - `effective` object
            - `price` number: Decimal price
            - `min` union[]: [currency, amount] - e.g. ["USDT", 115.38]
              - …
            - `max` union[]: [currency, amount] - e.g. ["USDT", 115.38]
              - …
      - `sport` string: Sport code - see "Sports & bet types" in the introduction.
      - `event_id` string, nullable
      - `bet_type` string: Bet type string - see "Sports & bet types" in the introduction.
      - `ccy_rate` number
      - `want_price` number
      - `got_price` number, nullable
      - `want_stake` union[]: [currency, amount] - e.g. ["USDT", 115.38]
        - union
          - string
          - number
      - `got_stake` union[]: [currency, amount] - e.g. ["USDT", 115.38]
        - union
          - string
          - number
      - `profit_loss` union[]: [currency, amount] - e.g. ["USDT", 115.38]
        - union
          - string
          - number
      - `reconciled` boolean, nullable
      - `exchange_role` 'maker' | 'taker' | 'null', nullable
    - `user_data` string, nullable
    - `status` string: Order lifecycle status: open, pending, failed, partial_void, full_void, done, or reconciled
    - `keep_open_ir` boolean
    - `exchange_mode` 'make_and_take' | 'take_only' | 'dark' | 'null', nullable: Exchange interaction mode as passed at creation; null on older orders
    - `price` number, nullable: Achieved price (null while open)
    - `stake` union[]: [currency, amount] - e.g. ["USDT", 115.38]
      - union
        - string
        - number
    - `profit_loss` union[]: [currency, amount] - e.g. ["USDT", 115.38]
      - union
        - string
        - number
    - `bet_bar_values` object, nullable
    - `current_score` integer[], nullable: The in-running score the exchange held for the event when the order was placed, `[home, away]`; null for pre-match orders and for events without a running score.
    - `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.

## Other responses

- `400`: The path value is not a valid UUID
- `401`: Authentication failed - API key missing, malformed, or rejected.
- `403`: Authorization failed - the key is valid but cannot perform this action.
- `404`: No order with this `request_uuid`
- `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)
