Twilio · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Twilio Conversations API

23 actions 23 updates phrasing extends openapi/twilio-conversations-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Twilio's API. It is a proposal applied on top of the contract, not a document Twilio publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 23 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/Conversations'].get
$.paths['/v1/Conversations'].post
$.paths['/v1/Conversations/{Sid}'].get
$.paths['/v1/Conversations/{Sid}'].post
$.paths['/v1/Conversations/{Sid}'].delete
$.paths['/v1/Conversations/{ConversationSid}/Messages'].get
$.paths['/v1/Conversations/{ConversationSid}/Messages'].post
$.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].get
$.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].post
$.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].delete
$.paths['/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}'].get
$.paths['/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts'].get
$.paths['/v1/Conversations/{ConversationSid}/Participants'].get
$.paths['/v1/Conversations/{ConversationSid}/Participants'].post
$.paths['/v1/Conversations/{ConversationSid}/Participants/{Sid}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Twilio Conversations API
  version: 1.0.0
extends: openapi/twilio-conversations-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 22
- target: $.paths['/v1/Conversations'].get
  update:
    x-apievangelist-phrasing:
      intent: List conversations
      effect: read
      questions:
      - Which conversations in my default service are still active?
      - Can I filter conversations to ones started within a date range?
      instructions:
      - text: List my conversations in state {state}.
        slots:
          state: query.State
      - text: List conversations from {start_date} to {end_date}.
        slots:
          start_date: query.StartDate
          end_date: query.EndDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a new conversation
      effect: write
      questions:
      - How do I open a new multi-channel conversation thread?
      - Can a new conversation switch itself to inactive or closed after a set idle time?
      instructions:
      - text: Create a conversation called {friendly_name}.
        slots:
          friendly_name: requestBody.FriendlyName
      - text: Start a conversation with unique name {unique_name} that closes after {closed_timer}.
        slots:
          unique_name: requestBody.UniqueName
          closed_timer: requestBody.Timers.Closed
      - text: Create a conversation {friendly_name} that sends email from {email}.
        slots:
          friendly_name: requestBody.FriendlyName
          email: requestBody.Bindings.Email.Address
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a conversation
      effect: read
      questions:
      - Can I look up a conversation by its unique name rather than its SID?
      - What state is a particular conversation in right now?
      instructions:
      - text: Fetch conversation {conversation}.
        slots:
          conversation: path.Sid
      - text: Show me the settings and state of conversation {conversation}.
        slots:
          conversation: path.Sid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a conversation's name, state or timers
      effect: write
      questions:
      - Can I rename an existing conversation or change its state to closed?
      - Is it possible to change the inactivity timer on a conversation that already exists?
      instructions:
      - text: Rename conversation {conversation} to {friendly_name}.
        slots:
          conversation: path.Sid
          friendly_name: requestBody.FriendlyName
      - text: Set existing conversation {conversation} to state {state}.
        slots:
          conversation: path.Sid
          state: requestBody.State
      - text: Change the attributes stored on conversation {conversation} to {attributes}.
        slots:
          conversation: path.Sid
          attributes: requestBody.Attributes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a conversation
      effect: destructive
      questions:
      - Can I remove an entire conversation thread from my service?
      - Will deleting a conversation fire webhooks unless I turn them off?
      instructions:
      - text: Delete conversation {conversation}.
        slots:
          conversation: path.Sid
      - text: Remove conversation {conversation} without triggering webhooks, setting the webhook header to {webhook_enabled}.
        slots:
          conversation: path.Sid
          webhook_enabled: header.X-Twilio-Webhook-Enabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages'].get
  update:
    x-apievangelist-phrasing:
      intent: List messages in a conversation
      effect: read
      questions:
      - Can I read a conversation's message history newest first?
      - What messages have been posted in a given conversation?
      instructions:
      - text: List the messages in conversation {conversation}.
        slots:
          conversation: path.ConversationSid
      - text: List messages in conversation {conversation} in {order} order.
        slots:
          conversation: path.ConversationSid
          order: query.Order
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages'].post
  update:
    x-apievangelist-phrasing:
      intent: Post a message to a conversation
      effect: write
      questions:
      - How do I send a message into a conversation on behalf of a participant?
      - Can I attach media or a rich content template to a conversation message?
      - What's the maximum length of a conversation message body?
      instructions:
      - text: Post {body} to conversation {conversation}.
        slots:
          body: requestBody.Body
          conversation: path.ConversationSid
      - text: Send {body} to conversation {conversation} as author {author}.
        slots:
          body: requestBody.Body
          conversation: path.ConversationSid
          author: requestBody.Author
      - text: Send content template {content_sid} into conversation {conversation}.
        slots:
          content_sid: requestBody.ContentSid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch one message from a conversation
      effect: read
      questions:
      - Can I pull up a single message by its SID inside a conversation?
      - Who authored a particular conversation message and when?
      instructions:
      - text: Fetch message {message_sid} from conversation {conversation}.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
      - text: Show the author and body of message {message_sid} in conversation {conversation}.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Edit a message already in a conversation
      effect: write
      questions:
      - Can I edit the text of a message after it was posted to a conversation?
      - Is changing the subject of an existing conversation message supported?
      instructions:
      - text: Change the body of message {message_sid} in conversation {conversation} to {body}.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
          body: requestBody.Body
      - text: Update the attributes on existing message {message_sid} in conversation {conversation} to {attributes}.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
          attributes: requestBody.Attributes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a message from a conversation
      effect: destructive
      questions:
      - Can I remove a single message someone posted in a conversation?
      - Is there a way to take back a message sent into a conversation thread?
      instructions:
      - text: Delete message {message_sid} from conversation {conversation}.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
      - text: Remove message {message_sid} in conversation {conversation} from the thread.
        slots:
          message_sid: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch one delivery receipt for a message
      effect: read
      questions:
      - Can I look up a single delivery or read receipt by its SID?
      - What does one receipt on a conversation message tell me?
      instructions:
      - text: Fetch receipt {receipt_sid} for message {message_sid} in conversation {conversation}.
        slots:
          receipt_sid: path.Sid
          message_sid: path.MessageSid
          conversation: path.ConversationSid
      - text: Show delivery receipt {receipt_sid} on message {message_sid} of conversation {conversation}.
        slots:
          receipt_sid: path.Sid
          message_sid: path.MessageSid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Messages/{MessageSid}/Receipts'].get
  update:
    x-apievangelist-phrasing:
      intent: List delivery and read receipts for a message
      effect: read
      questions:
      - Was my conversation message delivered and read by everyone?
      - Which delivery and read receipts exist for a given message?
      instructions:
      - text: List all receipts for message {message_sid} in conversation {conversation}.
        slots:
          message_sid: path.MessageSid
          conversation: path.ConversationSid
      - text: Check who has read message {message_sid} in conversation {conversation}.
        slots:
          message_sid: path.MessageSid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Participants'].get
  update:
    x-apievangelist-phrasing:
      intent: List participants in a conversation
      effect: read
      questions:
      - Who is taking part in a given conversation?
      - Can I see every participant and their bindings for a conversation?
      instructions:
      - text: List the participants in conversation {conversation}.
        slots:
          conversation: path.ConversationSid
      - text: Show everyone who belongs to conversation {conversation}.
        slots:
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Participants'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a participant to a conversation
      effect: write
      questions:
      - How do I add an SMS or WhatsApp user to a conversation?
      - Can I add a chat user to a conversation by identity and give them a role?
      instructions:
      - text: Add chat user {identity} to conversation {conversation}.
        slots:
          identity: requestBody.Identity
          conversation: path.ConversationSid
      - text: Add phone number {address} to conversation {conversation} via our number {proxy_address}.
        slots:
          address: requestBody.MessagingBinding.Address
          conversation: path.ConversationSid
          proxy_address: requestBody.MessagingBinding.ProxyAddress
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Participants/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch one participant in a conversation
      effect: read
      questions:
      - Can I look up a conversation participant by their phone number instead of a SID?
      - What role and last-read position does a particular participant have?
      instructions:
      - text: Fetch participant {participant} in conversation {conversation}.
        slots:
          participant: path.Sid
          conversation: path.ConversationSid
      - text: Show the details of participant {participant} in conversation {conversation}.
        slots:
          participant: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Participants/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a participant in a conversation
      effect: write
      questions:
      - Can I change a participant's role in a conversation they already belong to?
      - Is it possible to mark which message a participant last read?
      instructions:
      - text: Give participant {participant} in conversation {conversation} role {role_sid}.
        slots:
          participant: path.Sid
          conversation: path.ConversationSid
          role_sid: requestBody.RoleSid
      - text: Mark message index {index} as last read for participant {participant} in conversation {conversation}.
        slots:
          index: requestBody.LastReadMessageIndex
          participant: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Participants/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a participant from a conversation
      effect: destructive
      questions:
      - Can I take someone out of a conversation thread?
      - What happens when a participant is removed from a conversation?
      instructions:
      - text: Remove participant {participant} from conversation {conversation}.
        slots:
          participant: path.Sid
          conversation: path.ConversationSid
      - text: Kick participant {participant} out of conversation {conversation}.
        slots:
          participant: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List webhooks on a conversation
      effect: read
      questions:
      - Which webhooks are attached to one specific conversation?
      - Can I see the conversation-scoped webhooks without the service-wide ones?
      instructions:
      - text: List the webhooks scoped to conversation {conversation}.
        slots:
          conversation: path.ConversationSid
      - text: Show all webhook targets set up on conversation {conversation}.
        slots:
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a webhook to one conversation
      effect: write
      questions:
      - How do I get a callback for events happening in one conversation only?
      - Can a conversation webhook fire on certain keywords or route into a Studio flow?
      instructions:
      - text: Add a {target} webhook to conversation {conversation} that posts to {url}.
        slots:
          target: requestBody.Target
          conversation: path.ConversationSid
          url: requestBody.Configuration.Url
      - text: Send conversation {conversation} into Studio flow {flow_sid} with a {target} webhook.
        slots:
          conversation: path.ConversationSid
          flow_sid: requestBody.Configuration.FlowSid
          target: requestBody.Target
      - text: Create a {target} webhook on conversation {conversation} triggered by keywords {triggers}.
        slots:
          target: requestBody.Target
          conversation: path.ConversationSid
          triggers: requestBody.Configuration.Triggers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Webhooks/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch a conversation webhook's configuration
      effect: read
      questions:
      - Where does a particular conversation webhook send its events?
      - Can I check which event filters a conversation webhook uses?
      instructions:
      - text: Fetch webhook {webhook_sid} on conversation {conversation}.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
      - text: Show the URL and filters of webhook {webhook_sid} in conversation {conversation}.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Webhooks/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a conversation webhook
      effect: write
      questions:
      - Can I point an existing conversation webhook at a new URL?
      - Is it possible to change which events an existing conversation webhook listens for?
      instructions:
      - text: Point webhook {webhook_sid} on conversation {conversation} at {url}.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
          url: requestBody.Configuration.Url
      - text: Change existing webhook {webhook_sid} on conversation {conversation} to fire on {filters}.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
          filters: requestBody.Configuration.Filters
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Conversations/{ConversationSid}/Webhooks/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a webhook from a conversation
      effect: destructive
      questions:
      - Can I stop a conversation from sending events to a webhook?
      - What removes a webhook I scoped to one conversation?
      instructions:
      - text: Delete webhook {webhook_sid} from conversation {conversation}.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
      - text: Stop webhook {webhook_sid} on conversation {conversation} by removing it.
        slots:
          webhook_sid: path.Sid
          conversation: path.ConversationSid
      method: generated
      generated: '2026-09-26'