Skip to main content
POST
/
call
curl --request POST \
--url https://api.kallabot.com/call \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sender_phone_number": "+14155551234",
"recipient_phone_number": "+14155559876",
"record": true,
"template_variables": {
"customer_name": "Bruce"
}
}'
{
  "status": "success",
  "message": "Call initiated successfully",
  "call_details": {
    "call_sid": "CA123...",
    "agent_id": "3c90...",
    "is_temporary_agent": false,
    "from_number": "+14155551234",
    "to_number": "+14155559876",
    "created_at": "2025-08-23T12:34:56Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Payload for initiating an outbound call. Provide either an existing agent_id (to use a stored agent) or an inline agent_config with optional agent_prompts (to create a temporary agent for this call). NOTE: the UI previously rendered a separate 'Option' schema because the spec used a oneOf; to avoid showing Option 1/2 in the docs we do not use oneOf here — the server still expects one of these two fields to be present.

sender_phone_number
string
required

Phone number to place the call from (E.164).

recipient_phone_number
string
required

Phone number to call (E.164).

agent_id
string<uuid> | null

Existing agent UUID to use for the call.

agent_config
object

Inline agent configuration for a temporary agent used only for this call.

agent_prompts
object | null

Optional inline prompts for a temporary agent.

record
boolean
default:true

Whether the call should be recorded. Compliant agents may force this to false.

template_variables
object

Template variables available to agent prompts.

Response

Call initiated successfully

status
string
required
Example:

"success"

message
string
required
call_details
object
required