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

# Changelog

> Changes to the Wave public API, newest first.

Changes a developer can see in the Wave public API, newest first. Dates are when the change was merged into the API code; an environment gets it at its next release. A change marked **enabled per environment** is not switched on in every environment yet; its pages say what you get where it is off.

## 2026-10-14

* **Call velocity limit** (enabled per environment): a call or callback can answer `429` with `CALL_VELOCITY_EXCEEDED` and a `Retry-After` header when your organization places calls too fast.

## 2026-10-13

* **`GET /v1/usage`** returns your call totals for a date range.
* **`GET /v1/calls`** has a page mode (`page`, `page_size`, `total_count`) next to cursor paging, and the filters `status`, `queue_id`, `from` and `to`.

## 2026-10-05

* **Graph call flows** (enabled per environment): `POST /v1/callflows` accepts `kind: "graph"` definitions — nodes linked by `next`, for menus with more than one level.

## 2026-10-04

* **Conferencing** (enabled per environment): `POST /v1/calls/{call_id}/conference`, `GET /v1/conferences/{conference_id}` and `POST /v1/conferences/{conference_id}/end`, with the `conference.*` webhooks.

## 2026-10-02

* **Call transfer** (enabled per environment): `POST /v1/calls/{call_id}/transfer` and `GET /v1/calls/{call_id}/transfers`, with the `call.transferred` webhook.
* **In-call control** for the agent leg (enabled per environment): the in-call control routes accept `leg: "agent"`.

## 2026-10-01

* **Caller brand for voice authentication** (enabled per environment): `GET /v1/voice-auth/brands`; a challenge can carry a `brand_id` so the call says your name.

## 2026-09-26

* **In-call control** (enabled per environment): hang up, hold, unhold, mute, unmute, send DTMF, play audio, and start or stop recording on a live call (`POST /v1/calls/{call_id}/…`).

## 2026-09-24

* **API key scopes are enforced on every route**: a key can call only the routes its scopes allow; any other route answers `403`. Each operation in the [API Reference](/api-reference/overview) names the scope it needs.

## 2026-09-07

* **Voicemail** (enabled per environment): `PUT /v1/numbers/{id}/voicemail`, `GET /v1/voicemails`, `GET /v1/voicemails/{id}`, its recording link, mark as listened and delete, with the `voicemail.received` webhook.

## 2026-09-02

* **Verify (one-time codes)** (enabled per environment): `POST /v1/verify`, `POST /v1/verify/check` and `GET /v1/verify/{id}`, with the `verify.completed` webhook.

## 2026-09-01

* **Voice authentication** (enabled per environment): `POST /v1/voice-auth/challenges` and `GET /v1/voice-auth/challenges/{id}`, with the `voice_auth.completed` webhook. `assurance: "number_match"` asks the caller to key the digits shown in your app.

## 2026-08-29

* **Call flows (IVR)** (enabled per environment): create, list, read, update, delete and activate call flows, bind a flow to a number, and upload prompt audio (`/v1/callflows`).

## 2026-08-26

* **WhatsApp messaging** (enabled per environment): send messages, read message history, upload media, and manage templates (`/v1/messages`); bulk template sends (`/v1/broadcasts`) and contact groups (`/v1/contact-groups`, `/v1/contacts`); the `message.*` webhooks.
* **Caller ID check**: a call or callback with a caller ID your organization does not own answers `403` with `CLI_NOT_OWNED`.

## 2026-08-15

* **Virtual numbers** (enabled per environment): `POST /v1/virtual-numbers`, list, read, release, and `PUT /v1/virtual-numbers/{id}/instructions`.

## 2026-08-14

* **Queues**: `POST /v1/queues/agents/login`, `POST /v1/queues/agents/logout` and `GET /v1/queues/members`.

## 2026-08-03

* **Web callback widget**: an embeddable click-to-call button for your website. See [Web callback widget](/web-callback-widget).

## 2026-08-02

* **`POST /v1/calls`** places an outbound call from your number (production keys).

## 2026-07-31

* **Authentication menu**: a call flow can ask the caller to press a key to confirm; the `call.input` webhook carries the choice.

## 2026-07-24

* **`GET /v1/calls/{call_id}/recording`** returns a time-limited download link for a call recording (production keys).

## 2026-07-09

* **Scoped API keys**: each API key carries scopes (for example `calls:read`, `calls:write`).

## 2026-07-01

* **Callbacks**: `GET /v1/callbacks`, `GET /v1/callbacks/{id}` and `DELETE /v1/callbacks/{id}` list, read and cancel callbacks; a cancel sends the `call.cancelled` webhook.
* **Sandbox call lifecycle**: a sandbox callback to `+966500000014` or `+966500000015` sends simulated `call.*` webhooks (answered then ended, or missed).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.