Web Callback places a click-to-call from your backend: you name a destination, Wave dials it through its telephony backend and bridges the call.
Placing a call
POST /v1/callback with at least a to number. See the Quickstart and the API Reference.
| Field | Required | Description |
|---|
to | ✅ | Destination KSA number in E.164 (+9665XXXXXXXX). |
caller_id_name | — | Caller ID name shown to the callee. |
caller_id_number | — | Caller ID number. |
from_queue | — | Originating extension/queue. |
metadata | — | Key/value object echoed back on webhooks. |
Call lifecycle
A callback is created with status: "initiated" and returns 202 immediately.
Today, status stays initiated. Terminal statuses — answered, ended, and duration — are not emitted yet. They arrive with the real-time event stream (in progress). Plan your integration to treat initiated as “accepted,” not “completed.”
initiated ──▶ (answered) ──▶ (ended)
▲ └── coming soon ──┘
you are here
Call logs
Every callback is recorded. Retrieve them with GET /v1/calls — cursor-paginated (cursor, limit up to 100), numbers masked — or view them on the Call Logs page in the dashboard. See the API Reference for the full request/response.
Cancelling / retrieving a single call
GET /v1/callbacks/:id and DELETE /v1/callbacks/:id are coming soon (D1.1) — they are not yet functional. This page will document them when they ship.