Skip to main content
POST
Create Call
The simplest way to use Simple AI is the create call endpoint. You can pass a prompt and tools inline to create a one-off call without setting up an agent first. If you need more control over the conversation flow, create a reusable agent and reference it by ID instead.

Authorizations

Authorization
string
header
required

Body

application/json

Request to initiate an AI phone call

to_number
string
required

The phone number to call in E.164 format

Example:

"+12345678900"

prompt
string | null
required

The prompt to use for the AI call. Required if agent_id is not provided

Example:

"Hello, I'm calling to confirm your appointment"

from_number_id
string<uuid>

The UUID of the phone number to use for the outbound call. If not provided, a phone number will be automatically selected.

Example:

"123e4567-e89b-12d3-a456-426614174000"

record
boolean
default:false

Whether to record the call or not

language
enum<string>
default:en

The language to use for the call - English (en) or Spanish (es)

Available options:
en,
es,
ar
boost_keywords
string[] | null

Keywords to emphasize during the conversation

Example:
agent_id
string<uuid> | null

ID of the pre-configured agent to handle the call. Required if prompt is not provided. Cannot be used together with prompt or analyzers - use the agent's analyzers instead.

Example:

"123e4567-e89b-12d3-a456-426614174000"

version_id
string<uuid> | null

When using agent_id, specifies which agent version to use. If not provided, uses the most recently updated version.

Example:

"456e7890-e89b-12d3-a456-426614174000"

params
Params · object | null

Additional parameters to pass to the call. These will be subtituted into the prompt for all keys with {{params.key}}

Example:
external_identifiers
External Identifiers · object | null

External identifiers to associate with the call. These can be used to find the call later using the find_by_attribute endpoint.

Example:
analyzers
Analyzers · object[] | null

List of analyzers to run after the call. Can only be provided when agent_id is not provided. If using an agent, use the agent's analyzers instead.

voice_id
string<uuid> | null

The UUID of the voice to use for this call. Overrides the agent's default voice when provided.

Example:

"789e0123-e89b-12d3-a456-426614174000"

idempotency_key
string | null

Optional idempotency key for safe retries. Reusing the same key with the same JSON request body returns the original call response; reusing it with a different body returns 409 conflict.

Example:

"call-create-2026-03-04-0001"

Response

Successful Response

success
boolean
required
status
string
required
uuid
string
required
language
enum<string>
required
Available options:
en,
es,
ar
record
boolean
answered_by
enum<string>

Indicates how the call was answered - by a human, voicemail, or if there was no answer

Available options:
voicemail,
human,
no_answer,
unknown
analyzers
AnalyzerResponse · object[]

List of analyzers configured for this call

analysis_results
AnalysisResultResponse · object[]

Results from analyzers that have completed