---
title: "Place multiple play"
method: POST
path: "/mm/place_multiple_wagers"
tags: ["Play"]
---

# Place multiple play

`POST /mm/place_multiple_wagers`

## Request

- Base URL: `https://cash.api.prophetx.co/partner`
- URL: `https://cash.api.prophetx.co/partner/mm/place_multiple_wagers`
- Auth: API key in header `Authorization`

### `wager_strategy`
Same values as single placement: `fillOrKill` or `ALO` (add-liquidity-only). Omit for normal wagers.

### Note for `failed_wagers`

The `index` field of `failed_wagers` is the index of wager in request's wager list

```json
{
    "data": {
        "success": [],
        "failed_wagers": [
            {
                "request": {
                    "odds": 100,
                    "stake": 1000,
                    "line_id": "c8151bb0106b4225132e1eed71214e8c",
                    "external_id": "wager-fbfd34c6-779a-11ed-a1eb-2242ac000000"
                },
                "error": "wager_external_id_existed",
                "message": "event is not available for betting",
                "index": 0
            },
            {
                "request": {
                    "odds": 100,
                    "stake": 1000,
                    "line_id": "af92eecef365f00657df5da3f2d83d5c",
                    "external_id": "wager-fbfd34c6-779a-11ed-a1eb-2242ac000001"
                },
                "error": "wager_external_id_existed",
                "message": "event is not available for betting",
                "index": 1
            }
        ]
    }
}
```

## Request body

- WagerPlaceMultipleWagersRequest
  - `data` WagerPlaceWagerRequest[]
    - `external_id` string: max length is 100, only contain A-z, 0-9, _, -
    - `line_id` string
    - `odds` number
    - `stake` number
    - `wager_strategy` 'fillOrKill' | 'ALO'

## Response `200`

OK

- MarketMakerPlaceMultipleWagersResponse
  - `data` object
    - `failed_wagers` ContractFailedCancelWager[]
      - `error` string
      - `index` integer
      - `message` string
      - `request` ContractPlaceWagerRequest
        - `external_id` string
        - `line_id` string
        - `odds` number
        - `stake` number
    - `succeed_wagers` ContractWager[]
      - `external_id` string
      - `id` string: ID should be ref_id in database
      - `line` number
      - `line_id` string
      - `market_id` integer
      - `matched_stake` number
      - `matching_status` 'unmatched' | 'fully_matched' | 'partially_matched'
      - `odds` number
      - `outcome_id` integer: outcome description ID
      - `profit` number
      - `sport_event_id` integer
      - `stake` number
      - `status` 'void' | 'closed' | 'canceled' | 'manually_settled' | 'inactive' | 'wiped' | 'open' | 'invalid'
      - `unmatched_stake` number
      - `user_id` string
      - `winning_status` 'lost' | 'won' | 'no_result' | 'tbd' | 'manually_lost' | 'manually_won' | 'draw' | 'push'

## Other responses

- `400`: Sport event is not booked
- `401`: Unauthorized
- `403`: User is suspended
- `404`: Your requested data is not found
- `500`: Internal server error

## Changes

- **2026-11-03** `37e7808f6c3a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/prophetx/apis/external-market-maker-api/changes/mm/place_multiple_wagers/post.md)

---

[API](https://skmtc.dev/prophetx/apis/external-market-maker-api.md) - [All operations](https://skmtc.dev/prophetx/apis/external-market-maker-api/llms.txt) - [OpenAPI document](https://skmtc.dev/prophetx/apis/external-market-maker-api/revisions/37e7808f6c3a?raw)
