Twilio Understand API

The Understand API from Twilio — 21 operation(s) for understand.

Business capability
Language & Document Understanding AE-110.40

Operations 46

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /understand/Assistants/{Sid} View an Understand assistant · Fetch understand assistant #
Ask an LLM
“What name, callback URL and query logging setting does my Understand assistant have?”
“Can I look up an Understand assistant by its SID?”
Tell an agent
Show Understand assistant {assistant}.
Get the configuration of natural language assistant {assistant}.
POST /understand/Assistants/{Sid} Change an Understand assistant's settings · Update understand assistant #
Ask an LLM
“Can I turn off query logging on my assistant so user input isn't stored?”
“Where do I set the callback URL and events an assistant reports to?”
Tell an agent
Rename Understand assistant {assistant} to {name}.
Set query logging on assistant {assistant} to {log_queries}.
DELETE /understand/Assistants/{Sid} Delete an Understand assistant · Delete understand assistant #
Ask an LLM
“How do I get rid of an assistant I no longer use?”
“Can I delete a whole Understand assistant?”
Tell an agent destructive · confirm first
Delete Understand assistant {assistant}.
Remove the unused natural language assistant {assistant}.
GET /understand/Assistants/{AssistantSid}/FallbackActions See what an assistant does when it doesn't understand · Fetch understand assistant fallback actions #
Ask an LLM
“What does my assistant say when user input matches no task?”
“Can I read the fallback actions JSON for an assistant?”
Tell an agent
Show the fallback actions for assistant {assistant}.
Get what assistant {assistant} does when nothing matches.
POST /understand/Assistants/{AssistantSid}/FallbackActions Set an assistant's fallback actions · Update understand assistant fallback actions #
Ask an LLM
“How do I change the reply an assistant gives when it can't match any task?”
“Can I replace just the fallback actions without touching the rest of the assistant?”
Tell an agent
Set the fallback actions of assistant {assistant} to {actions}.
Replace what assistant {assistant} does on unrecognized input with {actions}.
GET /understand/Assistants/{AssistantSid}/InitiationActions See an assistant's opening actions on calls · Fetch understand assistant initiation actions #
Ask an LLM
“What does my assistant say first when it answers an inbound phone call?”
“Can I read the initiation actions JSON for an assistant?”
Tell an agent
Show the initiation actions for assistant {assistant}.
Get the greeting assistant {assistant} uses on inbound calls.
POST /understand/Assistants/{AssistantSid}/InitiationActions Set an assistant's opening actions on calls · Update understand assistant initiation actions #
Ask an LLM
“Can I change what my assistant says first on an inbound call?”
“What endpoint replaces only the initiation actions of an assistant?”
Tell an agent
Set the initiation actions of assistant {assistant} to {actions}.
Make assistant {assistant} open inbound calls with {actions}.
GET /understand/Assistants/{AssistantSid}/Dialogues/{Sid} View a dialogue with an assistant · Fetch understand dialogue #
Ask an LLM
“What happened in a specific conversation between a user and my assistant?”
“Can I pull up one dialogue by its SID?”
Tell an agent
Show dialogue {dialogue} from assistant {assistant}.
Get the conversation data for dialogue {dialogue} on {assistant}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid} View a field on a task · Fetch understand field #
Ask an LLM
“What field type does one of my task's fields use?”
“Can I look up a single task field by SID?”
Tell an agent
Show field {field} on task {task} of assistant {assistant}.
Get the type of field {field} in task {task} for {assistant}.
DELETE /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid} Remove a field from a task · Delete understand field #
Ask an LLM
“How do I stop a task from collecting a particular field?”
“Can I delete one field without deleting the task?”
Tell an agent destructive · confirm first
Delete field {field} from task {task} on assistant {assistant}.
Remove task field {field} under {task} in {assistant}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields List the fields of a task · List understand field #
Ask an LLM
“Which fields does a task extract from what the user says?”
“What values is a task set up to capture?”
Tell an agent
List the fields on task {task} of assistant {assistant}.
Show every field task {task} collects in {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields Add a field to a task · Create understand field #
Ask an LLM
“How do I make a task capture a date or a city from the user's words?”
“Can I add a field that uses one of my custom field types?”
Tell an agent
Add field {name} of type {field_type} to task {task} on assistant {assistant}.
Create a {field_type} field called {name} in task {task} for {assistant}.
GET /understand/Assistants/{AssistantSid}/FieldTypes/{Sid} View a custom field type · Fetch understand field type #
Ask an LLM
“What are the name and details of one of my custom field types?”
“Can I look up a field type by its SID?”
Tell an agent
Show field type {field_type} on assistant {assistant}.
Get the details of custom field type {field_type} in {assistant}.
POST /understand/Assistants/{AssistantSid}/FieldTypes/{Sid} Rename a custom field type · Update understand field type #
Ask an LLM
“Can I change the unique name of a field type I already created?”
“Is it possible to relabel an existing custom field type?”
Tell an agent
Rename field type {field_type} on assistant {assistant} to {name}.
Change the unique name of existing field type {field_type} in {assistant} to {unique_name}.
DELETE /understand/Assistants/{AssistantSid}/FieldTypes/{Sid} Delete a custom field type · Delete understand field type #
Ask an LLM
“How do I remove a custom field type I no longer need?”
“Can I delete a field type and all its values?”
Tell an agent destructive · confirm first
Delete field type {field_type} from assistant {assistant}.
Remove the custom field type {field_type} in {assistant}.
GET /understand/Assistants/{AssistantSid}/FieldTypes List an assistant's custom field types · List understand field type #
Ask an LLM
“Which custom field types have I defined for my assistant?”
“What vocabularies like product names or store locations does my assistant know?”
Tell an agent
List the custom field types on assistant {assistant}.
Show all field types defined in {assistant}.
POST /understand/Assistants/{AssistantSid}/FieldTypes Create a custom field type · Create understand field type #
Ask an LLM
“How do I teach my assistant a custom list of things, like my product names?”
“Can I define my own field type beyond the built-in ones?”
Tell an agent
Create a field type named {name} on assistant {assistant}.
Add custom field type {name} labeled {label} to {assistant}.
GET /understand/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid} View one value of a field type · Fetch understand field value #
Ask an LLM
“What language and synonym is set on a particular field value?”
“Can I look up one field value by its SID?”
Tell an agent
Show value {value} of field type {field_type} on assistant {assistant}.
Check whether field value {value} in {field_type} for {assistant} is a synonym.
DELETE /understand/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid} Remove a value from a field type · Delete understand field value #
Ask an LLM
“How do I drop one entry or synonym from a custom field type?”
“Can I delete a single field value and keep the rest of the type?”
Tell an agent destructive · confirm first
Delete value {value} from field type {field_type} on assistant {assistant}.
Remove entry {value} under {field_type} in {assistant}.
GET /understand/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues List the values of a field type · List understand field value #
Ask an LLM
“What entries and synonyms make up one of my custom field types?”
“Can I list only the Spanish values of a field type?”
Tell an agent
List the values of field type {field_type} on assistant {assistant}.
Show {language} values for field type {field_type} in {assistant}.
POST /understand/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues Add a value or synonym to a field type · Create understand field value #
Ask an LLM
“How do I add a new product name to a custom field type?”
“Can I register a synonym so two words map to the same field value?”
Tell an agent
Add {value} in {language} to field type {field_type} on assistant {assistant}.
Add {value} ({language}) as a synonym of {synonym_of} in field type {field_type} for {assistant}.
GET /understand/Assistants/{AssistantSid}/ModelBuilds/{Sid} Check a model build · Fetch understand model build #
Ask an LLM
“Has my assistant's latest model build finished training?”
“Can I see the status of one model build by SID?”
Tell an agent
Show model build {build} for assistant {assistant}.
Check whether build {build} of {assistant} is completed.
POST /understand/Assistants/{AssistantSid}/ModelBuilds/{Sid} Rename a model build · Update understand model build #
Ask an LLM
“Can I give an existing model build a new unique name, like a version tag?”
“Is it possible to relabel a build after it was created?”
Tell an agent
Rename model build {build} on assistant {assistant} to {name}.
Tag existing build {build} of {assistant} as {name}.
DELETE /understand/Assistants/{AssistantSid}/ModelBuilds/{Sid} Delete a model build · Delete understand model build #
Ask an LLM
“How do I clean up old model builds for my assistant?”
“Can I delete one outdated model build?”
Tell an agent destructive · confirm first
Delete model build {build} from assistant {assistant}.
Remove the old build {build} of {assistant}.
GET /understand/Assistants/{AssistantSid}/ModelBuilds List an assistant's model builds · List understand model build #
Ask an LLM
“Which model builds have been trained for my assistant?”
“What is the build history of an assistant?”
Tell an agent
List the model builds for assistant {assistant}.
Show every training build of {assistant}.
POST /understand/Assistants/{AssistantSid}/ModelBuilds Train a new model build · Create understand model build #
Ask an LLM
“How do I retrain my assistant after adding new samples?”
“Can I get a callback when a model build finishes training?”
Tell an agent
Start a new model build for assistant {assistant}.
Train {assistant} as build {name} and notify {callback} when done.
GET /understand/Assistants/{AssistantSid}/Queries/{Sid} View one query sent to an assistant · Fetch understand query #
Ask an LLM
“Which task did my assistant match for a particular query?”
“Can I look up one logged query by its SID?”
Tell an agent
Show query {query} on assistant {assistant}.
Get the matched task and fields for query {query} in {assistant}.
POST /understand/Assistants/{AssistantSid}/Queries/{Sid} Review or discard a logged query · Update understand query #
Ask an LLM
“Can I mark a logged query as reviewed after checking it?”
“Can a query be linked to the sample I created from it?”
Tell an agent
Set the status of query {query} on assistant {assistant} to {status}.
Link query {query} in {assistant} to sample {sample}.
DELETE /understand/Assistants/{AssistantSid}/Queries/{Sid} Delete a logged query · Delete understand query #
Ask an LLM
“How do I delete a stored user query from my assistant's logs?”
“Can I remove one query that contains something sensitive?”
Tell an agent destructive · confirm first
Delete query {query} from assistant {assistant}.
Remove logged query {query} in {assistant}.
GET /understand/Assistants/{AssistantSid}/Queries List queries an assistant received · List understand query #
Ask an LLM
“Which user queries are still pending review for my assistant?”
“Can I see the queries answered by one specific model build?”
Tell an agent
List queries on assistant {assistant} with status {status}.
Show {language} queries handled by build {build} in {assistant}.
POST /understand/Assistants/{AssistantSid}/Queries Test what an assistant understands from a phrase · Create understand query #
Ask an LLM
“What task would my assistant pick for a sentence a user might say?”
“Can I test a phrase against only a few tasks or a single field?”
Tell an agent
Ask assistant {assistant} to interpret {text} in {language}.
Test {text} ({language}) on {assistant} limited to tasks {tasks}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} View a training sample · Fetch understand sample #
Ask an LLM
“What tagged text and channel does one training sample have?”
“Can I look up a single sample by its SID?”
Tell an agent
Show sample {sample} on task {task} of assistant {assistant}.
Get the tagged text of sample {sample} in {task} for {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} Edit a training sample · Update understand sample #
Ask an LLM
“Can I fix the wording or field tags of a sample I already added?”
“Is it possible to change the channel an existing sample came from?”
Tell an agent
Change the text of sample {sample} on task {task} in {assistant} to {tagged_text}.
Set the source channel of existing sample {sample} in {task} for {assistant} to {channel}.
DELETE /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} Delete a training sample · Delete understand sample #
Ask an LLM
“How do I remove a bad training sample that confuses my assistant?”
“Can I delete one sample from a task?”
Tell an agent destructive · confirm first
Delete sample {sample} from task {task} on assistant {assistant}.
Remove training sample {sample} in {task} for {assistant}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples List a task's training samples · List understand sample #
Ask an LLM
“What example phrases is a task trained on?”
“Can I list only the French samples for a task?”
Tell an agent
List the samples for task {task} on assistant {assistant}.
Show {language} training samples of task {task} in {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples Add a training sample to a task · Create understand sample #
Ask an LLM
“How do I teach a task a new way users might phrase a request?”
“Can I tag field values inside a sample's text?”
Tell an agent
Add sample {tagged_text} in {language} to task {task} on assistant {assistant}.
Train task {task} in {assistant} with the {channel} phrase {tagged_text} ({language}).
GET /understand/Assistants/{AssistantSid}/StyleSheet View an assistant's style sheet · Fetch understand style sheet #
Ask an LLM
“What voice and style settings does my assistant's style sheet define?”
“Can I read the style sheet JSON for an assistant?”
Tell an agent
Show the style sheet for assistant {assistant}.
Get the style sheet JSON of {assistant}.
POST /understand/Assistants/{AssistantSid}/StyleSheet Replace an assistant's style sheet · Update understand style sheet #
Ask an LLM
“How do I change the voice my assistant uses through its style sheet?”
“Can I update only the style sheet without editing other assistant settings?”
Tell an agent
Set the style sheet of assistant {assistant} to {style_sheet}.
Replace the style sheet on {assistant} with {style_sheet}.
GET /understand/Assistants/{AssistantSid}/Tasks/{Sid} View a task · Fetch understand task #
Ask an LLM
“What is a task's unique name and where do its actions come from?”
“Can I look up one assistant task by SID?”
Tell an agent
Show task {task} on assistant {assistant}.
Get the name and actions URL of task {task} in {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks/{Sid} Rename a task or change its actions URL · Update understand task #
Ask an LLM
“Can I point an existing task at a different URL that serves its actions?”
“Is renaming a task possible after it's been trained?”
Tell an agent
Rename task {task} on assistant {assistant} to {name}.
Point task {task} in {assistant} at actions URL {actions_url}.
DELETE /understand/Assistants/{AssistantSid}/Tasks/{Sid} Delete a task · Delete understand task #
Ask an LLM
“How do I remove a task my assistant no longer handles?”
“Can I delete a task along with its samples and fields?”
Tell an agent destructive · confirm first
Delete task {task} from assistant {assistant}.
Remove the unused task {task} in {assistant}.
GET /understand/Assistants/{AssistantSid}/Tasks List an assistant's tasks · List understand task #
Ask an LLM
“Which tasks can my assistant recognize?”
“What intents is my assistant set up to handle?”
Tell an agent
List the tasks on assistant {assistant}.
Show every task defined in {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks Create a task for an assistant · Create understand task #
Ask an LLM
“How do I add a new thing my assistant can do, like booking an appointment?”
“Can I give a new task its actions inline or from a URL?”
Tell an agent
Create task {name} on assistant {assistant}.
Add task {name} to {assistant} with actions served from {actions_url}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions View a task's actions · Fetch understand task actions #
Ask an LLM
“What does my assistant do once a task is matched?”
“Can I read the actions JSON of a single task?”
Tell an agent
Show the actions for task {task} on assistant {assistant}.
Get the actions JSON of task {task} in {assistant}.
POST /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions Replace a task's actions · Update understand task actions #
Ask an LLM
“How do I change what the assistant says or does when a task fires?”
“Can I update only a task's actions JSON without touching its name?”
Tell an agent
Set the actions of task {task} on assistant {assistant} to {actions}.
Replace the actions JSON of task {task} in {assistant} with {actions}.
GET /understand/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics Get sample and field counts for a task · Fetch understand task statistics #
Ask an LLM
“Does a task have enough training samples yet?”
“Can I see how many samples and fields a task has?”
Tell an agent
Show the statistics for task {task} on assistant {assistant}.
Count the samples and fields of task {task} in {assistant}.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/twilio:twilio-understand-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

twilio-understand-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio Assistants Understand API
  description: Needs description.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.52.0
servers:
- url: https://preview.twilio.com
tags:


# --- truncated at 32 KB (86 KB total) ---
# Full source: https://artifacts.apis.io/twilio/openapi/twilio-understand-api-openapi.yml