Skip to main content
POST
/
calls
Place Outbound Call
curl --request POST \
  --url https://api.pokulabs.com/calls \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "to": "<string>",
  "from": "<string>",
  "transferTo": "<string>",
  "language": "en-US"
}
'
{
  "response": "ABC restaurant confirmed your reservation for 2 people at 6 pm tomorrow.",
  "call": {
    "recordingUrl": "https://cdn.example.com/recordings/abc123.wav"
  },
  "interactionId": "f3f7870f-30f5-4bf2-83b0-a05bc140030c"
}

Authorizations

Authorization
string
header
required

Authentication header containing your Poku API key. Find it in the Poku dashboard. The format is "Bearer YOUR_API_KEY"

Body

application/json
prompt
string
required

The prompt defines the AI's personality, conversation topic, and objective.

Example:

You are a friendly voice assistant calling on behalf of Joe to make a dinner reservation.

Make a dinner reservation for a party of 2 people on [day] at [time], under the name Joe Smith.
- If that time is available, confirm the reservation and ask if a note is needed for a special occasion.
- If [time] is unavailable, ask what times are open and accept an alternative within one hour of the original if reasonable. Confirm the new time back clearly before ending the call.
- If no one answers, leave this voicemail: "Hi, this is a message on behalf of Joe — I'm hoping to make a dinner reservation for 2 on [day] at [time]. Please call back to confirm. Thank you."
to
string
required

The number you want to call, in E.164 format.

from
string

Defaults to your Poku reserved number. If you don't have one, falls back to a Poku shared number.

You can also bring your own number from Twilio or Messagebird. Configure your credentials on the Integrations page and pass the number here in E.164 format.

transferTo
string

The number the agent will transfer the call to if the other party asks to speak with a human. Must be in E.164 format.

language
string

Specifies the language and dialect. For example, en-GB optimizes recognition for British English. Defaults to en-US if unset.

Available options: en-US, en-IN, en-GB, en-AU, en-NZ, de-DE, es-ES, es-419, hi-IN, fr-FR, fr-CA, ja-JP, pt-PT, pt-BR, zh-CN, ru-RU, it-IT, ko-KR, nl-NL, nl-BE, pl-PL, tr-TR, vi-VN, ro-RO, bg-BG, ca-ES, th-TH, da-DK, fi-FI, el-GR, hu-HU, id-ID, no-NO, sk-SK, sv-SE, lt-LT, lv-LV, cs-CZ, ms-MY, af-ZA, ar-SA, az-AZ, bs-BA, cy-GB, fa-IR, fil-PH, gl-ES, he-IL, hr-HR, hy-AM, is-IS, kk-KZ, kn-IN, mk-MK, mr-IN, ne-NP, sl-SI, sr-RS, sw-KE, ta-IN, ur-IN, yue-CN, uk-UA

Example:

"en-US"

Response

200 - application/json

Call completed successfully.

response
string
required

A natural language summary of the call outcome.

call
object
interactionId
string

Unique identifier for this call interaction.