Twilio Assistants API

The Assistants API from Twilio — 24 operation(s) for assistants.

Operations 52

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 /v1/Assistants/{Sid} Look up an Autopilot assistant · Fetch assistant #
Ask an LLM
“How do I see the settings of one Autopilot assistant I already built?”
“Can I check whether a specific virtual assistant is logging queries after training?”
Tell an agent
Show me the details of Autopilot assistant {assistant}.
Pull up assistant {assistant} and tell me its development stage.
POST /v1/Assistants/{Sid} Change an Autopilot assistant's settings · Update assistant #
Ask an LLM
“Can I rename an existing Autopilot assistant without rebuilding it?”
“Is it possible to turn off query logging on an assistant that's already live?”
Tell an agent
Rename assistant {assistant} to {friendly_name}.
Stop keeping logged queries after training on assistant {assistant}: set log queries to {log_queries}.
DELETE /v1/Assistants/{Sid} Delete an Autopilot assistant · Delete assistant #
Ask an LLM
“How do I permanently remove a virtual assistant I no longer use?”
“What happens to an Autopilot bot when I delete the whole assistant?”
Tell an agent destructive · confirm first
Delete Autopilot assistant {assistant}.
Tear down the whole bot {assistant}, it is retired.
GET /v1/Assistants List my Autopilot assistants · List assistant #
Ask an LLM
“Which Autopilot assistants exist on my Twilio account?”
“Can I page through all my virtual assistants a thousand at a time?”
Tell an agent
List every Autopilot assistant on my account.
Show my assistants, {page_size} per page.
POST /v1/Assistants Create a new Autopilot assistant · Create assistant #
Ask an LLM
“How do I start building a new intelligent virtual assistant from scratch?”
“Can I give a brand-new bot a style sheet and default tasks at creation time?”
Tell an agent
Create a new Autopilot assistant called {friendly_name}.
Spin up a new assistant with unique name {unique_name} and default tasks {defaults}.
GET /v1/Assistants/{AssistantSid}/Defaults See an assistant's default tasks · Fetch defaults #
Ask an LLM
“Which task does my assistant fall back to when it doesn't understand the user?”
“What task runs when a conversation with my bot first starts?”
Tell an agent
Show the default task links for assistant {assistant}.
Tell me which fallback and initiation tasks assistant {assistant} uses.
POST /v1/Assistants/{AssistantSid}/Defaults Set an assistant's default tasks · Update defaults #
Ask an LLM
“Can I change the fallback task my bot uses when it can't match an intent?”
“How do I point assistant initiation at a different task?”
Tell an agent
Replace the default task links on assistant {assistant} with {defaults}.
Set the fallback and collect defaults for assistant {assistant} to {defaults}.
GET /v1/Assistants/{AssistantSid}/Dialogues/{Sid} Read one assistant dialogue · Fetch dialogue #
Ask an LLM
“Can I review a single conversation my Autopilot bot had with an end user?”
“Where do I see the full dialogue behind one of my assistant's sessions?”
Tell an agent
Show dialogue {dialogue} from assistant {assistant}.
Open conversation record {dialogue} on bot {assistant} so I can review it.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid} Look up a field on an assistant task · Fetch field #
Ask an LLM
“How do I check what field type a task's field is expecting?”
“Can I inspect one input field defined on an Autopilot task?”
Tell an agent
Show field {field} on task {task} of assistant {assistant}.
Tell me the field type of field {field} in task {task}, assistant {assistant}.
DELETE /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields/{Sid} Remove a field from an assistant task · Delete field #
Ask an LLM
“Can I drop a field a task no longer needs to collect?”
“How do I stop an Autopilot task from extracting a particular value?”
Tell an agent destructive · confirm first
Delete field {field} from task {task} on assistant {assistant}.
Remove the field {field} that task {task} collects in bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields List the fields on an assistant task · List field #
Ask an LLM
“Which fields does a given task in my bot extract from what users say?”
“What values is one of my Autopilot tasks set up to capture?”
Tell an agent
List all fields on task {task} of assistant {assistant}.
Show every field task {task} collects in bot {assistant}, {page_size} at a time.
POST /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Fields Add a field to an assistant task · Create field #
Ask an LLM
“How do I make a task capture a value like a date or a city from the user?”
“Can a task field use a built-in field type or only my custom ones?”
Tell an agent
Add a field named {unique_name} of type {field_type} to task {task} on assistant {assistant}.
Make task {task} in bot {assistant} collect a new {field_type} field.
GET /v1/Assistants/{AssistantSid}/FieldTypes/{Sid} Look up a custom field type · Fetch field type #
Ask an LLM
“How can I view one of the custom field types I defined for my assistant?”
“Can I check the friendly name of a field type my bot uses?”
Tell an agent
Show custom field type {field_type} on assistant {assistant}.
Get the details of field type {field_type} in bot {assistant}.
POST /v1/Assistants/{AssistantSid}/FieldTypes/{Sid} Rename a custom field type · Update field type #
Ask an LLM
“Can I rename a custom field type without recreating its values?”
“Is it possible to change the unique name of a field type my tasks already use?”
Tell an agent
Rename field type {field_type} on assistant {assistant} to {friendly_name}.
Change the unique name of field type {field_type} in bot {assistant} to {unique_name}.
DELETE /v1/Assistants/{AssistantSid}/FieldTypes/{Sid} Delete a custom field type · Delete field type #
Ask an LLM
“How do I get rid of a custom field type my assistant no longer needs?”
“Can I remove a whole custom field type along with its vocabulary?”
Tell an agent destructive · confirm first
Delete custom field type {field_type} from assistant {assistant}.
Remove the field type {field_type} from bot {assistant} entirely.
GET /v1/Assistants/{AssistantSid}/FieldTypes List an assistant's custom field types · List field type #
Ask an LLM
“What custom field types have I defined for my virtual assistant?”
“Which custom vocabularies can my bot's task fields draw on?”
Tell an agent
List all custom field types on assistant {assistant}.
Show the field types bot {assistant} has, {page_size} per page.
POST /v1/Assistants/{AssistantSid}/FieldTypes Create a custom field type · Create field type #
Ask an LLM
“How do I define my own field type, like a list of product names, for my bot?”
“Can I create a custom vocabulary for an Autopilot assistant to recognize?”
Tell an agent
Create a custom field type {unique_name} on assistant {assistant}.
Add a new field type named {unique_name} with label {friendly_name} to bot {assistant}.
GET /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid} Look up one value of a field type · Fetch field value #
Ask an LLM
“Can I check a single entry in one of my custom field types?”
“How do I see whether a field value is a synonym of another word?”
Tell an agent
Show field value {field_value} of field type {field_type} on assistant {assistant}.
Get entry {field_value} in field type {field_type} for bot {assistant}.
DELETE /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues/{Sid} Remove a value from a field type · Delete field value #
Ask an LLM
“How do I take one word out of a custom field type's vocabulary?”
“Can I delete a single synonym without touching the rest of the field type?”
Tell an agent destructive · confirm first
Delete field value {field_value} from field type {field_type} on assistant {assistant}.
Remove entry {field_value} from vocabulary {field_type} in bot {assistant}.
GET /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues List the values in a field type · List field value #
Ask an LLM
“What words and synonyms are in one of my custom field types?”
“Can I list a field type's values for just one language, like en-US?”
Tell an agent
List every value in field type {field_type} on assistant {assistant}.
Show the {language} values of field type {field_type} in bot {assistant}.
POST /v1/Assistants/{AssistantSid}/FieldTypes/{FieldTypeSid}/FieldValues Add a value or synonym to a field type · Create field value #
Ask an LLM
“How do I teach my bot a new word for a custom field type?”
“Can I add a synonym so two words map to the same field value?”
Tell an agent
Add the {language} value {value} to field type {field_type} on assistant {assistant}.
Add {value} as a synonym of {synonym_of} in field type {field_type}, bot {assistant}.
GET /v1/Assistants/{AssistantSid}/ModelBuilds/{Sid} Check a model build · Fetch model build #
Ask an LLM
“Has my assistant finished training its latest model build?”
“How do I check the status of one model build?”
Tell an agent
Show model build {build} for assistant {assistant}.
Tell me whether training build {build} on bot {assistant} is done.
POST /v1/Assistants/{AssistantSid}/ModelBuilds/{Sid} Rename a model build · Update model build #
Ask an LLM
“Can I give an existing model build a friendlier unique name like v0.1?”
“Is renaming a trained model build possible after it's created?”
Tell an agent
Rename model build {build} on assistant {assistant} to {unique_name}.
Label training build {build} in bot {assistant} as {unique_name}.
DELETE /v1/Assistants/{AssistantSid}/ModelBuilds/{Sid} Delete a model build · Delete model build #
Ask an LLM
“How do I clean up old model builds I no longer need?”
“Can I delete one trained model version from my assistant?”
Tell an agent destructive · confirm first
Delete model build {build} from assistant {assistant}.
Remove the old training build {build} on bot {assistant}.
GET /v1/Assistants/{AssistantSid}/ModelBuilds List an assistant's model builds · List model build #
Ask an LLM
“What model builds has my assistant been trained into so far?”
“Can I see the history of training runs for my bot?”
Tell an agent
List all model builds for assistant {assistant}.
Show the training build history of bot {assistant}, {page_size} per page.
POST /v1/Assistants/{AssistantSid}/ModelBuilds Train a new model build · Create model build #
Ask an LLM
“How do I retrain my Autopilot assistant after changing its tasks and samples?”
“Can I get a callback when a new model build finishes training?”
Tell an agent
Start a new model build for assistant {assistant}.
Train bot {assistant} into a build named {unique_name} and post status to {status_callback}.
GET /v1/Assistants/{AssistantSid}/Queries/{Sid} Look up a query sent to an assistant · Fetch query #
Ask an LLM
“How do I see how my assistant interpreted one specific user utterance?”
“Can I check the review status of a single logged query?”
Tell an agent
Show query {query} on assistant {assistant}.
Tell me which task bot {assistant} matched for query {query}.
POST /v1/Assistants/{AssistantSid}/Queries/{Sid} Review or discard a logged query · Update query #
Ask an LLM
“Can I mark a user query as reviewed after checking what the bot did?”
“How do I discard a logged query so it doesn't count in training review?”
Tell an agent
Mark query {query} on assistant {assistant} as {status}.
Link query {query} in bot {assistant} to sample {sample}.
DELETE /v1/Assistants/{AssistantSid}/Queries/{Sid} Delete a logged query · Delete query #
Ask an LLM
“How do I permanently delete one end-user query my assistant logged?”
“Can I erase a single utterance from my bot's query log?”
Tell an agent destructive · confirm first
Delete query {query} from assistant {assistant}.
Erase the logged utterance {query} in bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Queries List queries an assistant received · List query #
Ask an LLM
“Which user queries are still waiting for review on my assistant?”
“Can I filter logged queries by language or by the model build that handled them?”
Tell an agent
List the queries on assistant {assistant} with status {status}.
Show queries bot {assistant} answered with model build {model_build}.
POST /v1/Assistants/{AssistantSid}/Queries Test an assistant with a query · Create query #
Ask an LLM
“How do I test what my trained assistant does with a sentence a user might type?”
“Can I run a test query against only a few of my bot's tasks?”
Tell an agent
Send the {language} query {text} to assistant {assistant}.
Test bot {assistant} with {text} in {language}, limited to tasks {tasks}.
POST /v1/Assistants/Restore Restore an Autopilot assistant · Update restore assistant #
Ask an LLM
“Can I bring back an Autopilot assistant after it was removed?”
“How do I restore a virtual assistant by its SID?”
Tell an agent
Restore Autopilot assistant {assistant}.
Bring bot {assistant} back into service with a restore.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} Look up a training sample · Fetch sample #
Ask an LLM
“How do I view one example utterance I trained a task on?”
“Can I see which channel a specific training sample came from?”
Tell an agent
Show sample {sample} on task {task} of assistant {assistant}.
Get training phrase {sample} for task {task} in bot {assistant}.
POST /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} Edit a training sample · Update sample #
Ask an LLM
“Can I fix the wording of a training sample I already added?”
“How do I change the source channel recorded on an existing sample?”
Tell an agent
Change the text of sample {sample} on task {task}, assistant {assistant}, to {tagged_text}.
Set the source channel of existing sample {sample} in task {task}, bot {assistant}, to {channel}.
DELETE /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples/{Sid} Delete a training sample · Delete sample #
Ask an LLM
“How do I remove a bad example phrase that's confusing my bot's training?”
“Can I delete one sample without deleting the task it belongs to?”
Tell an agent destructive · confirm first
Delete sample {sample} from task {task} on assistant {assistant}.
Remove the misleading training phrase {sample} from task {task} in bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples List a task's training samples · List sample #
Ask an LLM
“What example phrases has a task in my bot been trained on?”
“Can I list only the Spanish training samples for one task?”
Tell an agent
List all samples for task {task} on assistant {assistant}.
Show the {language} training phrases of task {task} in bot {assistant}.
POST /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Samples Add a training sample to a task · Create sample #
Ask an LLM
“How do I teach a task another way users might phrase their request?”
“Can a training sample tag field values inside the example text?”
Tell an agent
Add the {language} sample {tagged_text} to task {task} on assistant {assistant}.
Train task {task} in bot {assistant} on a new {language} phrase {tagged_text} heard over {channel}.
GET /v1/Assistants/{AssistantSid}/StyleSheet Get an assistant's style sheet · Fetch style sheet #
Ask an LLM
“Where can I see the voice and style settings my assistant uses?”
“What does the style sheet JSON look like for my bot right now?”
Tell an agent
Show the style sheet for assistant {assistant}.
Return the style sheet JSON of bot {assistant}.
POST /v1/Assistants/{AssistantSid}/StyleSheet Update an assistant's style sheet · Update style sheet #
Ask an LLM
“How do I change my bot's voice or collect-error style settings?”
“Can I replace an assistant's style sheet after it's been created?”
Tell an agent
Replace the style sheet of assistant {assistant} with {style_sheet}.
Apply style sheet JSON {style_sheet} to bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Tasks/{Sid} Look up an assistant task · Fetch task #
Ask an LLM
“How do I view one task my virtual assistant can handle?”
“Can I check which actions URL a task is pointed at?”
Tell an agent
Show task {task} on assistant {assistant}.
Get the details of intent task {task} in bot {assistant}.
POST /v1/Assistants/{AssistantSid}/Tasks/{Sid} Update an assistant task · Update task #
Ask an LLM
“Can I rename a task or change where it fetches its actions from?”
“How do I move a task's actions to a hosted actions URL?”
Tell an agent
Rename task {task} on assistant {assistant} to {friendly_name}.
Point task {task} in bot {assistant} at actions URL {actions_url}.
DELETE /v1/Assistants/{AssistantSid}/Tasks/{Sid} Delete an assistant task · Delete task #
Ask an LLM
“How do I remove an intent my bot should no longer handle?”
“Can I delete a task from my assistant once it's obsolete?”
Tell an agent destructive · confirm first
Delete task {task} from assistant {assistant}.
Remove the obsolete intent task {task} from bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Tasks List an assistant's tasks · List task #
Ask an LLM
“What tasks can my Autopilot assistant currently handle?”
“Which intents are defined on my bot?”
Tell an agent
List every task on assistant {assistant}.
Show the intents bot {assistant} knows, {page_size} per page.
POST /v1/Assistants/{AssistantSid}/Tasks Add a task to an assistant · Create task #
Ask an LLM
“How do I add a new intent, like booking an appointment, to my virtual assistant?”
“Can I create a task that pulls its actions from my own URL?”
Tell an agent
Create a task {unique_name} on assistant {assistant}.
Add task {unique_name} to bot {assistant} that fetches its actions from {actions_url}.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions Get the actions a task runs · Fetch task actions #
Ask an LLM
“What does my bot actually say or do when a particular task is triggered?”
“Can I read the actions JSON attached to one task?”
Tell an agent
Show the actions JSON for task {task} on assistant {assistant}.
Tell me what bot {assistant} does when task {task} fires.
POST /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Actions Replace the actions a task runs · Update task actions #
Ask an LLM
“How do I change what my bot says in response to one task?”
“Can I update just a task's actions JSON without touching its name or samples?”
Tell an agent
Set the actions of task {task} on assistant {assistant} to {actions}.
Replace only the actions JSON of task {task} in bot {assistant} with {actions}.
GET /v1/Assistants/{AssistantSid}/Tasks/{TaskSid}/Statistics See a task's sample and field counts · Fetch task statistics #
Ask an LLM
“How many training samples and fields does one of my bot's tasks have?”
“Is a task trained on enough examples yet?”
Tell an agent
Show statistics for task {task} on assistant {assistant}.
Count the samples and fields on task {task} in bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Webhooks/{Sid} Look up an assistant webhook · Fetch webhook #
Ask an LLM
“How do I check which events one of my assistant's webhooks listens for?”
“Can I see the URL and HTTP method a bot webhook calls?”
Tell an agent
Show webhook {webhook} on assistant {assistant}.
Get the event list and URL of webhook {webhook} for bot {assistant}.
POST /v1/Assistants/{AssistantSid}/Webhooks/{Sid} Change an assistant webhook · Update webhook #
Ask an LLM
“Can I point an existing assistant webhook at a new URL?”
“How do I change which events an Autopilot webhook subscribes to?”
Tell an agent
Point webhook {webhook} on assistant {assistant} at {webhook_url}.
Change existing webhook {webhook} in bot {assistant} to fire on {events}.
DELETE /v1/Assistants/{AssistantSid}/Webhooks/{Sid} Delete an assistant webhook · Delete webhook #
Ask an LLM
“How do I stop my assistant from calling a webhook URL?”
“Can I remove one bot webhook while keeping the others?”
Tell an agent destructive · confirm first
Delete webhook {webhook} from assistant {assistant}.
Remove the event callback {webhook} on bot {assistant}.
GET /v1/Assistants/{AssistantSid}/Webhooks List an assistant's webhooks · List webhook #
Ask an LLM
“Which webhooks are configured on my virtual assistant?”
“What URLs does my bot notify when events happen?”
Tell an agent
List all webhooks on assistant {assistant}.
Show every event callback bot {assistant} has, {page_size} per page.
POST /v1/Assistants/{AssistantSid}/Webhooks Add a webhook to an assistant · Create webhook #
Ask an LLM
“How do I get notified at my own URL when my assistant's events happen?”
“Can I subscribe a new webhook to several assistant events at once?”
Tell an agent
Create webhook {unique_name} on assistant {assistant} sending {events} to {webhook_url}.
Add a new webhook to bot {assistant} that calls {webhook_url} with {method}.

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-assistants-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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-assistants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio - Autopilot Assistants API
  description: Intelligent virtual assistants (IVA) are incredibly sophisticated applications with the potential to revolutionize the way modern businesses service customers.
  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://autopilot.twilio.com
tags:


# --- truncated at 32 KB (116 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/openapi/twilio-assistants-api-openapi.yml