Twilio · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Twilio Trunks API
27 actions
27 updates
phrasing
extends
openapi/twilio-trunks-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.
What the actions change
x-apievangelist-phrasing
Targets 27 · first 16 shown; the file carries all of them
$.info
$.paths['/v2/Trunks/{SipTrunkDomain}'].get
$.paths['/v2/Trunks/{SipTrunkDomain}'].post
$.paths['/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}'].get
$.paths['/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}'].delete
$.paths['/v1/Trunks/{TrunkSid}/CredentialLists'].get
$.paths['/v1/Trunks/{TrunkSid}/CredentialLists'].post
$.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}'].get
$.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}'].delete
$.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists'].get
$.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists'].post
$.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].get
$.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].post
$.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].delete
$.paths['/v1/Trunks/{TrunkSid}/OriginationUrls'].get
$.paths['/v1/Trunks/{TrunkSid}/OriginationUrls'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Twilio Trunks API
version: 1.0.0
extends: openapi/twilio-trunks-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: 26
- target: $.paths['/v2/Trunks/{SipTrunkDomain}'].get
update:
x-apievangelist-phrasing:
intent: See which inbound processing region a SIP trunk uses
effect: read
questions:
- Which inbound processing region is my SIP trunk domain assigned to?
- Can I check where voice traffic for a trunk domain URL gets processed?
instructions:
- text: Show the inbound processing region for SIP trunk domain {trunk_domain}.
slots:
trunk_domain: path.SipTrunkDomain
- text: Look up the voice region currently assigned to trunk domain {trunk_domain}.
slots:
trunk_domain: path.SipTrunkDomain
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/Trunks/{SipTrunkDomain}'].post
update:
x-apievangelist-phrasing:
intent: Assign an inbound processing region to a SIP trunk
effect: write
questions:
- How do I move a SIP trunk domain's inbound voice processing to a different region?
- Is it possible to pin inbound calls on a trunk domain URL to one processing region?
instructions:
- text: Assign inbound processing region {voice_region} to SIP trunk domain {trunk_domain}.
slots:
voice_region: requestBody.VoiceRegion
trunk_domain: path.SipTrunkDomain
- text: Set the voice region of trunk domain {trunk_domain} to {voice_region} and label it {name}.
slots:
trunk_domain: path.SipTrunkDomain
voice_region: requestBody.VoiceRegion
name: requestBody.FriendlyName
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Get one credential list attached to a trunk
effect: read
questions:
- Can I see the details of a specific credential list attached to my SIP trunk?
- Is a given credential list actually associated with this trunk?
instructions:
- text: Get credential list {credential_list} on trunk {trunk}.
slots:
credential_list: path.Sid
trunk: path.TrunkSid
- text: Show the association between trunk {trunk} and credential list {credential_list}.
slots:
trunk: path.TrunkSid
credential_list: path.Sid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/CredentialLists/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Detach a credential list from a trunk
effect: destructive
questions:
- How do I stop a credential list from authenticating calls on my SIP trunk?
- Can I remove a username/password credential list from a trunk without deleting the list itself?
instructions:
- text: Remove credential list {credential_list} from trunk {trunk}.
slots:
credential_list: path.Sid
trunk: path.TrunkSid
- text: Detach credential list {credential_list} so trunk {trunk} no longer uses it for authentication.
slots:
credential_list: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/CredentialLists'].get
update:
x-apievangelist-phrasing:
intent: List the credential lists on a trunk
effect: read
questions:
- Which credential lists are protecting my SIP trunk right now?
- What username/password lists does a trunk accept for authentication?
instructions:
- text: List every credential list attached to trunk {trunk}.
slots:
trunk: path.TrunkSid
- text: Show the credential lists on trunk {trunk}, {page_size} per page.
slots:
trunk: path.TrunkSid
page_size: query.PageSize
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/CredentialLists'].post
update:
x-apievangelist-phrasing:
intent: Attach a credential list to a trunk
effect: write
questions:
- How do I require SIP credentials for calls coming into my trunk?
- Can I reuse an existing credential list to authenticate a new trunk?
instructions:
- text: Attach credential list {credential_list} to trunk {trunk}.
slots:
credential_list: requestBody.CredentialListSid
trunk: path.TrunkSid
- text: Protect trunk {trunk} with the usernames and passwords in credential list {credential_list}.
slots:
trunk: path.TrunkSid
credential_list: requestBody.CredentialListSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Get one IP access control list on a trunk
effect: read
questions:
- Can I look up a single IP access control list associated with my trunk?
- Is a particular IP allowlist attached to this SIP trunk?
instructions:
- text: Get IP access control list {ip_acl} on trunk {trunk}.
slots:
ip_acl: path.Sid
trunk: path.TrunkSid
- text: Show the details of IP allowlist {ip_acl} as associated with trunk {trunk}.
slots:
ip_acl: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an IP access control list from a trunk
effect: destructive
questions:
- How do I stop an IP allowlist from applying to my SIP trunk?
- Can I disassociate an IP access control list from one trunk only?
instructions:
- text: Remove IP access control list {ip_acl} from trunk {trunk}.
slots:
ip_acl: path.Sid
trunk: path.TrunkSid
- text: Disassociate IP allowlist {ip_acl} from trunk {trunk}.
slots:
ip_acl: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists'].get
update:
x-apievangelist-phrasing:
intent: List the IP access control lists on a trunk
effect: read
questions:
- Which IP addresses are allowed to send traffic to my SIP trunk?
- What IP access control lists are associated with a trunk?
instructions:
- text: List all IP access control lists for trunk {trunk}.
slots:
trunk: path.TrunkSid
- text: Show the IP allowlists on trunk {trunk}, {page_size} at a time.
slots:
trunk: path.TrunkSid
page_size: query.PageSize
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/IpAccessControlLists'].post
update:
x-apievangelist-phrasing:
intent: Associate an IP access control list with a trunk
effect: write
questions:
- How do I restrict my SIP trunk to traffic from known IP addresses?
- Can I apply an existing IP allowlist to a trunk?
instructions:
- text: Associate IP access control list {ip_acl} with trunk {trunk}.
slots:
ip_acl: requestBody.IpAccessControlListSid
trunk: path.TrunkSid
- text: Only accept SIP traffic on trunk {trunk} from the addresses in IP allowlist {ip_acl}.
slots:
trunk: path.TrunkSid
ip_acl: requestBody.IpAccessControlListSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Get one origination URL on a trunk
effect: read
questions:
- What SIP address, priority and weight does a given origination URL on my trunk have?
- Can I check whether a specific origination URL is enabled?
instructions:
- text: Get origination URL {origination_url} on trunk {trunk}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
- text: Show the SIP URL, priority and weight for origination entry {origination_url} of trunk {trunk}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].post
update:
x-apievangelist-phrasing:
intent: Change an origination URL on a trunk
effect: write
questions:
- How do I change the priority or weight of an existing origination URL?
- Can I temporarily disable one origination URL without deleting it?
- Is it possible to point an existing origination entry at a new SIP URL?
instructions:
- text: Set the priority of origination URL {origination_url} on trunk {trunk} to {priority}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
priority: requestBody.Priority
- text: Disable origination URL {origination_url} on trunk {trunk} by setting enabled to {enabled}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
enabled: requestBody.Enabled
- text: Point existing origination URL {origination_url} of trunk {trunk} at {sip_url}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
sip_url: requestBody.SipUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an origination URL from a trunk
effect: destructive
questions:
- How do I stop sending calls from my trunk to an old SIP endpoint?
- Can I permanently delete one origination URL from a trunk?
instructions:
- text: Delete origination URL {origination_url} from trunk {trunk}.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
- text: Remove the origination entry {origination_url} so trunk {trunk} stops routing calls to it.
slots:
origination_url: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/OriginationUrls'].get
update:
x-apievangelist-phrasing:
intent: List the origination URLs on a trunk
effect: read
questions:
- Where does my SIP trunk send outbound-to-PBX calls?
- Which origination URLs are configured on a trunk and in what priority order?
instructions:
- text: List the origination URLs on trunk {trunk}.
slots:
trunk: path.TrunkSid
- text: Show every SIP endpoint trunk {trunk} routes calls to, {page_size} per page.
slots:
trunk: path.TrunkSid
page_size: query.PageSize
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/OriginationUrls'].post
update:
x-apievangelist-phrasing:
intent: Add an origination URL to a trunk
effect: write
questions:
- How do I tell my trunk where to deliver calls to my SIP infrastructure?
- Can I add a backup SIP endpoint with a lower priority to a trunk?
instructions:
- text: Add origination URL {sip_url} named {name} to trunk {trunk} with priority {priority}, weight {weight}, enabled {enabled}.
slots:
sip_url: requestBody.SipUrl
name: requestBody.FriendlyName
trunk: path.TrunkSid
priority: requestBody.Priority
weight: requestBody.Weight
enabled: requestBody.Enabled
- text: Create a new origination entry on trunk {trunk} that sends calls to {sip_url}.
slots:
trunk: path.TrunkSid
sip_url: requestBody.SipUrl
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Get one phone number associated with a trunk
effect: read
questions:
- Can I confirm a specific phone number is routed through my SIP trunk?
- What are the details of a number attached to a trunk?
instructions:
- text: Get phone number {phone_number} on trunk {trunk}.
slots:
phone_number: path.Sid
trunk: path.TrunkSid
- text: Show how number {phone_number} is associated with trunk {trunk}.
slots:
phone_number: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a phone number from a trunk
effect: destructive
questions:
- How do I take a phone number off my SIP trunk?
- Can I disassociate a number from a trunk so it stops routing there?
instructions:
- text: Remove phone number {phone_number} from trunk {trunk}.
slots:
phone_number: path.Sid
trunk: path.TrunkSid
- text: Stop routing number {phone_number} through trunk {trunk}.
slots:
phone_number: path.Sid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/PhoneNumbers'].get
update:
x-apievangelist-phrasing:
intent: List the phone numbers on a trunk
effect: read
questions:
- Which phone numbers are routed through my SIP trunk?
- What numbers are currently attached to a trunk?
instructions:
- text: List the phone numbers on trunk {trunk}.
slots:
trunk: path.TrunkSid
- text: Show all numbers associated with trunk {trunk}, {page_size} per page.
slots:
trunk: path.TrunkSid
page_size: query.PageSize
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/PhoneNumbers'].post
update:
x-apievangelist-phrasing:
intent: Associate a phone number with a trunk
effect: write
questions:
- How do I route calls for one of my phone numbers through a SIP trunk?
- Can I move a number I own onto a trunk?
instructions:
- text: Associate phone number {phone_number_sid} with trunk {trunk}.
slots:
phone_number_sid: requestBody.PhoneNumberSid
trunk: path.TrunkSid
- text: Route incoming calls for number {phone_number_sid} through trunk {trunk}.
slots:
phone_number_sid: requestBody.PhoneNumberSid
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/Recording'].get
update:
x-apievangelist-phrasing:
intent: See a trunk's call recording settings
effect: read
questions:
- Is call recording turned on for my SIP trunk?
- What recording mode and trim setting does a trunk use?
instructions:
- text: Show the recording settings for trunk {trunk}.
slots:
trunk: path.TrunkSid
- text: Check whether calls on trunk {trunk} are being recorded.
slots:
trunk: path.TrunkSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{TrunkSid}/Recording'].post
update:
x-apievangelist-phrasing:
intent: Change a trunk's call recording settings
effect: write
questions:
- How do I turn on call recording for everything going through a trunk?
- Can I have trunk recordings trimmed of silence?
instructions:
- text: Set the recording mode of trunk {trunk} to {mode}.
slots:
trunk: path.TrunkSid
mode: requestBody.Mode
- text: Change the recording trim setting on trunk {trunk} to {trim}.
slots:
trunk: path.TrunkSid
trim: requestBody.Trim
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Get a SIP trunk's configuration
effect: read
questions:
- What domain name, disaster recovery URL and security settings does my SIP trunk have?
- Is secure trunking or CNAM lookup enabled on a given trunk?
instructions:
- text: Get SIP trunk {trunk}.
slots:
trunk: path.Sid
- text: Show the full configuration of trunk {trunk}.
slots:
trunk: path.Sid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{Sid}'].post
update:
x-apievangelist-phrasing:
intent: Update a SIP trunk's settings
effect: write
questions:
- How do I turn on Secure Trunking (TLS and SRTP) for an existing trunk?
- Can I change the disaster recovery URL on a trunk I already set up?
- Is it possible to enable caller name (CNAM) lookup on an existing trunk?
instructions:
- text: Enable secure trunking on trunk {trunk} by setting secure to {secure}.
slots:
trunk: path.Sid
secure: requestBody.Secure
- text: Change the disaster recovery URL of existing trunk {trunk} to {recovery_url}.
slots:
trunk: path.Sid
recovery_url: requestBody.DisasterRecoveryUrl
- text: Rename trunk {trunk} to {name} and set its domain to {domain}.
slots:
trunk: path.Sid
name: requestBody.FriendlyName
domain: requestBody.DomainName
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a SIP trunk
effect: destructive
questions:
- How do I permanently get rid of a SIP trunk I no longer use?
- Can I delete a whole trunk rather than just its phone numbers?
instructions:
- text: Delete SIP trunk {trunk}.
slots:
trunk: path.Sid
- text: Tear down trunk {trunk} entirely.
slots:
trunk: path.Sid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks'].get
update:
x-apievangelist-phrasing:
intent: List my SIP trunks
effect: read
questions:
- Which SIP trunks exist on my account?
- What Elastic SIP Trunks have I created so far?
instructions:
- text: List all my SIP trunks.
- text: Show my trunks, {page_size} per page.
slots:
page_size: query.PageSize
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Trunks'].post
update:
x-apievangelist-phrasing:
intent: Create a new SIP trunk
effect: write
questions:
- How do I set up a new Elastic SIP Trunk?
- Can I reserve a termination domain name when I create a trunk?
instructions:
- text: Create a new SIP trunk called {name}.
slots:
name: requestBody.FriendlyName
- text: Create a trunk named {name} with termination domain {domain} and disaster recovery URL {recovery_url}.
slots:
name: requestBody.FriendlyName
domain: requestBody.DomainName
recovery_url: requestBody.DisasterRecoveryUrl
method: generated
generated: '2026-09-26'