Mon-Fri 10am - 6pm
API Documentation
Base URL for your account: https://cpaas.studio
This is the REST API reference for CPaaS Studio's Audio Library and Voice Broadcast modules. Every example below is built for your account's base URL shown above, so you can copy and run it directly.
New here? Start with Getting started — it covers creating an API key, authentication, the response envelope, and the full error-code reference.
Audio Library
Upload, look up, and enable/disable the voice audio assets a Voice Broadcast can play.
-
Audio Upload
POST /api/voice/v1/audio/uploadUploads a voice audio file to your Audio Library, ready to select as a Voice Broadcast's message. Requires a key scoped to voice.broadcast or all. -
Audio Status
GET/POST /api/voice/v1/audio/statusLook up one audio asset, or list all of them. Requires a key scoped to voice.broadcast or all. -
Audio Enable / Disable
GET/POST /api/voice/v1/audio/toggleTurns an audio asset on or off for selection in a broadcast. This is not approval — it's a usability switch layered on top of the pending/approved/rejected status.
Voice Broadcast
Send a voice broadcast to a list of numbers, poll its per-number outcomes, and check your billing balance.
-
Voice Broadcast
GET/POST /api/voice/v1/broadcastSends a broadcast to a list of numbers from one of your account's DIDs. Requires a key scoped to voice.broadcast or all. This endpoint accepts a request; it does not bill or deliver synchronously. -
Voice Broadcast with Text to Speech
GET/POST /api/voice/v1/broadcast/ttsSends a broadcast whose audio is spoken from text. Two modes — send exactly one: (1) template_id + variables: an approved TTS template from your account, with a value for each of its variables; open to every voice.broadcast key. (2) text: free text; only for keys with audio auto-approval. Asynchronous: the response is 202 "preparing" — poll Broadcast with TTS Status. Every different message is a new audio: it costs TTS credits and takes a few seconds (up to about 30 for some voices) before dialling starts. -
Voice Broadcast with TTS Status
GET/POST /api/voice/v1/broadcast/tts/statusShows whether a Broadcast with TTS request is still preparing, has been submitted as a broadcast, or failed. -
TTS Templates
GET/POST /api/voice/v1/tts/templatesLists your account's text-to-speech templates — the ids and variables you send to Voice Broadcast with Text to Speech in template mode. Templates are created in the web app (Voice › Text To Speech › Templates) and approved by the platform before use; only approved templates can be sent. -
Voice Broadcast Number Status
GET/POST /api/voice/v1/broadcast/statusLook up a broadcast's progress and per-number outcomes. Requires a key scoped to voice.broadcast or all. This is the endpoint you should poll after sending a broadcast. -
Balance Check
GET/POST /api/account/v1/balanceYour current credit/plan balance. Unlike every other endpoint in this API, this one is not restricted to a specific module — it's available to any key, and shows exactly the scope(s) that key's own module covers.
Voice Click to Call
Place a two-leg call — CPaaS dials your agent, then bridges the customer on answer — and poll its outcome.
-
Place a Click to Call
GET/POST /api/voice/v1/click2callPlaces one Click to Call from one of your account's DIDs. Requires a key scoped to voice.click2call or all. A 202 means the call was accepted — it is billed later, after the CDR, and only if it connects. Only one Click to Call may be in flight per account. -
Click to Call Status
GET/POST /api/voice/v1/click2call/statusLook up one Click to Call by uid, event_id, or reference. Requires a key scoped to voice.click2call or all.
URLinks
Create short links, manage dynamic URL redirects, track click analytics, and handle link renewals programmatically.
-
Create URL Link
POST /api/v1/urlinksCreates a new short URL link. Consumes 1 URLinks credit (urlinks.link). Link status starts as pending and requires admin approval before redirection becomes active. -
List URL Links
GET /api/v1/urlinksRetrieves a paginated list of short links belonging to your account. -
Get URL Link Details
GET /api/v1/urlinks/{id}Fetches detailed information for a specific URL link. -
Update URL Link
PUT /api/v1/urlinks/{id}Updates name, slug, redirect URL, or auto-renew settings. Modifying link details resets status to pending for administrator re-approval. -
Delete URL Link
DELETE /api/v1/urlinks/{id}Soft deletes a URL link. If the link is deleted while still pending, the consumed 1 credit is automatically refunded to your account balance. -
Renew URL Link
POST /api/v1/urlinks/{id}/renewRenews an approved URL link for an additional 1 year period. Consumes 1 URLinks credit (urlinks.link). Only approved links can be renewed. -
Link Analytics
GET /api/v1/urlinks/{id}/analyticsRetrieves click statistics, device breakdowns, browser breakdowns, and recent click logs for a specific URL link.