Skip to content
VaakyoDocs
Navigation
Open console →

Agents

Draft Pricing

POST/api/v1/agents/pricing

The approximate price per minute of an unsaved agent configuration, by component (transcriber, LLM, voice, telephony, platform). Never less than the plan’s price per minute (floor_applied).

Authorization

An API key (X-API-Key or Authorization: Bearer), or a signed-in member with the agents.view permission.

X-API-KeyAuthorization: Beareragents.view

Query parameters

channelenum<string>default: "phone"

phone (with telephony) or web (a browser test call)

One of:phoneweb

timezonestringdefault: "Asia/Kolkata"

IANA time zone for every timestamp in the response (at, date, timestamp and *_at fields), as ISO 8601 with the offset. The X-Timezone header works too; the zone used comes back in the X-Timezone response header. An unknown zone is a 400.

Body application/json

namestringdefault: "draft"

at most 120 characters

welcome_messagestring
system_promptstring
llmobject
Show child attributes
providerenum<string>default: "gemini"

One of:geminibedrockopenaiazure_openaianthropicopenrouterdeepseek

modelstringdefault: "gemini-3.5-flash-lite"

An id from Get the catalog (llm_models).

at most 200 characters

temperaturenumberdefault: 0.4

Higher is more varied, lower is more predictable.

0 to 2

max_tokensintegerdefault: 300

The longest reply, in tokens.

16 to 4096

voiceobject

Text to speech.

Show child attributes
providerenum<string>default: "cartesia"

One of:cartesiasarvamelevenlabs

modelstringdefault: "sonic-3.6"

A text-to-speech model from the catalog (tts_models).

voice_idstring

A voice from List voices.

voice_namestring

The voice's name, for display.

languagestringdefault: "hi"

The language the agent speaks.

speednumberdefault: 1

Speaking rate; 1 is normal.

0.6 to 1.5

fallbacksobject[]

at most 3 items

Show item attributes
providerenum<string>default: "cartesia"

One of:cartesiasarvamelevenlabs

modelstringdefault: "sonic-3.6"

1 to 40 characters

voice_idstringrequired

1 to 100 characters

voice_namestring

at most 200 characters

languagestring

at most 10 characters

transcriberobject

Speech to text.

Show child attributes
providerenum<string>default: "cartesia"

cartesia (ink-2, detects language and end of turn) or deepgram (nova-3).

One of:cartesiadeepgramsarvam

modelstringdefault: "ink-2"

Set to match the provider automatically.

turn_detectionenum<string>default: "balanced"

Cartesia: how quickly the agent answers once the caller pauses.

One of:responsivebalancedpatient

languagestringdefault: "hi"

Deepgram only: the caller's language.

endpointing_msintegerdefault: 300

Deepgram only: silence that ends a turn.

10 to 3000

keytermsstring[]

Words the recogniser should expect, such as doctor or product names.

at most 100 items

fallbacksobject[]

at most 2 items

Show item attributes
providerenum<string>default: "deepgram"

One of:cartesiadeepgramsarvam

modelstringdefault: "nova-3"

at most 40 characters

languagestringdefault: "hi"

1 to 20 characters

callobject
Show child attributes
max_duration_secondsintegerdefault: 600

The call ends after this long.

30 to 3600

hangup_after_silence_secondsintegerdefault: 15

The call ends after this much silence from the caller.

5 to 120

allow_interruptionsbooleandefault: true

The caller can talk over the agent, which stops speaking.

interruption_min_wordsintegerdefault: 2

Words the caller must say to interrupt.

1 to 10

calling_hoursbooleandefault: false
call_start_hourintegerdefault: 9

Outbound calls start no earlier than this hour (in timezone).

0 to 23

call_end_hourintegerdefault: 21

Outbound calls start before this hour (in timezone).

1 to 24

timezonestringdefault: "Asia/Kolkata"

IANA time zone for the calling hours.

