Twilio · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Twilio Recordings API
14 actions
14 updates
phrasing
extends
openapi/twilio-recordings-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 14
$.info
$.paths['/Rooms/{RoomSid}/Recordings'].get
$.paths['/Recordings/{RecordingSid}'].get
$.paths['/Recordings/{RecordingSid}'].delete
$.paths['/RecordingSettings/Default'].get
$.paths['/RecordingSettings/Default'].post
$.paths['/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json'].get
$.paths['/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json'].post
$.paths['/Accounts/{AccountSid}/Recordings.json'].get
$.paths['/Accounts/{AccountSid}/Recordings/{RecordingSid}.json'].get
$.paths['/Accounts/{AccountSid}/Recordings/{RecordingSid}.json'].delete
$.paths['/v1/Recordings/{Sid}'].get
$.paths['/v1/Recordings/{Sid}'].delete
$.paths['/v1/Recordings'].get
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 Recordings API
version: 1.0.0
extends: openapi/twilio-recordings-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: 13
- target: $.paths['/Rooms/{RoomSid}/Recordings'].get
update:
x-apievangelist-phrasing:
intent: List the recordings made in a video room
effect: read
questions:
- Which recordings were captured in a particular video room?
- Can I filter a room's recordings by their status?
instructions:
- text: List the recordings from video room {room_sid}.
slots:
room_sid: path.RoomSid
- text: Show recordings in room {room_sid} with status {status}.
slots:
room_sid: path.RoomSid
status: query.Status
method: generated
generated: '2026-09-26'
- target: $.paths['/Recordings/{RecordingSid}'].get
update:
x-apievangelist-phrasing:
intent: Look up a video recording via the legacy path
effect: read
questions:
- Is there an unversioned endpoint that fetches a video recording without an account SID?
- Can I still read a video recording from the older /Recordings path?
instructions:
- text: Fetch video recording {recording_sid} from the legacy unversioned endpoint.
slots:
recording_sid: path.RecordingSid
- text: Use the older /Recordings path to show recording {recording_sid}.
slots:
recording_sid: path.RecordingSid
method: generated
generated: '2026-09-26'
- target: $.paths['/Recordings/{RecordingSid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a video recording via the legacy path
effect: destructive
questions:
- Can I delete a video recording through the unversioned endpoint without an account SID?
- Does the older /Recordings path still support deleting a recording?
instructions:
- text: Delete video recording {recording_sid} through the legacy unversioned endpoint.
slots:
recording_sid: path.RecordingSid
- text: Use the older /Recordings path to remove recording {recording_sid}.
slots:
recording_sid: path.RecordingSid
method: generated
generated: '2026-09-26'
- target: $.paths['/RecordingSettings/Default'].get
update:
x-apievangelist-phrasing:
intent: View my default recording storage settings
effect: read
questions:
- Are my video recordings being stored in my own S3 bucket?
- Is encryption turned on for recordings by default on my account?
instructions:
- text: Show my default recording settings.
- text: Check whether external AWS storage and encryption are enabled for recordings.
method: generated
generated: '2026-09-26'
- target: $.paths['/RecordingSettings/Default'].post
update:
x-apievangelist-phrasing:
intent: Configure where and how recordings are stored
effect: write
questions:
- Can I send recordings straight to my own S3 bucket instead of keeping them hosted?
- Can I turn on encryption for recordings with my own key?
instructions:
- text: Store recordings in {aws_s3_url} using AWS credential {aws_credentials_sid}, labelled {friendly_name}.
slots:
aws_s3_url: requestBody.AwsS3Url
aws_credentials_sid: requestBody.AwsCredentialsSid
friendly_name: requestBody.FriendlyName
- text: Enable recording encryption with key {encryption_key_sid} on settings {friendly_name}.
slots:
encryption_key_sid: requestBody.EncryptionKeySid
friendly_name: requestBody.FriendlyName
method: generated
generated: '2026-09-26'
- target: $.paths['/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json'].get
update:
x-apievangelist-phrasing:
intent: List the recordings of one call
effect: read
questions:
- Which recordings were made during a specific phone call?
- Can I pull every recording tied to one call SID?
instructions:
- text: List the recordings for call {call_sid} on account {account_sid}.
slots:
call_sid: path.CallSid
account_sid: path.AccountSid
- text: Show every recording made during call {call_sid} in account {account_sid}.
slots:
call_sid: path.CallSid
account_sid: path.AccountSid
method: generated
generated: '2026-09-26'
- target: $.paths['/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.json'].post
update:
x-apievangelist-phrasing:
intent: Start recording a call in progress
effect: write
questions:
- Can I start recording a phone call that is already underway?
- Can I get a callback when a live call's recording finishes?
- Can I record both sides of a live call on separate channels?
instructions:
- text: Start recording live call {call_sid} on account {account_sid}.
slots:
call_sid: path.CallSid
account_sid: path.AccountSid
- text: Record in-progress call {call_sid} for account {account_sid} and notify {callback_url} when done.
slots:
call_sid: path.CallSid
account_sid: path.AccountSid
callback_url: requestBody.RecordingStatusCallback
- text: Record call {call_sid} on account {account_sid} in {channels} channels.
slots:
call_sid: path.CallSid
account_sid: path.AccountSid
channels: requestBody.RecordingChannels
method: generated
generated: '2026-09-26'
- target: $.paths['/Accounts/{AccountSid}/Recordings.json'].get
update:
x-apievangelist-phrasing:
intent: List all call recordings on an account
effect: read
questions:
- What call recordings does my account hold overall?
- Can I narrow my account's recordings to a single creation date?
instructions:
- text: List all voice recordings on account {account_sid}.
slots:
account_sid: path.AccountSid
- text: Show account {account_sid} recordings created on {date_created}.
slots:
account_sid: path.AccountSid
date_created: query.DateCreated
method: generated
generated: '2026-09-26'
- target: $.paths['/Accounts/{AccountSid}/Recordings/{RecordingSid}.json'].get
update:
x-apievangelist-phrasing:
intent: Look up a call recording on an account
effect: read
questions:
- Can I get the details of one voice call recording on my account?
- Where do I look up a call recording when I have its account and recording SIDs?
instructions:
- text: Fetch call recording {recording_sid} on account {account_sid}.
slots:
recording_sid: path.RecordingSid
account_sid: path.AccountSid
- text: Show the voice recording {recording_sid} under account {account_sid}.
slots:
recording_sid: path.RecordingSid
account_sid: path.AccountSid
method: generated
generated: '2026-09-26'
- target: $.paths['/Accounts/{AccountSid}/Recordings/{RecordingSid}.json'].delete
update:
x-apievangelist-phrasing:
intent: Delete a call recording from an account
effect: destructive
questions:
- Can I delete a voice call recording I no longer want to keep?
- How do I remove a sensitive call recording from my account's storage?
instructions:
- text: Delete call recording {recording_sid} on account {account_sid}.
slots:
recording_sid: path.RecordingSid
account_sid: path.AccountSid
- text: Remove voice recording {recording_sid} from account {account_sid}.
slots:
recording_sid: path.RecordingSid
account_sid: path.AccountSid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Recordings/{Sid}'].get
update:
x-apievangelist-phrasing:
intent: Look up a video track recording
effect: read
questions:
- Can I get the details of a single video room track recording?
- Is a given video track recording still processing or completed?
instructions:
- text: Fetch video track recording {sid}.
slots:
sid: path.Sid
- text: Show the status of track recording {sid} from the v1 video API.
slots:
sid: path.Sid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Recordings/{Sid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a video track recording
effect: destructive
questions:
- Can I delete a video track recording once I've downloaded it?
- What's the way to remove a single audio or video track recording from a room?
instructions:
- text: Delete video track recording {sid}.
slots:
sid: path.Sid
- text: Remove track recording {sid} via the v1 video API.
slots:
sid: path.Sid
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/Recordings'].get
update:
x-apievangelist-phrasing:
intent: List video track recordings with filters
effect: read
questions:
- Can I list only the audio track recordings from my video rooms?
- Which track recordings are still processing?
- Can I find every track recording for one participant or room?
instructions:
- text: List my video track recordings with status {status}.
slots:
status: query.Status
- text: Show {media_type} track recordings grouped under {grouping_sid}.
slots:
media_type: query.MediaType
grouping_sid: query.GroupingSid
- text: Find track recordings created after {after} and before {before}.
slots:
after: query.DateCreatedAfter
before: query.DateCreatedBefore
method: generated
generated: '2026-09-26'