Skip to main content
This is version 1 of the endpoint. It is unchanged and keeps working. For a new integration, use version 2, which answers the same envelope as every other resource.
The Calls API places outbound phone calls programmatically. You provide a destination number and one of your workspace phone numbers; Verbeo dials the destination over that number’s LiveKit SIP trunk and connects your AI agent. You can pass dynamic variables that are injected into the agent’s system prompt at call time, so you can personalize each call without creating separate agents.
This endpoint requires a private API key (prefix vbr_). Public keys (vbr_pub_) are not accepted and return a 401 error.

Endpoint

Request body

string
required
Destination phone number in E.164 format (e.g., "+1234567890").
string
required
The phone number to call from, in E.164 format. Must be an active phone number in your workspace.
string
UUID of the agent that will handle the call. Optional — if omitted, Verbeo uses the outbound agent configured on the fromNumber. If neither is set, the request returns 400.
object
Key-value pairs that are substituted into the agent’s system prompt at call time. Reference them in the prompt as {{variable_name}}. Values must be strings.
The response returns immediately once the call is created — it does not wait for the destination to answer. The agent places the call in the background; track the outcome with the call_started / call_ended / call_analyzed webhooks.

Request

Response

The request returns 201 Created as soon as the call is created.
boolean
required
true when the call was created.
string
required
Verbeo UUID for this call. Use it to retrieve call details and correlate webhook events.
string
required
Call status. "queued" — the call has been created and is being placed.
string
required
The destination phone number as provided.
string
required
The phone number the call was placed from.
string
required
UUID of the agent handling the call (the resolved agent, whether you passed it or it came from the phone number).
string
required
Display name of the agent.
string
required
Human-readable confirmation message.

Example response

Error responses

To personalize calls at scale, define placeholder tokens like {{customer_name}} in your agent’s system prompt and pass the actual values through dynamicVariables on each call. The agent sees the resolved values during the conversation.