APIKeyCreate
namekey_typeType of API key.
scopesUse preset: read_only, standard, full_access
rate_limit_per_minuteIP whitelist
APIKeyListMetadata
totalcountinclude_revokedAPIKeyListResponse
Metadata for API key list responses.
APIKeyResponse
idnamekey_typeType of API key.
prefixKey prefix for identification (first 8 chars)
scopescreated_atis_activerate_limit_per_minutecreated_byAPIKeyRotateResponse
old_key_idAPI key response with secret (only on creation).
grace_period_endsOld key remains valid until this time
APIKeyWithSecret
idnamekey_typeType of API key.
prefixKey prefix for identification (first 8 chars)
scopescreated_atis_activerate_limit_per_minutecreated_bykeyFull API key (only shown once)
AccountResponse
idorganization_idphone_number_iddisplay_phone_numberbusiness_account_idbusiness_account_namephone_number_namecreated_atupdated_atenable_messagingenable_audio_message_responseenable_callingis_activewebhook_verifiedinbound_webhook_secret_setActiveCallInfo
idchannelstatusActiveCallsResponse
successtotal_activetimestampAddToDncConfig
enabledEnable in-call DNC opt-out tool
AdminAdjustCreditsRequest
organization_idamountactionAdminAdjustCreditsResponse
statusorganization_idactionamount_centscurrencytransaction_idnew_balance_centsnew_balance_dollarsAdminBillingOverridesRequest
AdminBillingOverridesResponse
organization_idindia_dlt_registeredmax_concurrent_calls_effectivescale_cap_overrideAdminDNCAddRequest
phonesourceAdminPilotConvertRequest
target_skuindia_compliancechina_onboardingAdminPilotConvertResponse
organization_idnew_skunew_setup_fee_invoice_idpilot_credit_applied_usdAgentAssignRequest
agent_idAgentCallRequest
Optional session name override
Display name for the caller
Dynamic {{variables}} to inject for this call
AgentCallResponse
successWhether the session was successfully created
session_idUnique identifier for this call session
participant_tokenJWT access token for the participant
tokenJWT access token (alias of participant_token for backward compat)
server_urlWebSocket URL of the realtime media server
participant_identityYour participant identity in this session
expires_inToken expiry in seconds from now
AgentCreate
nameAgent display name (required)
agent_typeAgent type: advanced (form-based) or workflow (graph-based)
Template ID to apply preset instructions and config. See GET /v1/templates for available templates.
tagsTags for organization
Agent description
LLM configuration. Default: OpenAI GPT-4.1
TTS configuration. Default: ElevenLabs Flash v2.5
STT configuration. Default: ElevenLabs Scribe v2
Vocal backchanneling config
Enable ultra-low latency word-by-word streaming
Tool and capability settings
Call transfer settings
Analytics and monitoring settings
AgentKnowledgeBaseAssignment
knowledge_base_idsKB IDs to assign
AgentKnowledgeBaseListResponse
agent_idAgentListResponse
List of agents
Pagination metadata
AgentMetricsSummary
AgentPerformance
agent_idAgent ID
agent_nameAgent display name
total_callsTotal calls handled
completed_callsSuccessfully completed
failed_callsFailed calls
total_duration_secTotal duration in seconds
avg_duration_secAverage call duration
success_rateSuccess rate (0-1)
answer_rateAnswer rate (0-1)
Estimated cost
Average response latency
AgentRequiredVariablesResponse
required_variablescontact_variablessystem_variablestotal_requiredAgentResponse
idUnique agent identifier
nameAgent display name
organization_idOwning organization ID
statusAgent status
is_activeWhether agent is active
LLM/Brain configuration
TTS configuration
STT configuration
Vocal backchanneling config
stream_responseEnable ultra-low latency word-by-word streaming
min_consecutive_speech_delayTools configuration
Transfer settings
Analytics settings
tagsTags
Description
agent_typeAgent type
Linked workflow summary for workflow agents: {id, name, is_active, current_version}
versionConfig version number
call_countTotal number of calls for this agent
Creation timestamp
Last update timestamp
Configured per-call inbound webhook URL
inbound_webhook_secret_setTrue when an HMAC secret is configured. The secret value itself is never returned — operator re-enters it to change.
AgentRestoreResponse
successmessageAgentUpdate
Agent display name
Tags for organization
Agent description
Whether agent is active
LLM configuration (brain - what thinks)
TTS configuration
STT configuration
Vocal backchanneling config
Enable ultra-low latency word-by-word streaming
Tool and capability settings
Call transfer settings
Analytics and monitoring settings
If provided, the update will fail with 409 if the agent's current version does not match. Prevents concurrent overwrites.
HTTPS URL invoked at call/message connect to fetch per-call dynamic_variables and (optional) prompt overrides. Empty/null disables the fetch. Phone-number-level URLs (when configured) take precedence for inbound voice — agent URL is the fallback.
Shared secret used to sign every webhook request with HMAC-SHA256 in the X-Neuratel-Signature header. Optional — null means no signature is sent (acceptable for internal/dev endpoints only).
AgentVersionListResponse
agent_idtotalAllOrgsUsageResponse
period_daysAmbientAudioConfig
enabledEnable ambient audio
Built-in audio clip or custom URL/path to audio file
volumeAmbient audio volume
AnalysisPlan
Custom prompt for call summary. Empty string disables summary.
Custom prompt for structured data extraction
JSON Schema defining the format of extracted data
Custom prompt for success evaluation. Empty string disables evaluation.
Rubric type for evaluation
extract_topicsAuto-extract topics discussed during the call
extract_action_itemsAuto-extract action items mentioned during the call
compute_user_sentimentCompute categorical user sentiment from the per-turn sentiment timeline
minMessagesThresholdSkip analysis if conversation has fewer messages than this
AnalyticsConfig
enabledEnable analytics overall
track_sentimentTrack emotional tone/sentiment throughout calls in real-time
Webhook notification settings
Call recording settings
Post-call analysis settings
AnalyticsDashboardResponse
start_dateStart date YYYY-MM-DD
end_dateEnd date YYYY-MM-DD
Primary KPI metrics
Named time range if applicable
Call volume over time
Activity heatmap data
Call outcome breakdown
By hour of day
By day of week
Per-agent performance
Per-campaign performance
Average latency metrics
AnnouncementRequest
subjectmessagecomponent_idsAuthConnectionCreate
namekindAuthConnectionResponse
idorganization_idnamekindhas_tokenheader_keysAuthContextResponse
emailuser_idUser identifier from auth provider
roleEffective role
effective_roleString version of effective role for frontend
is_super_adminWhether user has super admin access
scopesPermission scopes from JWT
authenticated_viajwt or api_key
BackchannelConfig
enabledEnable active vocal backchanneling
listening_delayed_enabledEnable delayed active listening hums when user speaks for >1.0s
thinking_cognitive_enabledEnable cognitive thinking cues (hmm, uhm) when agent is processing
thinking_cognitive_probabilityProbability roll for cognitive thinking cues. Default: 0.5
interruption_hums_enabledEnable verbal acknowledgement hums when user interrupts the agent
volume_multiplierBackchannel & cognitive cue volume multiplier (percentage of main voice). Default: 0.75
tool_fillers_enabledEnable native, quiet, and asynchronous talking fillers during long tool calls (such as booking slots or compiling audio notes)
tool_fillers_delayContinuous silence delay (seconds) required before each filler plays. Default: 1.5s
tool_fillers_poolCustom list of rotating talking fillers used during long operations
listening_cuesVocal backchannels and active listening hums to rotate through
thinking_cuesCognitive thinking cues to rotate through while processing
BackgroundAudioConfig
Ambient audio settings
Thinking audio settings
BalanceCheckResponse
can_make_callbalance_centsbalance_dollarsmessageminimum_required_centsBalanceHistoryResponse
current_balance_centscurrent_balance_dollarsBalanceResponse
balance_centsbalance_dollarshas_creditscurrencyBalanceTransactionResponse
idamount_centsamount_dollarsending_balance_centsdescriptioncreatedBatchCallRequest
whatsapp_phone_number_idrecipientsList of recipient WhatsApp IDs (E.164 phone numbers)
permission_request_template_nameagent_idpermission_request_template_language_codeBody parameters for the call permission template (named or positional). Same auto-resolve contract as InitiateCallRequest — supply template_body + dynamic_variables to fill from the agent map.
Raw template body for placeholder auto-resolution.
Per-conversation runtime variable map applied uniformly to every recipient in the batch. For per-recipient overrides, supply template_params directly.
BatchCallResponse
totalsentfailedBillingSettingsResponse
skucontract_termpayment_methodpilot_included_minutes_usedpilot_included_minutes_totalpilot_included_messages_usedpilot_included_messages_totalmonth_to_date_billable_minutesmonth_to_date_whatsapp_call_minutesconcurrency_capBuiltinAudioClip
Built-in audio clips for background and thinking sounds.
For custom sounds, use a URL or file path string instead.
BulkPasteContactRow
phone_numberOptional variables for this contact (e.g. {"name": "Bilal"}). Reserved keys phone_number and status are rejected.
BulkPasteContactsRequest
BulkPasteContactsResponse
imported_countskipped_countdnc_blocked_countCallDurationConfig
enabledEnable call duration limit
max_secondsMaximum call duration in seconds
Warning message before limit
warning_seconds_beforeSeconds before limit to show warning
exceeded_messageMessage when limit reached
CallListContactCreate
phone_numberContact phone number
Arbitrary key/value map. Every key becomes a {{key}} variable available to the agent prompt at call time. Reserved keys phone_number and status are rejected (they would override the contact's real columns).
CallListContactResponse
phone_numberContact phone number
idcall_list_idcreated_atArbitrary key/value map. Every key becomes a {{key}} variable available to the agent prompt at call time. Reserved keys phone_number and status are rejected (they would override the contact's real columns).
statusis_activeCallListContactUpdate
Contact phone number
Replace the contact's variable map. Pass {} to clear; omit to leave unchanged. Reserved keys phone_number and status are rejected.
Contact status: active, dnc, invalid, opted_out, or called (legacy)
Contact active status
CallListCreate
nameCall list name
Call list description
CallListResponse
nameCall list name
idorganization_idcreated_atupdated_atCall list description
total_contactsactive_contactsis_activeCallListUpdate
Call list name
Call list description
Additional list metadata
List active status
CallListsListResponse
Pagination metadata in API responses.
CallOutcomeBreakdown
completedSuccessfully completed calls
failedFailed calls
no_answerUnanswered calls
voicemailVoicemail calls
busyBusy signal
canceledCanceled calls
otherOther outcomes
CallStatusResponse
intent_idstatusrequested_atexpires_atCallVolumeDataPoint
dateDate in YYYY-MM-DD format
Hour (0-23) for hourly interval
callsTotal calls
answeredAnswered/completed calls
errorsFailed/error calls
inboundInbound calls
outboundOutbound calls
duration_minutesTotal duration in minutes
avg_handle_time_secAverage call duration in seconds
Answer rate (0-1)
Error rate (0-1)
Booking rate (0-1)
avg_latency_ttft_msAverage TTFT in ms
avg_latency_ttfb_msAverage TTFB in ms
avg_eou_delay_msAverage end-of-utterance VAD delay in ms
asr_latency_ms_p50Median ASR latency in ms
CampaignAttemptListResponse
Pagination metadata in API responses.
CampaignAttemptResponse
idcampaign_idcontact_idattempt_numberoutcomecreated_atupdated_atCampaignConfig
CampaignCoverageResponse
required_variablestotal_contactsblocking_zero_pctCampaignListResponse
Pagination metadata in API responses.
CampaignPerformance
campaign_idCampaign ID
campaign_nameCampaign display name
total_callsTotal calls made
answeredAnswered calls
completedCompleted conversations
failedFailed calls
no_answerNo answer
voicemailVoicemail
answer_rateAnswer rate (0-1)
completion_rateCompletion rate (0-1)
conversion_rateConversion/success rate (0-1)
total_duration_minTotal duration in minutes
avg_duration_secAverage call duration
CampaignRetryRequest
Restrict retry to these contacts (default: all matched)
Only retry attempts in these outcomes. Default: failed, no_answer, voicemail, busy.
CampaignRetryResponse
requeuedNumber of new attempts created
contactsContact IDs that were retried
CampaignTestWebhookResponse
successTrue if the receiver responded 2xx.
latency_msRound-trip time in milliseconds.
HTTP status code from the receiver.
Truncated response body (first 500 chars).
Set when the request failed before getting a response.
CartesiaEmotion
Cartesia voice emotion presets.
CartesiaVoiceConfig
providervoice_idCartesia voice ID
modelCartesia model to use
Speaking speed. Preset name or float
Emotion tags to apply
Volume adjustment
Language code
ChatChannelMetrics
channelconversationsmessages_totalmessages_inboundmessages_outbounddeliveredreadfailedChatDashboardResponse
start_dateend_dateTop-line chat dashboard KPIs.
ChatDeliveryBreakdown
channelsentdeliveredreadfailedChatKPIs
active_conversationstotal_messagesInbound + outbound in window
inbound_messagesoutbound_messagesavg_messages_per_conversationMedian seconds between first inbound and first outbound reply.
ChatVolumePoint
dateISO date or hour bucket key
smswhatsapp_chattotalCollectDtmfConfig
enabledEnable DTMF collection
max_digitsMaximum digits to collect
timeout_secondsTimeout for digit entry
stop_characterCharacter to end input
allow_spokenAlso accept spoken digits
inter_digit_timeoutTimeout between digits
CombinedCost
voice_usdchat_usdtotal_usdCombinedDashboardResponse
start_dateend_dateCOMPREHENSIVE ANALYTICS RESPONSE - Single Source of Truth
This is the primary analytics endpoint. Backend returns everything the frontend needs - no client-side calculations required.
Chat-side analytics payload mirroring the voice dashboard contract.
Cross-channel cost roll-up for the combined dashboard.
ComponentAdminOut
idnamegroup_namestatusuptime_percentagedisplay_orderis_visibleComponentCreate
namegroup_namedisplay_orderhealth_check_typehealth_check_intervalComponentOut
idnamegroup_namestatusuptime_percentageConcurrencyResponse
current_concurrentlimitavailableunlimitedContactImportCommitRequest
preview_tokenrun_asyncForce the background path. Auto-on for files >1000 rows; the FE may also opt in to background mode for smaller files to keep the UI responsive.
ContactImportCommitResponse
statusqueued | completed | failed
Set when run_async is true; poll for progress.
imported_countskipped_countdnc_blocked_countContactImportInvalidRow
row_number1-indexed row number, header = row 1
reasonWhy the row failed validation
Raw cell values for this row
ContactImportPreviewResponse
preview_tokenOpaque token to pass to /import. TTL ~10 minutes.
detected_headerstotal_rowsencodingdelimiterraw_header → canonical_field mapping derived from header aliases.
First 10 rows with raw cell values.
First 10 invalid rows with reasons.
ContactImportProgressError
row_numberreasonphoneContactImportProgressResponse
statusqueued | running | completed | failed
totalprocessedimportedskippeddnc_blockedContributionDataPoint
dateDate in YYYY-MM-DD format
countActivity count for this day
levelIntensity level 0-4 for coloring
ConversationDynamicVariablesUpdateRequest
Map of variable name to value. Keys with reserved prefix system__ are stripped server-side (platform-controlled).
replaceTrue = full replace (existing keys not in the payload are cleared). False (default) = merge into existing bucket.
ConversationLastMessage
typedirectionstatussent_atConversationListResponse
Pagination metadata in API responses.
ConversationResponse
idorganization_idchannelcontact_addressbusiness_addressstatusstarted_atmessage_countcreated_atupdated_atConversationSendRequest
bodyMMS attachments (SMS only — WhatsApp text endpoint rejects).
Client-supplied id echoed back for optimistic UI reconciliation.
ConversationTurnSummary
speakertexttimestampDNCEntryResponse
idphone_e164country_iso2sourceadded_atDNCSettingsResponse
organization_idprotection_enabledauto_add_inbound_optoutsDashboardKPIs
Total calls in period
Successfully answered/completed calls
Failed/error calls
Answered / Total as percentage
Errors / Total as percentage
Completed / Total as percentage
Average call duration
Total minutes used
Bookings / Total
AI component latencies
Average sentiment (-1 to 1, formatted as %)
Average audio/conversation quality (0-100%)
Total cost in USD
DayOfWeekDistribution
dayDay of week (0=Monday, 6=Sunday)
day_nameDay name (Monday, Tuesday, etc.)
callsCall count
avg_duration_secAverage duration
DeepgramLanguage
Deepgram supported languages (BCP-47 format).
DeepgramNovaModel
Deepgram Nova-3 transcription models - uses STT class (/v1/listen API).
SDK Default: model="nova-3", language="en-US" No Nova-4 exists as of 2026-04. Deepgram Flux is a separate model line (removed).
DeepgramTranscriberConfig
providermodelDeepgram Nova-3 model to use for transcription
languageTranscription language (BCP-47 format). Use 'multi' for multilingual streaming.
Apply smart formatting (numbers, dates, addresses)
Add punctuation to transcription
Convert spoken numbers to digits
Enable speaker diarization (identify different speakers)
Key terms to improve recognition accuracy (Nova-3 only)
interim_resultsReturn partial transcripts during streaming (required for low-latency agents)
endpointing_msSilence duration (ms) before Deepgram considers utterance complete
filler_wordsInclude filler words (um, uh) in transcripts
profanity_filterFilter profanity from transcripts
mip_opt_outOpt out of model improvement program
DialFailureDetail
codeMachine-readable failure category — see class docstring.
can_overrideTrue when the operator can re-submit with force_dnc_override=true.
messageHuman-readable detail for display.
DialRequest
agent_idto_numberDestination phone number (E.164 format, e.g., +15551234567)
number_idPhone number ID to use for caller ID
Override caller ID number (E.164). Defaults to number_id's DID.
Caller ID display name (max 50 chars).
Dynamic variables injected into agent prompts via {{var}} syntax.
Per-call deep-merged agent config overrides.
force_dnc_overrideWhen true AND the org has DNC protection_enabled=False, allows the call to proceed even if the destination is on the DNC directory. Requires force_dnc_override_reason. Opt-IN orgs cannot override.
Free-text justification for the DNC override (logged to dnc_check_log for audit). Required when force_dnc_override=True.
DialResponse
successto_numberagent_idExchangeRateResponse
base_currencytarget_currencyrateFirstMessageConfig
enabledWhether to send a greeting message
textGreeting message text
delay_msDelay before speaking (ms)
allow_interruptionsAllow user to interrupt greeting
GroqModel
Groq fast inference models - Updated Apr 2026.
GroqModelConfig
providermodelGroq model to use
instructionsSystem prompt/instructions for the model
System prompt override for written chat channels (SMS and WhatsApp text messages)
System prompt override for voice-first channels (calls and WhatsApp voice notes)
system_timezoneAgent's timezone for time-aware responses
temperatureRandomness in responses
max_completion_tokensMaximum tokens in response
tool_choiceHow to select tools
Reasoning effort for GPT-OSS reasoning models (openai/gpt-oss-20b, openai/gpt-oss-120b). Only 'low', 'medium', 'high' are valid — 'none' is not supported for these models. None = use API default (medium). Only set when using a reasoning model.
parallel_tool_callsAllow the model to call multiple tools in a single response.
max_tool_stepsMaximum consecutive tool calls per LLM turn.
HangupResponse
successcall_idstatustimestampHangupToolConfig
enabledEnable hangup capability
farewell_messageMessage before ending call
keywordsKeywords that trigger hangup consideration
confirm_before_hangupAsk for confirmation before hanging up
confirmation_promptConfirmation message if enabled
HealthCheckResult
namestatuslast_checkedHourlyDistribution
hourHour of day (0-23)
callsCall count
avg_duration_secAverage duration
ImportAccountRequest
token_codeOAuth authorization code from Meta Embedded Signup
phone_number_idWhatsApp phone number ID from Meta session event
business_account_idWABA ID from Meta session event
IncidentCreate
titlemessageimpactaffected_component_idscomponent_statusIncidentOut
idtitlestatusimpactstarted_ataffected_componentsIncidentUpdateOut
idstatusmessagecreated_atInitiateCallRequest
whatsapp_phone_number_idwhatsapp_user_idpermission_request_template_nameagent_idpermission_request_template_language_codeBody parameters for the call permission template (named or positional). Leave empty and supply template_body + dynamic_variables to have the server resolve placeholders from the agent variable map.
Raw template body string for the permission-request template. Supplied by the frontend after fetching the definition from Meta. When given, server resolves {{placeholder}} against dynamic_variables to build template_params.
Values for {{var}} placeholders in the agent's first_message and instructions. Persisted on the PendingCallIntent and applied at call placement time (which can be up to 24h after the permission request is sent). Same contract as POST /calls/outbound dynamic_variables.
InterruptionConfig
enabledAllow user to interrupt while agent is speaking.
modevad: standard voice-activity detection; adaptive: ML-based interruption detection (filters out short backchannel noises like 'uh-huh').
backchannel_boundary_startStart cooldown: suppresses adaptive detection after agent starts speaking. Default: 1.0s
backchannel_boundary_endEnd cooldown: includes late user speech at the end of agent turns. Default: 1.0s
discard_audio_if_uninterruptibleDrop buffered audio while agent is speaking and cannot be interrupted.
min_durationMinimum seconds of speech before registering as interruption. Default: 0.5
min_wordsMinimum transcribed words to count as interruption. 0 = audio-only (faster). Default: 0
false_interruption_timeoutSeconds of silence after interruption before deciding it was false. Default: 2.0
resume_false_interruptionResume agent speech from where it stopped after a false interruption. Default: True
InvitationResponse
idemailrolestatuscreated_atInvitationsListResponse
total_countInviteMemberRequest
emailroleInvoiceListResponse
Metadata for billing list responses.
InvoiceResponse
idamount_paidstatuscurrencycreatedamount_dueamount_remainingKPIMetric
valueThe numeric value
formattedHuman-readable formatted value (e.g., '3:42', '85.5%')
Percent change vs previous period
'up', 'down', or 'flat'
Previous period value for comparison
KnowledgeBaseCreateFromText
nameDisplay name
contentText content (up to 500KB)
KnowledgeBaseCreateFromURL
nameDisplay name
urlURL to scrape content from
KnowledgeBaseListResponse
idnamesource_typeType of knowledge base source.
size_byteschunk_countstatusProcessing status.
created_atupdated_atis_activeprogressKnowledgeBaseListResult
Pagination metadata in API responses.
KnowledgeBaseResponse
idorganization_idnamesource_typeType of knowledge base source.
size_byteschunk_countstatusProcessing status.
created_atupdated_atis_activeprogressKnowledgeBaseUpdate
Updated content for text-based documents
LatencyMetrics
ttft_msTime to First Token (LLM) in milliseconds
ttfb_msTime to First Byte (TTS) in milliseconds
eou_delay_msEnd-of-utterance VAD delay (silence confirmation after user stops speaking) in milliseconds
asr_p50_msMedian ASR latency in milliseconds
Total end-to-end response time
MaintenanceCreate
titlescheduled_startscheduled_endaffected_componentsMaintenanceOut
idtitlescheduled_startscheduled_endis_activeis_completedaffected_componentsaffected_component_idsManualImportRequest
access_tokenSystem User access token from Meta Business Settings
phone_number_idWhatsApp phone number ID from API Setup
business_account_idWhatsApp Business Account (WABA) ID
MarkReadResponse
successmarked_countMcpExecuteResult
successtool_nameis_errorMcpProbeResult
successtool_countMcpServerCreate
nameserver_urltimeout_secondsMcpServerRef
server_idID of the MCP server registration
Specific tool names to expose to this agent (None = all)
McpServerResponse
idorganization_idnameserver_urltimeout_secondsMcpValidateRequest
server_urltimeout_secondsMemberResponse
idemailroleMessageResponse
idconversation_idorganization_idchanneldirectionexternal_message_idmessage_typestatussent_atNodeType
NotificationListResponse
Pagination metadata in API responses.
unread_countNotificationOut
idnotification_typetitlemessageseverityis_readcreated_atNumberCapRow
region_tierregion_labelcapusedOnboardingStatusResponse
OpenAIModel
OpenAI chat models - Updated Apr 2026.
OpenAIModelConfig
providermodelOpenAI model to use
instructionsSystem prompt/instructions for the model
System prompt override for written chat channels (SMS and WhatsApp text messages)
System prompt override for voice-first channels (calls and WhatsApp voice notes)
system_timezoneAgent's timezone for time-aware responses (e.g., 'America/New_York', 'Europe/London')
temperatureRandomness in responses (0=deterministic, 2=creative)
Maximum tokens in response
tool_choiceHow to select tools
parallel_tool_callsAllow the model to call multiple tools in a single response.
max_tool_stepsMaximum consecutive tool calls per LLM turn.
Reasoning effort for OpenAI reasoning models. Only 'none', 'minimal', 'low', 'medium', 'high', 'max' are valid.
OrgUsageItem
organization_idcall_counttotal_minutestotal_billedOrganizationCreate
nameskuOrganizationResponse
idnameslugowner_emailstatuscreated_atupdated_atmax_agentsmax_membersmax_concurrent_callsbilling_currencyauto_reload_enabledskucontract_termpayment_methodstripe_balance_mirror_enabledbank_payment_terms_dayspayment_failedindia_dlt_registeredmonth_to_date_billable_minutes_cache^(?!^[-+.]*$)[+-]?0*…month_to_date_whatsapp_call_minutes_cache^(?!^[-+.]*$)[+-]?0*…scale_cap_overrideOutboundCampaignCreate
nameCampaign name
agent_idAgent ID to use for making calls
phone_number_idPhone number ID for caller ID
Call list ID for contacts to call
Campaign description
URL to POST when campaign completes or stops. Receives JSON payload with campaign stats.
Call scheduling configuration
Campaign configuration
OutboundCampaignResponse
nameCampaign name
idorganization_idagent_idphone_number_idstatuscreated_atupdated_atCampaign description
Call scheduling configuration
Campaign configuration
OutboundCampaignUpdate
Campaign name
Campaign description
URL to POST on campaign completion/stop
Agent ID for the campaign
Phone number ID for caller ID
Call list ID for contacts to call
Call scheduling configuration
Campaign configuration
PaginationMetadata
skipNumber of records skipped
limitMaximum records requested
totalTotal records available
has_moreWhether more records exist
countNumber of records in this page
ParticipantInfo
participant_identityparticipant_typejoined_atduration_secondsPaymentMethodListResponse
Metadata for billing list responses.
PaymentMethodResponse
idbrandlast4exp_monthexp_yearis_defaultPermission
All 63 permissions in the system. Format: resource:action (flat strings, no nesting)
These are used by:
- Backend: RequirePermission(Permission.AGENTS_CREATE)
- Frontend: can("agents:create")
- API Keys: scopes = ["agents:view", "agents:create"]
PhantomModelConfig
providermodelPhantom Brain model
instructionsSystem prompt/instructions for the model
System prompt override for written chat channels (SMS and WhatsApp text messages)
System prompt override for voice-first channels (calls and WhatsApp voice notes)
system_timezoneAgent's timezone for time-aware responses
temperatureRandomness in responses
Reasoning effort for Phantom models (DeepInfra). 'none' disables thinking. None = use API default. All four Phantom models accept all five values.
Maximum tokens in response
tool_choiceHow to select tools
parallel_tool_callsAllow the model to call multiple tools in a single response.
max_tool_stepsMaximum consecutive tool calls per LLM turn.
PhantomTranscriberConfig
providermodellanguagePhantomVoiceConfig
providermodelPhantom Speech model (phantom-english-speech-preview or phantom-arabic-speech-preview)
voicePhantom preset voice. English: aria, bella, claire, alex, david, marcus. Arabic: omar, tariq, layla, nour.
PhoneNumberListResponse
Pagination metadata in API responses.
PhoneNumberResponse
iddidnameorganization_idis_activeformatted_numbercapabilitiestagsinbound_webhook_secret_setPipelineTurnDetection
modeTurn detection mode
Minimum seconds after end-of-utterance before responding. Default: 0.5
Ceiling — agent commits the turn after this long even if detector is uncertain. Default: 3.0
fixed: agent waits min_delay; extends up to max_delay only if turn-detector is uncertain. dynamic: adapts effective wait within [min_delay, max_delay] based on this caller's pause patterns.
PipelineTurnDetectionMode
Turn detection modes for pipeline agents.
PlaceOutboundCallConfig
enabledEnable place_outbound_call capability
permission_request_template_nameWhatsApp template name for permission requests (when channel='whatsapp')
permission_request_template_language_codeLanguage code for the permission template
PlatformRevenueResponse
call_counttotal_minutestotal_revenuetotal_costtotal_marginmargin_percentagePostCallConfig
Post-call analysis configuration
PublicIncidentReport
emailtemplate_idaffected_component_idsRAGQueryRequest
queryUser's question/query
knowledge_base_idsKB IDs to search
top_kNumber of results to return
RAGQueryResponse
querytotal_chunks_searchedRAGResult
textscoreRelevance score
knowledge_base_idknowledge_base_namechunk_indexRagConfig
enabledEnable RAG capability
knowledge_base_idsKnowledge base IDs to query
top_kMaximum chunks to retrieve per query
score_thresholdMinimum relevance score
include_metadataInclude chunk metadata in context
context_templateTemplate for injecting context
RecordingConfig
enabledEnable call recording
retention_daysDays to retain recordings. -1 = forever
RecordingResponse
idcreated_atstatusRegisterAndAcceptRequest
nameUser's display name
passwordAccount password
RoleType
Role hierarchy for the platform.
Hierarchy (highest to lowest):
- super_admin: God mode, full platform access, system-wide operations
- admin: Full organization access, can manage members and settings
- operator: Can view/edit/test resources, cannot create/delete/manage
- viewer: Read-only access to organization resources
SendAudioMessageConfig
enabledEnable send_audio_message capability
max_text_lengthMaximum text length for TTS generation
tool_fillers_enabledEnable progress-indicating talking fillers during audio compilation and send
tool_fillers_poolRotating filler phrases to speak during voice note generation
SendDtmfConfig
enabledEnable DTMF sending
tone_duration_msDuration of each tone in ms
gap_duration_msGap between tones in ms
SendMessageResponse
wa_message_idstatusconversation_idSendTemplateMessageRequest
whatsapp_phone_number_idOur WhatsApp phone number ID
whatsapp_user_idRecipient's WhatsApp ID (E.164 phone number)
template_nametemplate_language_codeBody parameters for the template. Each item is {name, value}. name is '1'..'N' for positional templates or the placeholder identifier for named templates (e.g. 'customer_name'). Leave empty and supply template_body + dynamic_variables to have the server auto-resolve from the agent variable map.
Raw template body string (with {{placeholder}} markers) — supplied by the frontend after fetching the template definition from Meta's registry. When provided alongside dynamic_variables and an empty template_params, the server resolves placeholders from the agent variable map (named OR positional templates). Bridges the agent-side and Meta-side substitution moments.
Per-conversation runtime variable map. Used to fill template_body placeholders when template_params is empty, AND persisted onto Conversation.dynamic_variables so the agent's reply path picks them up after the contact responds. Mirrors the voice-call dispatch contract (POST /v1/voice-sessions/outbound).
Meta WABA category of this template — one of MARKETING, UTILITY, AUTHENTICATION, AUTHENTICATION_INTERNATIONAL, SERVICE, MARKETING_LITE. Pulled from Meta's template registry by the frontend before send. Used to bill the right rate at send time (per-category passthrough) and grouped by the daily true-up cron. Defaults to MARKETING (most expensive bucket) when omitted; truesup reconciles via manual_adjustment ledger.
Agent to associate with the resulting conversation
SendTextRequest
whatsapp_phone_number_idOur WhatsApp phone number ID
whatsapp_user_idRecipient's WhatsApp E.164 ID
bodyClient-supplied ID for optimistic UI reconciliation
SendWhatsAppMessageConfig
enabledEnable send_whatsapp_message capability during calls
tool_fillers_enabledEnable progress-indicating talking fillers during rich message send
tool_fillers_poolRotating filler phrases to speak during message push
SentimentTurn
turnroletextsentimentemotionSetupIntentResponse
client_secretsetup_intent_idSlackSubscribeRequest
webhook_urlSlack Incoming Webhook URL
Channel name for display (e.g. #status-alerts)
notify_onSonioxModel
Soniox real-time STT models.
SDK Default: model="stt-rt-v4". Single unified model handles 60+ languages including English + Arabic with native code-switching and built-in semantic EOU.
SonioxTranscriberConfig
providermodelSoniox real-time STT models.
SDK Default: model="stt-rt-v4". Single unified model handles 60+ languages including English + Arabic with native code-switching and built-in semantic EOU.
ISO codes Soniox should bias toward (e.g. ['en', 'ar']). If None, Soniox auto-detects across all supported languages.
language_hints_strictWhen True, restrict transcription to only the hinted languages
enable_speaker_diarizationIdentify and label different speakers in the transcript
enable_language_identificationTag each token with its detected language (useful for multilingual)
interim_resultsReturn partial transcripts while user is speaking (always on for Soniox)
StatusOverview
overall_statusuptime_30davg_response_time_msactive_incidents_countStripeCustomerRequest
emailnameSuccessEvaluationRubric
Rubric types for success evaluation.
SupervisorJoinResponse
successmodecall_idtokensupervisor_identitytimestampSupervisorPermissions
can_hearcan_speakcan_speak_to_agentcan_speak_to_customervisible_to_participantsTTSTextTransform
TTS text transforms.
Transforms to apply to TTS input text before sending to provider. Set to None to disable all transforms.
TemplateParam
namevalueTemplateResponse
idnamelanguagestatuscategoryhas_call_permissionThinkingAudioConfig
enabledEnable thinking sounds
Built-in audio clip or custom URL/path to audio file
volumeThinking audio volume
TimeRange
Predefined time ranges.
TimeoutConfig
enabledEnable timeout handling
trigger_secondsSeconds of silence before triggering
warning_countNumber of warning messages before ending
warning_messagesMessages to prompt user
final_messageMessage before ending call
ToolsConfig
Hangup tool settings
DTMF collection settings
DTMF sending settings
Voicemail detection settings
In-call do-not-call opt-out tool
Outbound call initiation tool
WhatsApp voice note sending tool
WhatsApp message sending tool during calls
RAG settings
MCP server integrations
TopUpIntentResponse
amount_centsamount_dollarscurrencyrequires_actionsucceedederrorTransferConfig
enabledEnable transfer capability
modeTransfer type: blind (immediate) or warm (with intro)
Available transfer destinations
Default destination if no match
warm_intro_templateTemplate for warm transfer introduction
warm_intro_timeout_secondsTime to wait for warm intro before falling back
on_failWhat to do if transfer fails
fail_messageMessage on transfer failure
max_retriesMaximum transfer retry attempts
hold_musicPlay hold music during transfer
Custom hold music URL
announce_positionAnnounce queue position if applicable
TransferDestination
idUnique identifier for this destination
nameDisplay name (e.g., 'Sales Team', 'Support')
numberPhone number in E.164 format
keywordsKeywords that trigger this destination
Description for LLM context (when to use this)
messageMessage before transferring
timeout_secondsRing timeout before giving up
priorityPriority when multiple match (higher = preferred)
Working hours for this destination
UpdateRoleRequest
roleUsageSummaryResponse
call_counttotal_secondstotal_minutestotal_billedVoiceFilterOptions
providerscategoriesgenderslanguagesaccentsagesuse_casesVoiceListResponse
totalVoiceLocalizeRequest
voice_idlanguageVoiceResponse
iddisplay_idproviderprovider_voice_idprovider_voice_nameis_premiumis_clonedVoiceSessionListResponse
Pagination metadata in API responses.
VoiceSessionResponse
idchannelstatuscreated_atupdated_atanalysis_statusretry_countduration_secondsconversation_turn_countsentiment_trendtopics_discussedkeywords_extractedtopicsaction_itemsVoiceSessionUpdate
Keys to merge into the existing call_metadata JSONB column.
VoiceSyncResponse
successmessagecartesia_syncedtotal_syncedVoicemailAction
Actions when voicemail is detected.
VoicemailToolConfig
enabledEnable voicemail detection
actionAction when voicemail is detected
messageMessage to leave if action is leave_message
wait_for_beepWait for the beep before leaving message
post_message_delay_msDelay after message before hanging up (ms)
WebhookConfig
enabledEnable webhook notifications
HTTPS endpoint URL
eventsEvents to send webhooks for
include_transcriptInclude transcript in webhook payload
include_analyticsInclude analytics in webhook payload
include_recording_urlInclude recording URL when available (always included by default)
auth_headerAuthentication header name
Authentication token (Bearer format)
retry_countNumber of retry attempts
timeout_secondsWebhook request timeout
WebhookCreate
nameHuman-readable name for the webhook
urlHTTPS endpoint URL to receive webhook events
Optional description
eventsList of event types to subscribe to. Empty = all events
Optional custom header name for authentication (e.g., 'X-Api-Key')
Value for the auth header
timeout_secondsRequest timeout in seconds (1-60)
max_retriesMaximum retry attempts on failure (0-5)
is_activeWhether the webhook is active
WebhookCreateResponse
idUnique webhook identifier
organization_idOrganization this webhook belongs to
nameDisplay name for this webhook
urlHTTPS endpoint that receives event payloads
eventsEvent types this webhook subscribes to
is_activeWhether this webhook is enabled. Auto-disabled after 10 consecutive delivery failures
timeout_secondsRequest timeout per delivery attempt in seconds
max_retriesMaximum retry attempts on delivery failure
failure_countConsecutive delivery failures since last success
created_atCreation timestamp
updated_atLast update timestamp
secretHMAC secret for validating webhook signatures. Store securely - only shown once!
Optional description
Custom header name sent with each request (e.g. X-Api-Key)
Reason this webhook was auto-disabled, if applicable
Timestamp of last successful delivery
Timestamp of last failed delivery attempt
WebhookDeliveryLogResponse
idwebhook_idevent_typerequest_urlsuccessattempt_numbercreated_atWebhookDeliveryLogsResponse
totalskiplimitWebhookEvent
Per-agent webhook event types — only events the worker actually fires.
Org-level webhooks live in app.schemas.webhook.WebhookEventType (dot-
notation values like 'recording.ready'); they are sent by Platform, not
by the worker, and are out of scope for this enum.
WebhookEventTypeEnum
Available webhook event types
WebhookListResponse
Pagination metadata in API responses.
WebhookResponse
idUnique webhook identifier
organization_idOrganization this webhook belongs to
nameDisplay name for this webhook
urlHTTPS endpoint that receives event payloads
eventsEvent types this webhook subscribes to
is_activeWhether this webhook is enabled. Auto-disabled after 10 consecutive delivery failures
timeout_secondsRequest timeout per delivery attempt in seconds
max_retriesMaximum retry attempts on delivery failure
failure_countConsecutive delivery failures since last success
created_atCreation timestamp
updated_atLast update timestamp
Optional description
Custom header name sent with each request (e.g. X-Api-Key)
Reason this webhook was auto-disabled, if applicable
Timestamp of last successful delivery
Timestamp of last failed delivery attempt
WebhookTestRequest
event_typeEvent type to simulate
WebhookTestResponse
successduration_msWorkflowDetailResponse
idorganization_idnameis_activecurrent_versioncreated_atupdated_atWorkflowNode
idtypeWorkflowResponse
idorganization_idnameis_activecurrent_versioncreated_atupdated_atWorkflowRevisionResponse
idworkflow_idversion_numberstatuscreated_atWorkingHoursConfig
enabledEnable working hours restrictions
daysDays available (0=Sunday, 1=Monday, ...)
start_timeHH:MM format
end_timeEnd time (HH:MM format)
timezoneTimezone for working hours
unavailable_messageMessage when outside working hours
