# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Twilio - Video Composition Hooks API version: 1.0.0 extends: openapi/twilio-composition-hooks-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: 5 - target: $.paths['/v1/CompositionHooks/{Sid}'].get update: x-apievangelist-phrasing: intent: Look up one composition hook effect: read questions: - Can I check how a single composition hook is configured? - Is a particular auto-composition hook currently enabled? instructions: - text: Fetch v1 composition hook {sid}. slots: sid: path.Sid - text: Show the layout and format settings of hook {sid}. slots: sid: path.Sid method: generated generated: '2026-09-26' - target: $.paths['/v1/CompositionHooks/{Sid}'].post update: x-apievangelist-phrasing: intent: Update a composition hook's settings effect: write questions: - Can I pause a composition hook so completed Group Rooms stop being composed? - Can I change which audio sources an existing hook mixes in? - Can I stop clipping silent intervals from hook-generated compositions? instructions: - text: Disable v1 composition hook {sid} named {friendly_name} by setting enabled to {enabled}. slots: sid: path.Sid friendly_name: requestBody.FriendlyName enabled: requestBody.Enabled - text: Change the audio sources on hook {sid} ({friendly_name}) to {audio_sources}. slots: sid: path.Sid friendly_name: requestBody.FriendlyName audio_sources: requestBody.AudioSources - text: Set trim to {trim} on composition hook {sid} called {friendly_name}. slots: trim: requestBody.Trim sid: path.Sid friendly_name: requestBody.FriendlyName method: generated generated: '2026-09-26' - target: $.paths['/v1/CompositionHooks/{Sid}'].delete update: x-apievangelist-phrasing: intent: Delete a composition hook effect: destructive questions: - Can I permanently remove a composition hook I don't need anymore? - How do I stop auto-compositions for good by deleting the hook? instructions: - text: Delete v1 composition hook {sid}. slots: sid: path.Sid - text: Permanently remove auto-composition hook {sid}. slots: sid: path.Sid method: generated generated: '2026-09-26' - target: $.paths['/v1/CompositionHooks'].get update: x-apievangelist-phrasing: intent: List composition hooks with filters effect: read questions: - Which composition hooks are active on my account right now? - Can I search my hooks by friendly name or creation date? instructions: - text: List my v1 composition hooks where enabled is {enabled}. slots: enabled: query.Enabled - text: Find composition hooks named {friendly_name}. slots: friendly_name: query.FriendlyName - text: Show hooks created between {after} and {before}. slots: after: query.DateCreatedAfter before: query.DateCreatedBefore method: generated generated: '2026-09-26' - target: $.paths['/v1/CompositionHooks'].post update: x-apievangelist-phrasing: intent: Auto-compose recordings when rooms end effect: write questions: - Can every completed video room be turned into a composition automatically? - Can I choose the resolution and file format of automatically generated compositions? instructions: - text: Create a v1 composition hook named {friendly_name}. slots: friendly_name: requestBody.FriendlyName - text: Set up hook {friendly_name} with layout {video_layout} and audio from {audio_sources}. slots: friendly_name: requestBody.FriendlyName video_layout: requestBody.VideoLayout audio_sources: requestBody.AudioSources - text: Auto-compose rooms as {format} via new hook {friendly_name}, calling {status_callback} on status changes. slots: format: requestBody.Format friendly_name: requestBody.FriendlyName status_callback: requestBody.StatusCallback method: generated generated: '2026-09-26'