# Bets API API

> Bets API API on Apizie: 6 endpoints (Places a multiple or a complex bet., Places a single bet, Organises the betslip when one or more selections are made. It returns a bet slip structure organised by…, Returns available free bets, …) returned as clean JSON through one API key. 6 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/entertainment:whapi-bets/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `entertainment:whapi-bets`
- Category: Entertainment
- Status: live
- Source: http://developer.williamhill.com
- Page: https://zieapi.vercel.app/api/entertainment/whapi-bets
- OpenAPI: https://zieapi.vercel.app/api/entertainment/whapi-bets/openapi.json

The Bets API methods are used to place single, multiple and complex bets and to retrieve a customer’s bet history. When retrieving a customer’s bet history you can organize the bets from the betting history in terms of…

## Endpoints

### Places a multiple or a complex bet.
`POST https://zieapi.vercel.app/v1/entertainment:whapi-bets/place-complex-bet`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| apiTicket | string | yes | The ticket obtained from the sessions API |
| fields | array | no | Specify an absolute field list to return (Comma Separated List) |
| include | array | no | Specify fields in addition to the default to return (Comma Separated List) |
| exclude | array | no | Specify fields from the default to exclude (Comma Separated List) |
| body | object | yes | JSON request body |

### Places a single bet
`POST https://zieapi.vercel.app/v1/entertainment:whapi-bets/place-single-bet`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| apiTicket | string | yes | The ticket obtained from the sessions API |
| fields | array | no | Specify an absolute field list to return (Comma Separated List) |
| include | array | no | Specify fields in addition to the default to return (Comma Separated List) |
| exclude | array | no | Specify fields from the default to exclude (Comma Separated List) |
| body | object | yes | JSON request body |

### Organises the betslip when one or more selections are made. It returns a bet slip structure organised by…
`POST https://zieapi.vercel.app/v1/entertainment:whapi-bets/validate-betslip`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| expanded | string | no | Allows for all bets for given selections to be returned - not just the specified type |
| body | object | yes | JSON request body |

### Returns available free bets
`GET https://zieapi.vercel.app/v1/entertainment:whapi-bets/get-free-bets`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| apiTicket | string | yes | The ticket obtained from the sessions API |
| fields | array | no | Specify an absolute field list to return (Comma Separated List) |
| include | array | no | Specify fields in addition to the default to return (Comma Separated List) |
| exclude | array | no | Specify fields from the default to exclude (Comma Separated List) |

### Retrieves the customer’s bet history.
`GET https://zieapi.vercel.app/v1/entertainment:whapi-bets/get-bet-history`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| apiTicket | string | yes | The ticket obtained from the sessions API |
| dateFrom | string | yes | The UTC FROM datetime from bets to be returned. (yyyy-MM-ddTHH:mm:ss) |
| dateTo | string | yes | The UTC TO datetime for bets to be returned. (yyyy-MM-ddTHH:mm:ss) |
| fields | array | no | Specify an absolute field list to return (Comma Separated List) |
| include | array | no | Specify fields in addition to the default to return (Comma Separated List) |
| exclude | array | no | Specify fields from the default to exclude (Comma Separated List) |
| page | number | no | The index of the page to return |
| pageSize | number | no | The number of results per page |
| sort | string | no | The order the response will be retuned by. i.e. transDateTime,desc. Only transDateTime can be used currently |
| settled | boolean | no | Filter by settled bets. If omitted, both settled and unsettled will be returned. |

### Allows a trusted application to cash in a bet (take a return on a bet) on behalf of the customer
`POST https://zieapi.vercel.app/v1/entertainment:whapi-bets/cashin`

| Parameter | Type | Required | Description |
|---|---|---|---|
| apiKey | string | yes | A unique identifier of your application that is generated by the API portal. |
| apiSecret | string | yes | Another unique identifier for your application. |
| apiTicket | string | yes | The ticket obtained from the sessions API |
| betId | string | yes | The identifier of the bet |
| cashInValue | number | yes | The cash in value of the bet |
| cashinBetDelayId | string | yes | The ID of this bet delay |

## Example
```
curl "https://zieapi.vercel.app/v1/entertainment:whapi-bets/place-complex-bet" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the Bets API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/entertainment:whapi-bets/place-complex-bet with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Bets API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the Bets API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key entertainment:whapi-bets.

### What is the status of the Bets API API?
Live: works with just an Apizie key
