Skip to main content
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.
FieldRequiredDescription
toDestination KSA number in E.164 (+9665XXXXXXXX).
caller_id_nameCaller ID name shown to the callee.
caller_id_numberCaller ID number.
from_queueOriginating extension/queue.
metadataKey/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.