recordbooleandefault: true

Keep a stereo recording of the call.

hangup_messagestring

Said before the agent hangs up when the conversation is over.

hangup_on_promptbooleandefault: false

After each reply, ask the model (with hangup_prompt) whether the conversation is over.

hangup_promptstring

The question for hangup_on_prompt; it must answer Yes or No.

at most 4000 characters

hangup_interruptiblebooleandefault: false
check_user_onlinebooleandefault: false

When the caller goes quiet, ask once whether they're still there.

user_online_messagestringdefault: "Are you still there?"

What to ask.

user_online_after_secondsintegerdefault: 9

Silence before asking.

3 to 60

ambient_soundstring

at most 80 characters · matches ^$|^(office|call_centre|cafe|street)$|^upload:[a-f0-9]{32}$

ambient_volumeintegerdefault: 30

0 to 100

noise_cancellationbooleandefault: false
noise_cancellation_strengthintegerdefault: 50

0 to 100

voicemail_detectionbooleandefault: false
voicemail_detection_secondsintegerdefault: 5

2 to 10

voicemail_messagestring

at most 1000 characters

truecaller_call_reasonstring

at most 200 characters

dtmf_inputbooleandefault: false
dtmf_wait_secondsnumberdefault: 2.5

0.5 to 10

auto_reschedulebooleandefault: false
reschedule_max_daysintegerdefault: 7

1 to 30

transfer_enabledbooleandefault: false
transfer_targetsobject[]

at most 5 items

Show item attributes
namestringrequired

e.g. Support desk

1 to 60 characters

numberstringrequired

E.164, e.g. +919876543210

matches ^\+[1-9][0-9]{6,14}$

descriptionstring

when to transfer here, e.g. billing questions

at most 300 characters

transfer_messagestring

at most 300 characters

transfer_summarybooleandefault: true
analyticsobject

Run once the call ends; the results are saved on the call and sent in call.completed.

Show child attributes
summarizebooleandefault: false

Write a short summary of the call.

extractionsobject[]

at most 50 items

Show item attributes
keystringrequired

the JSON key, e.g. lead_status

matches ^[a-z][a-z0-9_]{0,39}$

labelstring

at most 80 characters

typeenum<string>default: "text"

One of:textnumberbooleanchoicedatelist

descriptionstring

what to extract and how

at most 600 characters

choicesobject[]

at most 20 items

Show item attributes
valuestringrequired

1 to 60 characters

whenstring

at most 300 characters

extraction_promptstring

What to pull out of the transcript, in plain words; saved as JSON in extracted.

at most 4000 characters

toolsobject[]
Show item attributes
namestringrequired

The function name the model calls: letters, digits and _.

matches ^[a-zA-Z_][a-zA-Z0-9_]{0,63}$

descriptionstringrequired

When the model should use the tool.

3 to 1000 characters

parametersobject

JSON Schema of the arguments the model fills in.

methodenum<string>default: "POST"

GET sends the arguments as query parameters, POST as a JSON body.

One of:GETPOST

urlstringrequired

Where the request goes.

headersobject

Extra request headers, such as an authorization header.

pre_call_messagestring

Said while the request runs.

timeout_secondsnumberdefault: 8

The request is abandoned after this long.

1 to 30

knowledge_base_idsstring[]

at most 10 items

knowledge_modeenum<string>default: "auto"

One of:autosearch

webhook_urlstring
phone_numberstring
statusenum<string>default: "active"

One of:activepausedfrozen

avatarinteger | string | null

Response

200Success.

No body.

401No credentials, or they are invalid or revoked.
detailstring

What went wrong, in plain words.

403Your role (or an API key) lacks the permission.
detailstring

What went wrong, in plain words.

422Validation Error
detailobject[]
Show item attributes
locstring | integer[]
msgstring
typestring
429Over the per-key rate limit; wait for Retry-After.
detailstring

What went wrong, in plain words.

Esc