Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.
Create voice agent
POST
/api/v1/voice-agents
const url = 'https://api.pitch2sale.com/api/v1/voice-agents';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","description":"example","language":"example","languages":["example"],"voice_id":"example","llm_model":"example","stt_model":"example","greeting":"example","prompt":"example","function_tools":[{"name":"example","description":"example","schema":{"additionalProperty":"example"}}],"voicemail_drop_id":"example","enable_end_call_tool":true,"create_opportunity_on_positive":true,"end_call_after_silence_ms":1,"max_call_duration_ms":1,"interruption_sensitivity":1,"webhook_url":"https://example.com","booking_rules":{"working_hours_start":"example","working_hours_end":"example","working_days":[1],"default_duration_minutes":1,"callback_sla_minutes":1,"callback_response_template":"example"},"conversation_style":{"voice_speed":1,"voice_temperature":1,"responsiveness":1,"enable_backchannel":true,"backchannel_frequency":1,"backchannel_words":["example"],"reminder_trigger_ms":1,"reminder_max_count":1,"check_in_phrase":"example","ambient_sound":"none","ambient_sound_volume":1,"boosted_keywords":["example"],"pronunciation_dictionary":[{"word":"example","pronunciation":"example","alphabet":"ipa"}],"pacing_mode":"fast","enable_filler_words":true},"persona_id":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.pitch2sale.com/api/v1/voice-agents \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "description": "example", "language": "example", "languages": [ "example" ], "voice_id": "example", "llm_model": "example", "stt_model": "example", "greeting": "example", "prompt": "example", "function_tools": [ { "name": "example", "description": "example", "schema": { "additionalProperty": "example" } } ], "voicemail_drop_id": "example", "enable_end_call_tool": true, "create_opportunity_on_positive": true, "end_call_after_silence_ms": 1, "max_call_duration_ms": 1, "interruption_sensitivity": 1, "webhook_url": "https://example.com", "booking_rules": { "working_hours_start": "example", "working_hours_end": "example", "working_days": [ 1 ], "default_duration_minutes": 1, "callback_sla_minutes": 1, "callback_response_template": "example" }, "conversation_style": { "voice_speed": 1, "voice_temperature": 1, "responsiveness": 1, "enable_backchannel": true, "backchannel_frequency": 1, "backchannel_words": [ "example" ], "reminder_trigger_ms": 1, "reminder_max_count": 1, "check_in_phrase": "example", "ambient_sound": "none", "ambient_sound_volume": 1, "boosted_keywords": [ "example" ], "pronunciation_dictionary": [ { "word": "example", "pronunciation": "example", "alphabet": "ipa" } ], "pacing_mode": "fast", "enable_filler_words": true }, "persona_id": "example" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
name
required
string
language
required
string
languages
Any of:
Array<string>
null
voice_id
string
llm_model
required
string
stt_model
required
string
greeting
required
string
prompt
required
string
function_tools
Array<object>
object
name
required
string
description
required
string
schema
required
object
key
additional properties
enable_end_call_tool
boolean
create_opportunity_on_positive
boolean
end_call_after_silence_ms
integer
max_call_duration_ms
integer
interruption_sensitivity
number
booking_rules
object
working_hours_start
string
working_hours_end
string
working_days
Array<integer>
default_duration_minutes
integer
callback_sla_minutes
integer
callback_response_template
string
conversation_style
object
voice_speed
number
voice_temperature
number
responsiveness
number
enable_backchannel
boolean
backchannel_frequency
number
backchannel_words
Array<string>
reminder_trigger_ms
integer
reminder_max_count
integer
check_in_phrase
string
ambient_sound
string
ambient_sound_volume
number
boosted_keywords
Array<string>
pronunciation_dictionary
Array<object>
object
word
required
string
pronunciation
required
string
alphabet
required
string
pacing_mode
string
enable_filler_words
boolean
Responses
Section titled “Responses”Created
Validation failed
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}Authentication required or token invalid
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}Feature not available on the organization plan
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}Role permission or token scope missing
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}Rate limit exceeded
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}