Update an assistant
Updates the specified AI assistant's attributes and returns the updated assistant. The request can also control how the change is promoted across assistant versions.
Path parameters
Unique identifier of the assistant.
Request body
Example request
{
"tools": [
{
"webhook": {
"url": "https://example.com/api/v1/function",
"body_parameters": {
"properties": {
"age": {
"description": "The age of the customer.",
"type": "integer"
},
"location": {
"description": "The location of the customer.",
"type": "string"
}
},
"required": [
"age",
"location"
],
"type": "object"
},
"path_parameters": {
"properties": {
"id": {
"description": "The id of the customer.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"query_parameters": {
"properties": {
"page": {
"description": "The page number.",
"type": "integer"
}
},
"required": [
"page"
],
"type": "object"
},
"preset_body_fields": {
"account_id": "{{customer_id}}",
"source": "telnyx-assistant"
},
"preset_query_params": {
"caller": "{{telnyx_end_user_target}}",
"channel": "voice"
},
"messages": [
{
"type": "request_start",
"content": "Let me look that up for you."
},
{
"type": "request_response_delayed",
"content": "Still working on that.",
"timing_ms": 5000
}
]
}
}
],
"a2a_agents": [
{
"name": "billing_agent",
"url": "https://agents.example.com",
"headers": [
{
"name": "X-Api-Key",
"value": "{{#integration_secret}}my_agent_api_key{{/integration_secret}}"
}
],
"timeout_ms": 30000,
"poll_interval_ms": 500
}
],
"conversation_flow": {
"edges": [
{
"condition": {
"prompt": "The caller is asking about a bill or charge.",
"type": "llm"
},
"id": "e_intake_to_billing",
"start_node_id": "n_intake",
"target": {
"node_id": "n_billing",
"type": "node"
}
},
{
"condition": {
"prompt": "The caller has explicitly asked for a human.",
"type": "llm"
},
"id": "e_intake_to_escalation_assistant",
"start_node_id": "n_intake",
"target": {
"assistant_id": "assistant-human-handoff",
"position": {
"x": 600,
"y": 80
},
"type": "assistant",
"voice_mode": "distinct"
}
}
],
"nodes": [
{
"type": "prompt",
"id": "n_intake",
"instructions": "Greet the caller and ask what they're calling about.",
"name": "Intake",
"position": {
"x": 120,
"y": 80
},
"shared_tool_ids": [
"tool-faq-kb"
]
},
{
"type": "prompt",
"id": "n_billing",
"instructions": "Focus on billing questions. Look up the caller's latest invoice with the billing tool before answering.",
"instructions_mode": "append",
"model": "moonshotai/Kimi-K2.6",
"name": "Billing",
"position": {
"x": 420,
"y": 80
},
"shared_tool_ids": [
"tool-billing-lookup"
],
"tools_mode": "append"
}
],
"start_node_id": "n_intake"
}
}Response
Successful Response
Example response
{
"tools": [
{
"webhook": {
"url": "https://example.com/api/v1/function",
"body_parameters": {
"properties": {
"age": {
"description": "The age of the customer.",
"type": "integer"
},
"location": {
"description": "The location of the customer.",
"type": "string"
}
},
"required": [
"age",
"location"
],
"type": "object"
},
"path_parameters": {
"properties": {
"id": {
"description": "The id of the customer.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"query_parameters": {
"properties": {
"page": {
"description": "The page number.",
"type": "integer"
}
},
"required": [
"page"
],
"type": "object"
},
"preset_body_fields": {
"account_id": "{{customer_id}}",
"source": "telnyx-assistant"
},
"preset_query_params": {
"caller": "{{telnyx_end_user_target}}",
"channel": "voice"
},
"messages": [
{
"type": "request_start",
"content": "Let me look that up for you."
},
{
"type": "request_response_delayed",
"content": "Still working on that.",
"timing_ms": 5000
}
]
}
}
],
"a2a_agents": [
{
"name": "billing_agent",
"url": "https://agents.example.com",
"headers": [
{
"name": "X-Api-Key",
"value": "{{#integration_secret}}my_agent_api_key{{/integration_secret}}"
}
],
"timeout_ms": 30000,
"poll_interval_ms": 500
}
],
"conversation_flow": {
"edges": [
{
"condition": {
"prompt": "The caller is asking about a bill or charge.",
"type": "llm"
},
"id": "e_intake_to_billing",
"start_node_id": "n_intake",
"target": {
"node_id": "n_billing",
"type": "node"
}
},
{
"condition": {
"prompt": "The caller has explicitly asked for a human.",
"type": "llm"
},
"id": "e_intake_to_escalation_assistant",
"start_node_id": "n_intake",
"target": {
"assistant_id": "assistant-human-handoff",
"position": {
"x": 600,
"y": 80
},
"type": "assistant",
"voice_mode": "distinct"
}
}
],
"nodes": [
{
"type": "prompt",
"id": "n_intake",
"instructions": "Greet the caller and ask what they're calling about.",
"name": "Intake",
"position": {
"x": 120,
"y": 80
},
"shared_tool_ids": [
"tool-faq-kb"
]
},
{
"type": "prompt",
"id": "n_billing",
"instructions": "Focus on billing questions. Look up the caller's latest invoice with the billing tool before answering.",
"instructions_mode": "append",
"model": "moonshotai/Kimi-K2.6",
"name": "Billing",
"position": {
"x": 420,
"y": 80
},
"shared_tool_ids": [
"tool-billing-lookup"
],
"tools_mode": "append"
}
],
"start_node_id": "n_intake"
}
}Changes
Changed in 17 of the 99 revisions of this API.1821134
- ●
removed the request property
/////request-property-removed
- ●
removed the optional property
/////////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
////////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
////from the response with the statusresponse-optional-property-removed
- ○
added the new optional request property
////new-optional-request-property
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ●
- ○
added the new optional request property
////////new-optional-request-property
- ○
added the new optional request property
////////new-optional-request-property
- ○
added the new optional request property
////////new-optional-request-property
- ○
added the optional property
////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
- ●
added the new
omi-health/omi-med-stt-v1enum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
omi-health/omi-med-stt-v1enum value to the/response property for the response statusresponse-property-enum-value-added
- ○
added the new
omi-health/omi-med-stt-v1enum value to the request property//////request-property-enum-value-added
- ○
added the new
omi-health/omi-med-stt-v1enum value to the request property//request-property-enum-value-added
- ●
- ○
added the new optional request property
//new-optional-request-property
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ●
added the new
assemblyai/universal-3-5-proenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
assemblyai/universal-3-5-proenum value to the/response property for the response statusresponse-property-enum-value-added
- ○
added the new
assemblyai/universal-3-5-proenum value to the request property//////request-property-enum-value-added
- ○
added the new
assemblyai/universal-3-5-proenum value to the request property//request-property-enum-value-added
- ●
- ▲
removed from the
//request propertyoneOflistrequest-property-one-of-removed
- ▲
added to the
//////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
/////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
/response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added to the
//request propertyoneOflistrequest-property-one-of-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
added the optional property
///to the response with the statusresponse-optional-property-added
- ○
removed from the
//////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed from the
/////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed from the
/response propertyoneOflist for the response statusresponse-property-one-of-removed
- ▲
- ○
added the new optional request property
//new-optional-request-property
- ○
added the non-success response with the status
response-non-success-status-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
- ●
added the new
aicousticsenum value to the/response property for the response statusresponse-property-enum-value-added
- ●
added the new
cohere/ar-sttenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
cohere/ar-sttenum value to the/response property for the response statusresponse-property-enum-value-added
- ●
added the new
soniox/stt-rt-v5enum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
soniox/stt-rt-v5enum value to the/response property for the response statusresponse-property-enum-value-added
- ○
added the new optional request property
/new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
//new-optional-request-property
- ○
added the new optional request property
///new-optional-request-property
- ○
added the new optional request property
///new-optional-request-property
- ○
added the new optional request property
///new-optional-request-property
- ○
added the new optional request property
//new-optional-request-property
- ○
added the new optional request property
/////new-optional-request-property
- ○
added the new optional request property
/////new-optional-request-property
- ○
added the new optional request property
/////new-optional-request-property
- ○
added the new optional request property
/////new-optional-request-property
- ○
added the new optional request property
////////new-optional-request-property
- ○
added the new optional request property
/////new-optional-request-property
- ○
added the new optional request property
///new-optional-request-property
- ○
added the new optional request property
///new-optional-request-property
- ○
added the new
aicousticsenum value to the request property//request-property-enum-value-added
- ○
added the new
cohere/ar-sttenum value to the request property//////request-property-enum-value-added
- ○
added the new
cohere/ar-sttenum value to the request property//request-property-enum-value-added
- ○
added the new
soniox/stt-rt-v5enum value to the request property//////request-property-enum-value-added
- ○
added the new
soniox/stt-rt-v5enum value to the request property//request-property-enum-value-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////to the response with the statusresponse-optional-property-added
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
This revision also has 34 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ●
- ○
added the new optional request property
//new-optional-request-property
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
This revision also has 64 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ▲
added to the
//////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
/////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
/response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added to the
//request propertyoneOflistrequest-property-one-of-added
- ▲
Of the 99 revisions, 1 has no diff computed.