API reference
AI voice agents
Build, preview and attach AI voice agents to campaigns.
BrowseAI voice agents
List your AI voice agents
GET/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
namerequiredstring · data[].name
voiceIdrequiredstring | null · data[].voiceId
voiceProviderrequiredstring · data[].voiceProvider
languagerequiredstring · data[].language
firstMessagerequiredstring | null · data[].firstMessage
What the agent says when the call is answeredsystemPromptrequiredstring · data[].systemPrompt
The script and instructions the agent followsmodelrequiredstring · data[].model
guardrailsrequiredstring | null · data[].guardrails
toolsrequiredstring[] · data[].tools
maxCallSecondsrequiredinteger · data[].maxCallSeconds
enabledrequiredboolean · data[].enabled
createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data[].updatedAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create an AI voice agent
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Request body (application/json)
namerequiredstring
max 120 charsvoiceIdstring | null
max 120 charsvoiceProviderstring
max 40 charslanguagestring
max 12 charsfirstMessagestring | null
max 500 charssystemPromptrequiredstring
max 8000 charsmodelstring
max 60 charsguardrailsstring | null
max 4000 charstoolsstring[]
maxCallSecondsinteger
1 to 3600enabledboolean
Response 201
datarequiredobject
Same fields as AiAgent, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List the voices an agent can speak with
GET/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
A trimmed list (about 60), English non-premium voices first.
Response 200
datarequiredobject[]
idrequiredstring · data[].id
namerequiredstring · data[].name
descriptionrequiredstring · data[].description
genderrequiredstring · data[].gender
languagerequiredstring · data[].language
is_prorequiredboolean · data[].is_pro
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Hear a voice speak a short line
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Returns MP3 audio of text (up to 300 characters) in the chosen voice.
Request body (application/json)
voiceIdrequiredstring
max 120 charstextrequiredstring
max 300 chars
Response 200 (audio/mpeg)
MP3 audio of the line.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Draft an agent from a plain-English description
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 20 requests per minute
Turns a description such as "call leads and book demos" into a name, opening line, script, guardrails and suggested tools. Nothing is saved; pass the result to POST /ai-agents.
Request body (application/json)
descriptionrequiredstring
max 2000 chars
Response 200
datarequiredobject
namerequiredstring · data.name
firstMessagerequiredstring · data.firstMessage
systemPromptrequiredstring · data.systemPrompt
guardrailsrequiredstring · data.guardrails
suggestedToolsrequiredstring[] · data.suggestedTools
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get an AI voice agent
GET/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as AiAgent, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Update an AI voice agent
PATCH/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
namestring
max 120 charsvoiceIdstring | null
max 120 charsvoiceProviderstring
max 40 charslanguagestring
max 12 charsfirstMessagestring | null
max 500 charssystemPromptstring
max 8000 charsmodelstring
max 60 charsguardrailsstring | null
max 4000 charstoolsstring[]
maxCallSecondsinteger
1 to 3600enabledboolean
Response 200
datarequiredobject
Same fields as AiAgent, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Delete an AI voice agent
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Simulate one conversation turn with an agent
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 20 requests per minute
Send what the callee said (message) plus the prior turns (history); the agent answers with its spoken reply and what it would do next. No call is placed and nothing is billed.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
historyobject[]
rolerequiredstring · history[].role
One ofuser,assistantcontentrequiredstring · history[].content
max 4000 charsmessagerequiredstring
max 2000 chars
Response 200
datarequiredobject
replyrequiredstring · data.reply
What the agent would sayactionrequiredstring · data.action
One ofcontinue,end,transfercapturedobject · data.captured
Structured details captured this turn (name, email, intent...)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.