POST/api/v6/callblasting/calls/audio

Call with pre-recorded audio

Sends a call that plays a pre-recorded audio, already uploaded or in the same step.

Scope and limits

Scope

API key with the callblasting service enabled

Usage limit

60 requests per minute

Idempotency

Supports Idempotency-Key

  • The audio file allows up to 20 MB.

Sends a call that plays a pre-recorded audio. There are two ways to do it.

  • multipart/form-data with file: uploads the audio and fires the call in a single step. The audio stays reusable.
  • application/json with audioId: uses an audio you already uploaded (see GET /api/v6/callblasting/audios).

The rest of the fields are the same as in the text-to-speech send.

Request body

application/jsonWith an already uploaded audio.
to
stringrequired
Destination number in international format, digits only.
audioId
stringrequired
Id of an already uploaded audio.
callerId
stringoptional
Number shown to the person receiving the call.
clientReference
stringoptional
Your own reference to correlate the call (max 128 characters).
repeat
integeroptional
Times the message is played.

Default: 2

recordingTtlSec
integeroptional
Recording retention in seconds. Defaults to 24 hours; minimum 24 hours, maximum 1 year.
retry
objectoptional
Retry tuning. Which states are retried is a fixed service policy; here you only tune the limits.
maxAttempts
integeroptional
Number of attempts.

Default: 2

minIntervalSec
integeroptional
Minimum wait between attempts, in seconds.

Default: 300

minSuccessSec
integeroptional
Minimum duration for the call to count as successful, in seconds.

Default: 5

{
  "to": "573001234567",
  "audioId": "01J9Z4M7K2QABCDEF5GHTV3WXY",
  "clientReference": "campania-abril-0012"
}
multipart/form-dataUploading the audio in the same request.
to
stringrequired
Destination number in international format.
file
filerequired
Audio file (wav, mp3, ogg or m4a; max 20 MB).
callerId
stringoptional
Number shown to the person receiving the call.
clientReference
stringoptional
Your own reference to correlate the call.
repeat
integeroptional
Times the message is played.
recordingTtlSec
integeroptional
Recording retention in seconds.

Responses

202

Call queued.

{
  "success": true,
  "data": {
    "id": "cb_9f2c0e2a1d8b",
    "to": "573001234567",
    "status": "queued",
    "audioId": "01J9Z4M7K2QABCDEF5GHTV3WXY",
    "clientReference": "campania-abril-0012"
  },
  "meta": {
    "requestId": "8f0c0e2a4b1d4c8fae2b7a91e0c5d3f6",
    "timestamp": "2026-06-23T15:04:05+00:00",
    "responseTimeMs": 22.7
  }
}
400

Invalid number, missing audio (file or audioId), unsupported format or invalid audio.

401

Invalid or missing credentials.

403

The API key does not have the callblasting service enabled.

404

No audio exists with that audioId for your organization.

413

The audio is empty or exceeds the maximum allowed size.

429

Request limit exceeded.

Possible errors

Codes this endpoint can return in error.code. The full detail lives in the catalog.

See the full catalog
POST /api/v6/callblasting/calls/audio
curl -X POST 'https://developers.hablame.co/api/v6/callblasting/calls/audio' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer hk_YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"to":"573001234567","audioId":"01J9Z4M7K2QABCDEF5GHTV3WXY","clientReference":"campania-abril-0012"}'

Try-It

Run the request against the real API with your own API key.

The key is used only in your browser for this request. It is not stored nor sent anywhere else.

Request body

Destination number in international format, digits only.

Id of an already uploaded audio.

Number shown to the person receiving the call.

Your own reference to correlate the call (max 128 characters).

Times the message is played.

Recording retention in seconds. Defaults to 24 hours; minimum 24 hours, maximum 1 year.

Retry tuning. Which states are retried is a fixed service policy; here you only tune the limits.

POST https://developers.hablame.co/api/v6/callblasting/calls/audio

Response

You have not sent a request yet.