List do-not-call numbers
Workspace-wide. A suppressed number is never dialed by any campaign, including one already running.
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Query Parameters
Opaque next_cursor from the previous page.
1 <= value <= 20050Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/dialer/suppressions"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "phone": "string", "reason": "string", "source": "string", "expires_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z" } ], "next_cursor": "string"}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}Send a waiting caller to an AI agent POST
Sends an answered caller who has no extension yet to a published AI agent. It works once per caller and only while the caller is still held (hold, hold line or callback offer): a caller already connected to a person, already with an AI, or who has hung up returns `409 dialer.invalid_state`, and no second AI leg is ever started. `202` means the request is recorded; the call moves within one hold step (a few seconds), or at once when the phone system supports redirect (`via: redirect`). The AI minutes are billed to the workspace wallet as `dialer_overflow`. If the agent cannot take the call, the caller carries on down the overflow ladder (callback offer, then apology), never into silence. Needs `dialer.supervise`.
Add a do-not-call number POST
Upserts by normalised number. `expires_at` (optional, future) makes it temporary.