Update an assistant
Partial update - only included fields are changed. phone_number and
carrier are read-only and cannot be updated via this endpoint.
Cross-resource refs are validated to belong to your organization.
When introduction is included, the successful response confirms that
the new opening text has been committed to the active assistant
configuration used by the dashboard and by newly initialized calls.
Existing localized translations are regenerated asynchronously;
already initialized or in-progress calls keep the configuration they
loaded earlier.
Authorization
bearerAuth API key in the Authorization: Bearer <key> header.
Keys are created in the SMAO dashboard (Settings → API Keys).
In: header
Path Parameters
^[a-f0-9]{24}$Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Partial update - include only the fields you want to change.
1 <= propertiesResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/assistants/65f8fa6f1a9d8e0012ab34cd" \ -H "Content-Type: application/json" \ -d '{ "description": "Handles first-line customer support calls." }'{ "data": { "id": "string", "name": "string", "description": "string", "language": "de", "voice_id": "string", "record_call": true, "speed": 0.7, "tts_style_level": 0, "background_ambience": "clean", "appointment_booking_enabled": true, "contextual_asr_correction_enabled": true, "allow_preferred_language": true, "whitelist": true, "introduction": "string", "company_name": "string", "company_industry": "string", "phone_number": "string", "carrier": "string", "prompt_id": "string", "email_prompt_id": "string", "knowledge_group_ids": [ "string" ], "glossary_group_ids": [ "string" ], "pronunciation_group_ids": [ "string" ], "forwarding_group_ids": [ "string" ], "contact_group_ids": [ "string" ], "calendar_ids": [ "string" ], "tool_ids": [ "string" ], "analysis_ids": [ "string" ], "pre_call_webhook": { "enabled": true, "url": "string", "method": "GET", "headers": { "property1": "string", "property2": "string" }, "body_template": "string", "timeout_ms": 500, "auth": { "type": "none", "header_name": "string", "username": "string" } }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}Get an assistant GET
Returns the configuration of an assistant in your organization.
Delete an assistant DELETE
Fails with `409 conflict` while the assistant is in use: a website widget references it, an open chat is answered by it, one of its calls is still running, or a start-call node in one of the organization's analyses places its calls with it (the message names those analyses). Enterprise assistants, and lines managed for you by the platform, cannot be deleted at all and always answer `409 conflict`.