Update advanced
https://app.sulus.ai/api/assistants/{assistantId}/advanced
Update everything — regular fields plus the advanced set
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Path parameters
assistantId
string
Required
The assistant's public id (UUID).
uuid — the public assistant_idRequest body
name
string
Required
Assistant display name (max 40 characters).
required|string|max:40assistants.nametype
string
Optional
Nullable
Assistant type.
nullable|string|in:demo,productionassistants.typeuser_id
integer
Optional
Nullable
Owner assignment — honoured only for admin roles.
nullable|integer|exists:users,idassistants.user_idtemplate_id
integer
Optional
Nullable
Prompt template the assistant is built from.
nullable|integerassistants.template_idfirstMessage
string
Optional
Nullable
What the assistant says when answering.
nullable|string|max:1000assistants.first_messagefirstMessageMode
string
Optional
Nullable
Who speaks first on a call.
nullable|string|in:assistant-speaks-first,assistant-speaks-first-with-model-generated-message,assistant-waits-for-userassistants.first_message_modefirstMessageInterruptionsEnabled
boolean
Optional
Nullable
Whether callers may interrupt the greeting.
nullable|booleanassistants.first_message_interruptions_enabledvoicemailMessage
string
Optional
Nullable
Message left when voicemail is detected.
nullable|string|max:1000assistants.voicemail_messageendCallMessage
string
Optional
Nullable
What the assistant says before hanging up.
nullable|string|max:1000assistants.end_call_messageendCallPhrases
array
Optional
Nullable
Caller phrases that end the call.
nullable|arrayassistants.end_call_phrasesvoicemailDetection
object
Optional
Nullable
Voicemail detection settings.
nullable|arrayassistants.voicemail_detectionvoicemailDetection.enabled
boolean
Optional
Nullable
nullable|booleanassistants.voicemail_detectionvoicemailDetection.beepDetection
boolean
Optional
Nullable
nullable|booleanassistants.voicemail_detectionvoicemailDetection.silenceDuration
integer
Optional
Nullable
nullable|integer|min:0assistants.voicemail_detectionvoicemailDetection.greetingDuration
integer
Optional
Nullable
nullable|integer|min:0assistants.voicemail_detectionmaxDurationSeconds
integer
Optional
Nullable
Hard cap on call length (10 s – 12 h).
nullable|integer|min:10|max:43200assistants.max_duration_secondsbackgroundSound
string
Optional
Nullable
Ambience played behind the call ("none" is normalised to "off").
nullable|string|in:office,coffee-shop,convention-hall,summit,traffic,rain,storm,wind,fire,crackling-fire,rain-on-roof,coastal-storm,howling-wind,seagulls,night-insects,fan,white-noise,offassistants.background_soundmodelOutputInMessagesEnabled
boolean
Optional
Nullable
nullable|booleanassistants.model_output_in_messages_enabledclientMessages
array
Optional
Nullable
Message types forwarded to the browser widget.
nullable|arrayassistants.client_messagesserverMessages
array
Optional
Nullable
Message types forwarded to the webhook.
nullable|arrayassistants.server_messagestransportConfigurations
array
Optional
Nullable
Telephony transport settings (platform-managed keys).
nullable|arrayassistants.transport_configurationstranscriber
object
Optional
Nullable
Speech-to-text settings. Engine selection is platform-managed.
nullable|arrayassistants.transcribertranscriber.language
string
Optional
Nullable
Two-letter language code.
nullable|string|size:2assistants.transcribertranscriber.confidenceThreshold
number
Optional
Nullable
nullable|numeric|min:0|max:1assistants.transcribertranscriber.formatTurns
boolean
Optional
Nullable
nullable|booleanassistants.transcribermodel
object
Optional
Nullable
Language-model settings. Model selection is platform-managed.
nullable|arrayassistants.modelmodel.messages
array
Optional
Nullable
System prompt messages.
nullable|arrayassistants.modelmodel.maxTokens
integer
Optional
Nullable
nullable|integer|min:1assistants.modelmodel.functionCall
string
Optional
Nullable
nullable|string|in:none,autoassistants.modelmodel.functionCallBehavior
string
Optional
Nullable
nullable|string|in:auto,requiredassistants.modelmodel.tools
array
Optional
Nullable
Attached tools (managed via the tools picker).
nullable|arrayassistants.modelvoice
object
Optional
Nullable
Voice settings. The voice itself comes from the chosen personality.
nullable|arrayassistants.voicevoice.voiceId
string
Optional
Nullable
Set by the personality selection.
nullable|stringassistants.voicevoice.speed
number
Optional
Nullable
Speaking speed multiplier.
nullable|numeric|min:0.25|max:4assistants.voicecompliancePlan
object
Optional
Nullable
nullable|arrayassistants.compliance_plancompliancePlan.recordingEnabled
boolean
Optional
Nullable
nullable|booleanassistants.compliance_plancompliancePlan.transcriptionEnabled
boolean
Optional
Nullable
nullable|booleanassistants.compliance_plancompliancePlan.dataRetentionDays
integer
Optional
Nullable
nullable|integer|min:1assistants.compliance_planbackgroundSpeechDenoisingPlan
object
Optional
Nullable
nullable|arrayassistants.background_speech_denoising_planbackgroundSpeechDenoisingPlan.smartDenoising
boolean
Optional
Nullable
nullable|booleanassistants.background_speech_denoising_planbackgroundSpeechDenoisingPlan.fourierDenoising
boolean
Optional
Nullable
nullable|booleanassistants.background_speech_denoising_planstartSpeakingPlan
object
Optional
Nullable
Turn-taking behaviour before the assistant speaks.
nullable|arrayassistants.start_speaking_planstopSpeakingPlan
object
Optional
Nullable
Turn-taking behaviour when the caller interrupts.
nullable|arrayassistants.stop_speaking_planmonitorPlan
object
Optional
Nullable
nullable|arrayassistants.monitor_planmonitorPlan.listenEnabled
boolean
Optional
Nullable
nullable|booleanassistants.monitor_planmonitorPlan.controlEnabled
boolean
Optional
Nullable
nullable|booleanassistants.monitor_planmonitorPlan.websocketUrl
string
Optional
Nullable
nullable|urlassistants.monitor_plankeypadInputPlan
object
Optional
Nullable
nullable|arrayassistants.keypad_input_plankeypadInputPlan.enabled
boolean
Optional
Nullable
nullable|booleanassistants.keypad_input_plankeypadInputPlan.maxDigits
integer
Optional
Nullable
nullable|integer|min:1|max:10assistants.keypad_input_plankeypadInputPlan.terminateOnHash
boolean
Optional
Nullable
nullable|booleanassistants.keypad_input_planmetadata
object
Optional
Nullable
Business metadata injected into the prompt.
nullable|arrayassistants.metadatametadata.company_name
string
Optional
Nullable
nullable|string|max:255assistants.metadatametadata.industry
string
Optional
Nullable
nullable|string|max:255assistants.metadatametadata.location
string
Optional
Nullable
nullable|string|max:500assistants.metadatametadata.services_products
string
Optional
Nullable
nullable|string|max:1000assistants.metadatametadata.sms_phone_number
string
Optional
Nullable
nullable|string|max:20assistants.metadatametadata.assistant_phone_number
string
Optional
Nullable
E.164 format.
nullable|string|max:20|regex:/^\+[1-9]\d{1,14}$/assistants.metadatametadata.webhook_url
string
Optional
Nullable
Where call events are delivered.
nullable|url|max:500assistants.webhook_urlvariableValues
object
Optional
Nullable
Values for the template's custom variables.
nullable|arrayassistants.metadataanalysisPlan
object
Optional
Nullable
Post-call analysis settings.
nullable|arrayassistants.analysis_planartifactPlan
object
Optional
Nullable
What the platform stores per call.
nullable|arrayassistants.artifact_planartifactPlan.recording
boolean
Optional
Nullable
nullable|booleanassistants.artifact_planartifactPlan.transcript
boolean
Optional
Nullable
nullable|booleanassistants.artifact_planartifactPlan.summary
boolean
Optional
Nullable
nullable|booleanassistants.artifact_planartifactPlan.analysis
boolean
Optional
Nullable
nullable|booleanassistants.artifact_planbackgroundDenoisingEnabled
boolean
Optional
Nullable
nullable|booleanassistants.background_denoising_enabledpersonality_id
integer
Optional
Nullable
Switch the assistant's personality (name + voice bundle).
nullable|integer|exists:personalities,idassistants.personality_idreseller_id
integer
Optional
Nullable
Admin-only reassignment.
nullable|integer|exists:resellers,idassistants.reseller_idmetadata.sms_notifications
array
Optional
Nullable
Phone numbers notified by SMS after calls.
nullable|array (items: nullable|string|max:30)assistants.metadatametadata.email_notifications
array
Optional
Nullable
Email addresses notified after calls.
nullable|array (items: nullable|email|max:255)assistants.metadataErrors
| Status | Meaning | Body |
|---|---|---|
404 |
Assistant not found, or outside your account scope | {"success":false,"message":"Assistant not found"} |
422 |
Validation failed | {"message":"…","errors":{"field":["…"]}} |
500 |
Live platform write failed | {"success":false,"message":"We couldn't save these changes. Please try again, or contact support if it keeps happening."} |
401 |
Missing or invalid bearer token | |
403 |
Feature assistants not enabled for the account |
Notes
- The live platform is updated first; the local mirror only saves when that succeeds — the two can never diverge silently.
- Non-admin roles cannot change the phone number or grant unrestricted recording/transcript settings — the service silently pins `artifactPlan.recording`/`artifactPlan.transcript` to `true` and preserves the existing `assistant_phone_number` for them.
- The response `coreData` mirrors the live platform configuration; its `voice`/`model`/`transcriber` provider-selection sub-keys and internal bookkeeping are platform-managed and excluded from this example.
curl --request PUT \
--url https://app.sulus.ai/api/assistants/{assistantId}/advanced \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Reception",
"type": "production",
"template_id": 5,
"firstMessage": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
"firstMessageMode": "assistant-speaks-first",
"firstMessageInterruptionsEnabled": true,
"voicemailMessage": "Please leave a message after the tone and we'\''ll call you back.",
"endCallMessage": "Thank you for calling {{companyName}}, have a great day!",
"endCallPhrases": [
"goodbye",
"that'\''s all, thank you"
],
"voicemailDetection": {
"enabled": true,
"beepDetection": true,
"silenceDuration": 10,
"greetingDuration": 15
},
"maxDurationSeconds": 1800,
"backgroundSound": "office",
"modelOutputInMessagesEnabled": false,
"clientMessages": [
"transcript",
"status-update"
],
"serverMessages": [
"end-of-call-report",
"status-update"
],
"transportConfigurations": [],
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental."
}
],
"maxTokens": 300,
"functionCall": "auto",
"functionCallBehavior": "auto",
"tools": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
]
},
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"compliancePlan": {
"recordingEnabled": true,
"transcriptionEnabled": true,
"dataRetentionDays": 365
},
"backgroundSpeechDenoisingPlan": {
"smartDenoising": true,
"fourierDenoising": false
},
"startSpeakingPlan": {
"initialDelayMs": 400,
"backgroundSoundVolume": 0.2
},
"stopSpeakingPlan": {
"initialDelayMs": 0,
"backgroundSoundVolume": 0.1
},
"monitorPlan": {
"listenEnabled": false,
"controlEnabled": false,
"websocketUrl": null
},
"keypadInputPlan": {
"enabled": false,
"maxDigits": 4,
"terminateOnHash": true
},
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"sms_phone_number": "+14155550199",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
]
},
"variableValues": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"analysisPlan": {
"summaryPlan": {
"enabled": true
}
},
"artifactPlan": {
"recording": true,
"transcript": true,
"summary": true,
"analysis": false
},
"backgroundDenoisingEnabled": true,
"personality_id": 12,
"reseller_id": 3
}'
import requests
url = "https://app.sulus.ai/api/assistants/{assistantId}/advanced"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
payload = {
"name": "Reception",
"type": "production",
"template_id": 5,
"firstMessage": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
"firstMessageMode": "assistant-speaks-first",
"firstMessageInterruptionsEnabled": true,
"voicemailMessage": "Please leave a message after the tone and we'll call you back.",
"endCallMessage": "Thank you for calling {{companyName}}, have a great day!",
"endCallPhrases": [
"goodbye",
"that's all, thank you"
],
"voicemailDetection": {
"enabled": true,
"beepDetection": true,
"silenceDuration": 10,
"greetingDuration": 15
},
"maxDurationSeconds": 1800,
"backgroundSound": "office",
"modelOutputInMessagesEnabled": false,
"clientMessages": [
"transcript",
"status-update"
],
"serverMessages": [
"end-of-call-report",
"status-update"
],
"transportConfigurations": [],
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental."
}
],
"maxTokens": 300,
"functionCall": "auto",
"functionCallBehavior": "auto",
"tools": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
]
},
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"compliancePlan": {
"recordingEnabled": true,
"transcriptionEnabled": true,
"dataRetentionDays": 365
},
"backgroundSpeechDenoisingPlan": {
"smartDenoising": true,
"fourierDenoising": false
},
"startSpeakingPlan": {
"initialDelayMs": 400,
"backgroundSoundVolume": 0.2
},
"stopSpeakingPlan": {
"initialDelayMs": 0,
"backgroundSoundVolume": 0.1
},
"monitorPlan": {
"listenEnabled": false,
"controlEnabled": false,
"websocketUrl": null
},
"keypadInputPlan": {
"enabled": false,
"maxDigits": 4,
"terminateOnHash": true
},
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"sms_phone_number": "+14155550199",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
]
},
"variableValues": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"analysisPlan": {
"summaryPlan": {
"enabled": true
}
},
"artifactPlan": {
"recording": true,
"transcript": true,
"summary": true,
"analysis": false
},
"backgroundDenoisingEnabled": true,
"personality_id": 12,
"reseller_id": 3
}
response = requests.put(url, json=payload, headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://app.sulus.ai/api/assistants/{assistantId}/advanced"
payload := strings.NewReader(`{
"name": "Reception",
"type": "production",
"template_id": 5,
"firstMessage": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
"firstMessageMode": "assistant-speaks-first",
"firstMessageInterruptionsEnabled": true,
"voicemailMessage": "Please leave a message after the tone and we'll call you back.",
"endCallMessage": "Thank you for calling {{companyName}}, have a great day!",
"endCallPhrases": [
"goodbye",
"that's all, thank you"
],
"voicemailDetection": {
"enabled": true,
"beepDetection": true,
"silenceDuration": 10,
"greetingDuration": 15
},
"maxDurationSeconds": 1800,
"backgroundSound": "office",
"modelOutputInMessagesEnabled": false,
"clientMessages": [
"transcript",
"status-update"
],
"serverMessages": [
"end-of-call-report",
"status-update"
],
"transportConfigurations": [],
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental."
}
],
"maxTokens": 300,
"functionCall": "auto",
"functionCallBehavior": "auto",
"tools": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
]
},
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"compliancePlan": {
"recordingEnabled": true,
"transcriptionEnabled": true,
"dataRetentionDays": 365
},
"backgroundSpeechDenoisingPlan": {
"smartDenoising": true,
"fourierDenoising": false
},
"startSpeakingPlan": {
"initialDelayMs": 400,
"backgroundSoundVolume": 0.2
},
"stopSpeakingPlan": {
"initialDelayMs": 0,
"backgroundSoundVolume": 0.1
},
"monitorPlan": {
"listenEnabled": false,
"controlEnabled": false,
"websocketUrl": null
},
"keypadInputPlan": {
"enabled": false,
"maxDigits": 4,
"terminateOnHash": true
},
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"sms_phone_number": "+14155550199",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
]
},
"variableValues": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"analysisPlan": {
"summaryPlan": {
"enabled": true
}
},
"artifactPlan": {
"recording": true,
"transcript": true,
"summary": true,
"analysis": false
},
"backgroundDenoisingEnabled": true,
"personality_id": 12,
"reseller_id": 3
}`)
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
{
"success": true,
"message": "Assistant updated successfully",
"data": {
"id": 42,
"name": "Reception",
"user_id": 17,
"created_by": 5,
"reseller_id": "3",
"workspace_id": 9,
"template_id": 5,
"personality_id": 12,
"base_config_id": null,
"type": "production",
"phone_number": "+14155550142",
"phone_number_id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"country": "United States",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"personality": "Sarah",
"personality_id": 12,
"user_id": 17,
"user": "Jordan Lee",
"type": "production",
"available24_7": false,
"standard_hours": "Mon-Fri 9:00 AM - 5:00 PM",
"business_hours": {
"monday": "9:00 AM - 5:00 PM",
"tuesday": "9:00 AM - 5:00 PM",
"wednesday": "9:00 AM - 5:00 PM",
"thursday": "9:00 AM - 5:00 PM",
"friday": "9:00 AM - 5:00 PM",
"saturday": "Closed",
"sunday": "Closed"
},
"always_say": [
"We look forward to seeing you!"
],
"never_say": [
"I don't know, let me transfer you"
],
"pronunciation": [
{
"word": "Sulus",
"soundsLike": "SOO-luss"
}
],
"spam_handling": "end_call",
"variable_values": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
],
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z"
},
"widget_embed_config": null,
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental. Greet callers warmly, answer questions about services and hours, and offer to book an appointment or transfer to the front desk as needed."
}
],
"maxTokens": 300,
"toolIds": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
],
"functionCall": "auto"
},
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"first_message": "Thank you for calling Acme Dental, this is Sarah. How can I help you today?",
"first_message_raw": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
"first_message_interruptions_enabled": true,
"first_message_mode": "assistant-speaks-first",
"voicemail_detection": {
"enabled": true,
"beepDetection": true,
"silenceDuration": 10,
"greetingDuration": 15
},
"client_messages": [
"transcript",
"status-update"
],
"server_messages": [
"end-of-call-report",
"status-update"
],
"max_duration_seconds": 1800,
"background_sound": "office",
"background_denoising_enabled": true,
"model_output_in_messages_enabled": false,
"transport_configurations": [],
"observability_plan": null,
"credential_ids": [],
"credentials": [],
"hooks": [],
"voicemail_message": "Please leave a message after the tone and we'll call you back.",
"end_call_message": "Thank you for calling Acme Dental, have a great day!",
"end_call_message_raw": "Thank you for calling {{companyName}}, have a great day!",
"end_call_phrases": [
"goodbye",
"that's all, thank you"
],
"compliance_plan": {
"recordingEnabled": true,
"transcriptionEnabled": true,
"dataRetentionDays": 365
},
"background_speech_denoising_plan": {
"smartDenoising": true,
"fourierDenoising": false
},
"analysis_plan": null,
"artifact_plan": {
"recording": true,
"transcript": true,
"summary": true,
"analysis": false
},
"start_speaking_plan": {
"initialDelayMs": 400,
"backgroundSoundVolume": 0.2
},
"stop_speaking_plan": {
"initialDelayMs": 0,
"backgroundSoundVolume": 0.1
},
"monitor_plan": {
"listenEnabled": false,
"controlEnabled": false,
"websocketUrl": null
},
"keypad_input_plan": {
"enabled": false,
"maxDigits": 4,
"terminateOnHash": true
},
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z",
"vapi_assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"coreData": {
"id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"name": "Reception",
"firstMessage": "Thank you for calling Acme Dental, this is Sarah. How can I help you today?",
"voicemailMessage": "Please leave a message after the tone and we'll call you back.",
"endCallMessage": "Thank you for calling Acme Dental, have a great day!",
"endCallPhrases": [
"goodbye",
"that's all, thank you"
],
"maxDurationSeconds": 1800,
"backgroundSound": "office",
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental. Greet callers warmly, answer questions about services and hours, and offer to book an appointment or transfer to the front desk as needed."
}
],
"maxTokens": 300,
"toolIds": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
]
},
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"server": {
"url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents"
},
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"country": "United States",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"personality": "Sarah",
"personality_id": 12,
"user_id": 17,
"user": "Jordan Lee",
"type": "production",
"available24_7": false,
"standard_hours": "Mon-Fri 9:00 AM - 5:00 PM",
"business_hours": {
"monday": "9:00 AM - 5:00 PM",
"tuesday": "9:00 AM - 5:00 PM",
"wednesday": "9:00 AM - 5:00 PM",
"thursday": "9:00 AM - 5:00 PM",
"friday": "9:00 AM - 5:00 PM",
"saturday": "Closed",
"sunday": "Closed"
},
"always_say": [
"We look forward to seeing you!"
],
"never_say": [
"I don't know, let me transfer you"
],
"pronunciation": [
{
"word": "Sulus",
"soundsLike": "SOO-luss"
}
],
"spam_handling": "end_call",
"variable_values": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
],
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z"
}
}
}
}
/assistants/{assistantId}/advanced
200
{
"success": true,
"message": "Assistant updated successfully",
"data": {
"id": 42,
"name": "Reception",
"user_id": 17,
"created_by": 5,
"reseller_id": "3",
"workspace_id": 9,
"template_id": 5,
"personality_id": 12,
"base_config_id": null,
"type": "production",
"phone_number": "+14155550142",
"phone_number_id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"country": "United States",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"personality": "Sarah",
"personality_id": 12,
"user_id": 17,
"user": "Jordan Lee",
"type": "production",
"available24_7": false,
"standard_hours": "Mon-Fri 9:00 AM - 5:00 PM",
"business_hours": {
"monday": "9:00 AM - 5:00 PM",
"tuesday": "9:00 AM - 5:00 PM",
"wednesday": "9:00 AM - 5:00 PM",
"thursday": "9:00 AM - 5:00 PM",
"friday": "9:00 AM - 5:00 PM",
"saturday": "Closed",
"sunday": "Closed"
},
"always_say": [
"We look forward to seeing you!"
],
"never_say": [
"I don't know, let me transfer you"
],
"pronunciation": [
{
"word": "Sulus",
"soundsLike": "SOO-luss"
}
],
"spam_handling": "end_call",
"variable_values": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
],
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z"
},
"widget_embed_config": null,
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental. Greet callers warmly, answer questions about services and hours, and offer to book an appointment or transfer to the front desk as needed."
}
],
"maxTokens": 300,
"toolIds": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
],
"functionCall": "auto"
},
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"first_message": "Thank you for calling Acme Dental, this is Sarah. How can I help you today?",
"first_message_raw": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
"first_message_interruptions_enabled": true,
"first_message_mode": "assistant-speaks-first",
"voicemail_detection": {
"enabled": true,
"beepDetection": true,
"silenceDuration": 10,
"greetingDuration": 15
},
"client_messages": [
"transcript",
"status-update"
],
"server_messages": [
"end-of-call-report",
"status-update"
],
"max_duration_seconds": 1800,
"background_sound": "office",
"background_denoising_enabled": true,
"model_output_in_messages_enabled": false,
"transport_configurations": [],
"observability_plan": null,
"credential_ids": [],
"credentials": [],
"hooks": [],
"voicemail_message": "Please leave a message after the tone and we'll call you back.",
"end_call_message": "Thank you for calling Acme Dental, have a great day!",
"end_call_message_raw": "Thank you for calling {{companyName}}, have a great day!",
"end_call_phrases": [
"goodbye",
"that's all, thank you"
],
"compliance_plan": {
"recordingEnabled": true,
"transcriptionEnabled": true,
"dataRetentionDays": 365
},
"background_speech_denoising_plan": {
"smartDenoising": true,
"fourierDenoising": false
},
"analysis_plan": null,
"artifact_plan": {
"recording": true,
"transcript": true,
"summary": true,
"analysis": false
},
"start_speaking_plan": {
"initialDelayMs": 400,
"backgroundSoundVolume": 0.2
},
"stop_speaking_plan": {
"initialDelayMs": 0,
"backgroundSoundVolume": 0.1
},
"monitor_plan": {
"listenEnabled": false,
"controlEnabled": false,
"websocketUrl": null
},
"keypad_input_plan": {
"enabled": false,
"maxDigits": 4,
"terminateOnHash": true
},
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z",
"vapi_assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"coreData": {
"id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
"name": "Reception",
"firstMessage": "Thank you for calling Acme Dental, this is Sarah. How can I help you today?",
"voicemailMessage": "Please leave a message after the tone and we'll call you back.",
"endCallMessage": "Thank you for calling Acme Dental, have a great day!",
"endCallPhrases": [
"goodbye",
"that's all, thank you"
],
"maxDurationSeconds": 1800,
"backgroundSound": "office",
"voice": {
"voiceId": "sarah-professional-01",
"speed": 1
},
"model": {
"messages": [
{
"role": "system",
"content": "You are Sarah, the AI voice receptionist for Acme Dental. Greet callers warmly, answer questions about services and hours, and offer to book an appointment or transfer to the front desk as needed."
}
],
"maxTokens": 300,
"toolIds": [
"c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
]
},
"transcriber": {
"language": "en",
"confidenceThreshold": 0.4,
"formatTurns": true
},
"server": {
"url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents"
},
"metadata": {
"company_name": "Acme Dental",
"industry": "Dental",
"location": "Austin, TX",
"services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
"country": "United States",
"assistant_phone_number": "+14155550142",
"webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
"personality": "Sarah",
"personality_id": 12,
"user_id": 17,
"user": "Jordan Lee",
"type": "production",
"available24_7": false,
"standard_hours": "Mon-Fri 9:00 AM - 5:00 PM",
"business_hours": {
"monday": "9:00 AM - 5:00 PM",
"tuesday": "9:00 AM - 5:00 PM",
"wednesday": "9:00 AM - 5:00 PM",
"thursday": "9:00 AM - 5:00 PM",
"friday": "9:00 AM - 5:00 PM",
"saturday": "Closed",
"sunday": "Closed"
},
"always_say": [
"We look forward to seeing you!"
],
"never_say": [
"I don't know, let me transfer you"
],
"pronunciation": [
{
"word": "Sulus",
"soundsLike": "SOO-luss"
}
],
"spam_handling": "end_call",
"variable_values": {
"companyName": "Acme Dental",
"industry": "Dental",
"personalityName": "Sarah"
},
"sms_notifications": [
"+14155550199"
],
"email_notifications": [
"[email protected]"
],
"created_at": "2026-01-15T10:22:03.000000Z",
"updated_at": "2026-07-28T14:05:41.000000Z"
}
}
}
}