Create an assistant
Create a new AI 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"
}
}
}
],
"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"
}
}
}
],
"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 15 of the 47 revisions of this API.22895
- ▲
removed
subschema #1: targets_listfrom the////request propertyoneOflistrequest-property-one-of-removed
- ▲
removed
subschema #1: targets_listfrom the////request propertyoneOflistrequest-property-one-of-removed
- ▲
added
subschema #1to the/////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the/////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added
subschema #1to the////request propertyoneOflistrequest-property-one-of-added
- ○
added
subschema #1to the////request propertyoneOflistrequest-property-one-of-added
- ○
removed
subschema #1: targets_listfrom the/////////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the/////////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the////////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the////////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the////response propertyoneOflist for the response statusresponse-property-one-of-removed
This revision also has 6 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
defaultdiscriminator mapping keys to the///request propertyrequest-property-discriminator-mapping-added
- ○
added
speakdiscriminator mapping keys to the//request propertyrequest-property-discriminator-mapping-added
- ○
added to the
///request propertyoneOflistrequest-property-one-of-added
- ○
added to the
//request propertyoneOflistrequest-property-one-of-added
- ○
added
defaultdiscriminator mapping keys to the///response property for the response statusresponse-property-discriminator-mapping-added
- ○
added
speakdiscriminator mapping keys to the//response property for the response statusresponse-property-discriminator-mapping-added
- ▲
- ○
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 optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
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 new optional request property
////new-optional-request-property
- ○
added the optional property
////to the response with the statusresponse-optional-property-added
- ○
- ●
added the new
soniox/stt-rt-v4enum 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
soniox/stt-rt-v4enum 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
- ●
- ▲
removed
subschema #1from the////request propertyoneOflistrequest-property-one-of-removed
- ▲
removed
subschema #1from the////request propertyoneOflistrequest-property-one-of-removed
- ▲
added
subschema #1: targets_listto the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1: targets_listto the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added
subschema #1: targets_listto the////request propertyoneOflistrequest-property-one-of-added
- ○
added
subschema #1: targets_listto the////request propertyoneOflistrequest-property-one-of-added
- ○
removed
subschema #1from the////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1from the////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ▲
- ▲
removed
subschema #1: targets_listfrom the////request propertyoneOflistrequest-property-one-of-removed
- ▲
removed
subschema #1: targets_listfrom the////request propertyoneOflistrequest-property-one-of-removed
- ▲
added
subschema #1to the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added
subschema #1to the////response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added
subschema #1to the////request propertyoneOflistrequest-property-one-of-added
- ○
added
subschema #1to the////request propertyoneOflistrequest-property-one-of-added
- ○
removed
subschema #1: targets_listfrom the////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ○
removed
subschema #1: targets_listfrom the////response propertyoneOflist for the response statusresponse-property-one-of-removed
- ▲
- ○
the
request property default value changed from0.4to0.8request-property-default-value-changed
- ○
the
response's property default value changed from0.4to0.8for the statusresponse-property-default-value-changed
- ○