# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Dolby Channels API version: 1.0.0 extends: openapi/dolby-channels-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 71 - target: $.paths['/api/v1/channels'].get update: x-apievangelist-phrasing: intent: List OptiView Ads channels effect: read questions: - Which ad-break channels do I have configured in OptiView Ads? - Can I sort my ads channels so the oldest ones come first? - Is there an RSQL filter I can apply when listing ads channels? instructions: - text: List all my OptiView Ads channels. - text: List ads channels matching the filter {filter}. slots: filter: query.filter - text: Show page {page} of my ads channels, sorted by {sort}. slots: page: query.page sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels'].post update: x-apievangelist-phrasing: intent: Create an OptiView Ads channel effect: write questions: - How do I set up a channel for scheduling ad breaks in OptiView Ads? - Can I choose wallclock or PTS timing when I create an ads channel? - What DVR window and ad prefetch settings can a new ads channel start with? instructions: - text: Create an ads channel named {name} using the {timebase} timebase. slots: name: requestBody.name timebase: requestBody.timebase - text: Set up a new ad-break channel with a {timebase} timebase and a DVR window of {dvrWindowMs} ms. slots: timebase: requestBody.timebase dvrWindowMs: requestBody.dvrWindowMs method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}'].get update: x-apievangelist-phrasing: intent: Get one OptiView Ads channel effect: read questions: - What timebase and polling intervals does one of my ads channels use? - Can I look up a single ad-break channel's delivery steering rules? instructions: - text: Show the ads channel {channelId}. slots: channelId: path.channelId - text: Get the break-scheduling settings of ads channel {channelId}. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}'].delete update: x-apievangelist-phrasing: intent: Delete an OptiView Ads channel effect: destructive questions: - How do I remove an ad-break channel I no longer use? - Can I delete an OptiView Ads channel by its identifier? instructions: - text: Delete the ads channel {channelId}. slots: channelId: path.channelId - text: Remove ad-break channel {channelId} permanently. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}'].patch update: x-apievangelist-phrasing: intent: Update an OptiView Ads channel effect: write questions: - Can I change how far ahead breaks are prefetched on an existing ads channel? - How do I adjust the player polling intervals for an ad-break channel? instructions: - text: Set the ad prefetch window of ads channel {channelId} to {adPrefetchMs} ms. slots: channelId: path.channelId adPrefetchMs: requestBody.adPrefetchMs - text: Change the live offset of ads channel {channelId} to {liveOffsetMs} ms. slots: channelId: path.channelId liveOffsetMs: requestBody.liveOffsetMs - text: Rename ad-break channel {channelId} to {name}. slots: channelId: path.channelId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/detection/enable'].post update: x-apievangelist-phrasing: intent: Turn on automatic ad-break detection effect: write questions: - How do I start automatic ad-break detection on a channel? - Can OptiView Ads detect breaks from stream markers on its own? instructions: - text: Enable automatic break detection on ads channel {channelId}. slots: channelId: path.channelId - text: Start the detection scheduler for channel {channelId}. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/detection/disable'].post update: x-apievangelist-phrasing: intent: Turn off automatic ad-break detection effect: write questions: - How do I stop a channel from detecting ad breaks automatically? - Can I pause marker-based break detection on one channel? instructions: - text: Disable automatic break detection on ads channel {channelId}. slots: channelId: path.channelId - text: Stop the detection scheduler for channel {channelId}. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks'].get update: x-apievangelist-phrasing: intent: List ad breaks on a channel effect: read questions: - What ad breaks are scheduled on my channel? - Can I filter a channel's breaks by status, such as only READY ones? instructions: - text: List the ad breaks on channel {channelId}. slots: channelId: path.channelId - text: Show breaks on channel {channelId} matching {filter}. slots: channelId: path.channelId filter: query.filter method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks'].post update: x-apievangelist-phrasing: intent: Create an ad break on a channel effect: write questions: - How do I insert a new ad break into a channel? - Can I base a new ad break on an existing template? instructions: - text: Create an ad break on channel {channelId}. slots: channelId: path.channelId - text: Add a new break to channel {channelId} from a break template. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks'].delete update: x-apievangelist-phrasing: intent: Bulk delete ad breaks effect: destructive questions: - Can I delete several ad breaks from a channel in one request? - How do I clear out a batch of breaks by their IDs? instructions: - text: Delete breaks {ids} from channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId - text: Bulk remove the ad breaks {ids} on channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks/{breakId}'].get update: x-apievangelist-phrasing: intent: Get one ad break effect: read questions: - What are the details and status of a specific ad break? - Can I check whether one break on a channel is still CUED? instructions: - text: Show break {breakId} on channel {channelId}. slots: breakId: path.breakId channelId: path.channelId - text: Get the status of ad break {breakId} in channel {channelId}. slots: breakId: path.breakId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks/{breakId}'].delete update: x-apievangelist-phrasing: intent: Delete a single ad break effect: destructive questions: - How do I cancel one scheduled ad break? - Can I remove just a single break from a channel? instructions: - text: Delete ad break {breakId} from channel {channelId}. slots: breakId: path.breakId channelId: path.channelId - text: Cancel the single break {breakId} on channel {channelId}. slots: breakId: path.breakId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/breaks/{breakId}/punch'].post update: x-apievangelist-phrasing: intent: Punch a cued ad break to ready effect: write questions: - How do I trigger a cued ad break so it plays now? - Can I punch a break in at a specific start time instead of immediately? - What happens if I punch a break with a start time in the past? instructions: - text: Punch break {breakId} on channel {channelId} now. slots: breakId: path.breakId channelId: path.channelId - text: Schedule cued break {breakId} on channel {channelId} to start at {start}. slots: breakId: path.breakId channelId: path.channelId start: requestBody.start method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events'].get update: x-apievangelist-phrasing: intent: List events on a channel effect: read questions: - Which events like games or shows are set up on my ads channel? - Can I sort a channel's events by start date? instructions: - text: List the events on channel {channelId}. slots: channelId: path.channelId - text: Show events on channel {channelId} sorted by {sort}. slots: channelId: path.channelId sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events'].post update: x-apievangelist-phrasing: intent: Create an event on a channel effect: write questions: - How do I define an event window that ad breaks must fall within? - Can I give an event a description along with its start and end time? instructions: - text: Create event {name} on channel {channelId} from {startDate} to {endDate}. slots: name: requestBody.name channelId: path.channelId startDate: requestBody.startDate endDate: requestBody.endDate - text: Add an event called {name} to channel {channelId} running {startDate} until {endDate}, described as {description}. slots: name: requestBody.name channelId: path.channelId startDate: requestBody.startDate endDate: requestBody.endDate description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events'].delete update: x-apievangelist-phrasing: intent: Bulk delete events on a channel effect: destructive questions: - Can I delete several channel events at once? - How do I remove a list of events by their IDs? instructions: - text: Delete events {ids} from channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId - text: Bulk remove the events {ids} on channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}'].get update: x-apievangelist-phrasing: intent: Get one event on a channel effect: read questions: - When does a particular event on my channel start and end? - Can I look up a single event's description? instructions: - text: Show event {eventId} on channel {channelId}. slots: eventId: path.eventId channelId: path.channelId - text: Get the start and end time of event {eventId} in channel {channelId}. slots: eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}'].delete update: x-apievangelist-phrasing: intent: Delete a single event effect: destructive questions: - How do I remove one event from an ads channel? - Can I delete just one event and keep the others? instructions: - text: Delete event {eventId} from channel {channelId}. slots: eventId: path.eventId channelId: path.channelId - text: Remove the single event {eventId} on channel {channelId}. slots: eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}'].patch update: x-apievangelist-phrasing: intent: Update an event's details or window effect: write questions: - Can I extend an event's end time after it has been created? - How do I rename an existing event on a channel? instructions: - text: Change the end date of event {eventId} on channel {channelId} to {endDate}. slots: eventId: path.eventId channelId: path.channelId endDate: requestBody.endDate - text: Rename event {eventId} in channel {channelId} to {name}. slots: eventId: path.eventId channelId: path.channelId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}/templates'].get update: x-apievangelist-phrasing: intent: List templates linked to an event effect: read questions: - Which break templates are associated with an event? - Can I see what templates an event can use for its breaks? instructions: - text: List the templates linked to event {eventId} on channel {channelId}. slots: eventId: path.eventId channelId: path.channelId - text: Show break templates for event {eventId} in channel {channelId}. slots: eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}/templates/{templateId}/breaks'].get update: x-apievangelist-phrasing: intent: List breaks made from a template in an event effect: read questions: - Which breaks during an event were created from one particular template? - Can I see how many times a template was used for breaks in an event? instructions: - text: List breaks created from template {templateId} during event {eventId} on channel {channelId}. slots: templateId: path.templateId eventId: path.eventId channelId: path.channelId - text: Show event {eventId} breaks on channel {channelId} that came from template {templateId}. slots: templateId: path.templateId eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}/breaks'].get update: x-apievangelist-phrasing: intent: List all breaks in an event effect: read questions: - What ad breaks belong to an event, regardless of template? - Can I page through every break associated with an event? instructions: - text: List all breaks in event {eventId} on channel {channelId}. slots: eventId: path.eventId channelId: path.channelId - text: Show page {page} of event {eventId} breaks for channel {channelId}. slots: page: query.page eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/events/{eventId}/breaks/current'].get update: x-apievangelist-phrasing: intent: Get breaks playing now in an event effect: read questions: - Which ad breaks are playing right now during an event? - Is an event-triggered break currently active for my event? instructions: - text: Show the breaks currently playing in event {eventId} on channel {channelId}. slots: eventId: path.eventId channelId: path.channelId - text: Check what is on air right now for event {eventId} in channel {channelId}. slots: eventId: path.eventId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules'].get update: x-apievangelist-phrasing: intent: List marker rules on a channel effect: read questions: - Which HLS marker rules turn stream cues into ad breaks on my channel? - Can I filter a channel's marker rules to only the enabled ones? instructions: - text: List the marker rules on channel {channelId}. slots: channelId: path.channelId - text: Show marker rules on channel {channelId} matching {filter}. slots: channelId: path.channelId filter: query.filter method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules'].post update: x-apievangelist-phrasing: intent: Create a marker rule for break detection effect: write questions: - How do I map an EXT-X-CUE or DATERANGE marker to a break template? - Can a marker rule require several attribute conditions to match? instructions: - text: Create a {type} marker rule on channel {channelId} for {streamType} that applies template {templateId} when {conditions} match. slots: type: requestBody.type channelId: path.channelId streamType: requestBody.streamType templateId: requestBody.templateId conditions: requestBody.conditions - text: Add an HLS DATERANGE rule to channel {channelId} using template {templateId}, stream type {streamType}, type {type} and conditions {conditions}. slots: channelId: path.channelId templateId: requestBody.templateId streamType: requestBody.streamType type: requestBody.type conditions: requestBody.conditions method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules'].delete update: x-apievangelist-phrasing: intent: Bulk delete marker rules effect: destructive questions: - Can I delete several marker rules from a channel at once? - How do I remove a set of break-detection rules by ID? instructions: - text: Delete marker rules {ids} from channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId - text: Bulk remove the detection rules {ids} on channel {channelId}. slots: ids: requestBody.ids channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules/{markerRuleId}'].get update: x-apievangelist-phrasing: intent: Get one marker rule effect: read questions: - What conditions does a particular marker rule match on? - Which template does a given marker rule apply? instructions: - text: Show marker rule {markerRuleId} on channel {channelId}. slots: markerRuleId: path.markerRuleId channelId: path.channelId - text: Get the conditions of detection rule {markerRuleId} in channel {channelId}. slots: markerRuleId: path.markerRuleId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules/{markerRuleId}'].delete update: x-apievangelist-phrasing: intent: Delete a single marker rule effect: destructive questions: - How do I remove one marker rule from a channel? - Can I delete a single break-detection rule and keep the rest? instructions: - text: Delete marker rule {markerRuleId} from channel {channelId}. slots: markerRuleId: path.markerRuleId channelId: path.channelId - text: Remove the single detection rule {markerRuleId} on channel {channelId}. slots: markerRuleId: path.markerRuleId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/markerRules/{markerRuleId}'].patch update: x-apievangelist-phrasing: intent: Update a marker rule effect: write questions: - Can I switch off a marker rule without deleting it? - How do I point an existing marker rule at a different template? instructions: - text: Set enabled to {enabled} on marker rule {markerRuleId} of channel {channelId}. slots: enabled: requestBody.enabled markerRuleId: path.markerRuleId channelId: path.channelId - text: Change marker rule {markerRuleId} on channel {channelId} to use template {templateId}. slots: markerRuleId: path.markerRuleId channelId: path.channelId templateId: requestBody.templateId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/detection/history'].get update: x-apievangelist-phrasing: intent: List detected ad-marker history effect: read questions: - Which ad markers has break detection found on my channel, and what did it do with them? - Can I see why some detected markers were skipped or failed? instructions: - text: Show the marker detection history for channel {channelId}. slots: channelId: path.channelId - text: List detected markers on channel {channelId} matching {filter}. slots: channelId: path.channelId filter: query.filter method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/detection/history/{markerDetectionId}'].get update: x-apievangelist-phrasing: intent: Get one marker detection record effect: read questions: - Which rule and break resulted from one specific detected marker? - Can I look up the reason a single marker detection was skipped? instructions: - text: Show detection record {markerDetectionId} on channel {channelId}. slots: markerDetectionId: path.markerDetectionId channelId: path.channelId - text: Get the outcome of marker detection {markerDetectionId} in channel {channelId}. slots: markerDetectionId: path.markerDetectionId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/integrations'].get update: x-apievangelist-phrasing: intent: List a channel's integrations effect: read questions: - Which ad-server integrations are attached to one of my ads channels? - Can I page through the channel-level integrations of a channel? instructions: - text: List the integrations on ads channel {channelId}. slots: channelId: path.channelId - text: Show channel-level integrations for {channelId} sorted by {sort}. slots: channelId: path.channelId sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/integrations'].post update: x-apievangelist-phrasing: intent: Create a channel integration effect: write questions: - How do I connect an integration to a single ads channel? - Can I add a channel-level integration separate from my organization one? instructions: - text: Create an integration on ads channel {channelId}. slots: channelId: path.channelId - text: Attach a new channel-level integration to channel {channelId}. slots: channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/integrations/{channelIntegrationId}'].get update: x-apievangelist-phrasing: intent: Get one channel integration effect: read questions: - How is a specific integration on my channel configured? - Can I inspect one channel-level integration by its ID? instructions: - text: Show integration {channelIntegrationId} on channel {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId - text: Get the configuration of channel integration {channelIntegrationId} in {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/integrations/{channelIntegrationId}'].delete update: x-apievangelist-phrasing: intent: Delete a channel integration effect: destructive questions: - How do I disconnect an integration from one ads channel? - Can I remove a channel-level integration without touching the organization one? instructions: - text: Delete integration {channelIntegrationId} from channel {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId - text: Remove channel integration {channelIntegrationId} on ads channel {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/integrations/{channelIntegrationId}'].patch update: x-apievangelist-phrasing: intent: Update a channel integration effect: write questions: - Can I change the settings of an integration attached to my channel? - How do I edit a channel-level integration in place? instructions: - text: Update integration {channelIntegrationId} on channel {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId - text: Edit the settings of channel integration {channelIntegrationId} for ads channel {channelId}. slots: channelIntegrationId: path.channelIntegrationId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins'].get update: x-apievangelist-phrasing: intent: List stream origins on a channel effect: read questions: - Which manifest origins does break detection poll for my channel? - Can I sort a channel's origins by failover priority? instructions: - text: List the origins on channel {channelId}. slots: channelId: path.channelId - text: Show origins for channel {channelId} sorted by {sort}. slots: channelId: path.channelId sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins'].post update: x-apievangelist-phrasing: intent: Add a stream origin to a channel effect: write questions: - How do I give break detection a manifest URL to poll? - Can I add a backup DASH or HLS origin with a failover priority? instructions: - text: Add a {type} origin at {url} to channel {channelId}. slots: type: requestBody.type url: requestBody.url channelId: path.channelId - text: Create a {type} origin {url} on channel {channelId} with failover priority {priority}. slots: type: requestBody.type url: requestBody.url channelId: path.channelId priority: requestBody.priority method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins/{originId}'].get update: x-apievangelist-phrasing: intent: Get one stream origin effect: read questions: - What manifest URL and format does one origin on my channel use? - Is a particular origin enabled for failover? instructions: - text: Show origin {originId} on channel {channelId}. slots: originId: path.originId channelId: path.channelId - text: Get the manifest URL of origin {originId} in channel {channelId}. slots: originId: path.originId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins/{originId}'].delete update: x-apievangelist-phrasing: intent: Delete a stream origin effect: destructive questions: - How do I remove a manifest origin from a channel for good? - Can I delete an origin instead of just disabling it? instructions: - text: Delete origin {originId} from channel {channelId}. slots: originId: path.originId channelId: path.channelId - text: Permanently remove stream origin {originId} on channel {channelId}. slots: originId: path.originId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins/{originId}'].patch update: x-apievangelist-phrasing: intent: Update a stream origin effect: write questions: - Can I change an origin's manifest URL without recreating it? - How do I reorder an origin's failover priority? instructions: - text: Change the URL of origin {originId} on channel {channelId} to {url}. slots: originId: path.originId channelId: path.channelId url: requestBody.url - text: Set origin {originId} in channel {channelId} to failover priority {priority}. slots: originId: path.originId channelId: path.channelId priority: requestBody.priority method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins/{originId}/enable'].post update: x-apievangelist-phrasing: intent: Enable a stream origin effect: write questions: - How do I bring a disabled origin back into break-detection failover? - Can I re-enable an origin I switched off earlier? instructions: - text: Enable origin {originId} on channel {channelId}. slots: originId: path.originId channelId: path.channelId - text: Turn stream origin {originId} back on for channel {channelId}. slots: originId: path.originId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/api/v1/channels/{channelId}/origins/{originId}/disable'].post update: x-apievangelist-phrasing: intent: Disable a stream origin effect: write questions: - How do I take an origin out of failover without deleting it? - Can I temporarily stop detection from polling one origin? instructions: - text: Disable origin {originId} on channel {channelId}. slots: originId: path.originId channelId: path.channelId - text: Switch off stream origin {originId} for channel {channelId}. slots: originId: path.originId channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/channels'].get update: x-apievangelist-phrasing: intent: List live streaming channels effect: read questions: - Which live channels do I have set up in THEOlive? - Can I filter my channels by status to see only the ones that are playing? - Is there a way to search channels by name or external ID? instructions: - text: List all my live channels. - text: Show channels whose status is {status}. slots: status: query.status - text: Search my channels for {search}. slots: search: query.search method: generated generated: '2026-10-01' - target: $.paths['/channels'].post update: x-apievangelist-phrasing: intent: Create a new live channel effect: write questions: - How do I set up a new live streaming channel? - Can I enable DVR and ads when I first create a channel? - What do I need to provide to create a channel besides a name? instructions: - text: Create a new channel named {name}. slots: name: requestBody.name - text: Create channel {name} with external ID {externalId}. slots: name: requestBody.name externalId: requestBody.externalId method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}'].get update: x-apievangelist-phrasing: intent: Get details of one channel effect: read questions: - What is the current configuration of a specific channel? - Can I pull one channel's details along with related resources included? instructions: - text: Show me the details of channel {id}. slots: id: path.id - text: Get channel {id} including {include}. slots: id: path.id include: query.include method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a channel effect: destructive questions: - How do I permanently remove a live channel I no longer use? - What happens when I delete a channel by its ID? instructions: - text: Delete channel {id}. slots: id: path.id - text: Remove the channel with ID {id} from my organization. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}'].patch update: x-apievangelist-phrasing: intent: Update a channel's settings effect: write questions: - Can I rename an existing channel or change its timeout? - How do I turn on DVR or Nielsen tracking for a channel that already exists? instructions: - text: Rename channel {id} to {name}. slots: id: path.id name: requestBody.name - text: Set the timeout of channel {id} to {timeout}. slots: id: path.id timeout: requestBody.timeout method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/drm/configs'].get update: x-apievangelist-phrasing: intent: Get a channel's DRM configurations effect: read questions: - Which DRM content protection settings are applied to my channel? - Where can I see the DRM configs a channel uses? instructions: - text: Show the DRM content protection configs for channel {id}. slots: id: path.id - text: Get the DRM setup of channel {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/start'].post update: x-apievangelist-phrasing: intent: Start a channel and its engines effect: write questions: - How do I go live on a channel? - Does starting a channel also start all of its connected engines? instructions: - text: Start channel {id}. slots: id: path.id - text: Bring channel {id} live by starting all its engines. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/stop'].post update: x-apievangelist-phrasing: intent: Stop a channel and its engines effect: write questions: - How do I end a live broadcast on a channel? - Will stopping a channel shut down every engine connected to it? instructions: - text: Stop channel {id}. slots: id: path.id - text: Take channel {id} offline and stop its engines. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/ingests'].get update: x-apievangelist-phrasing: intent: List a channel's ingests effect: read questions: - Which ingest sources are attached to a channel? - Can I page through a channel's ingests? instructions: - text: List the ingests of channel {id}. slots: id: path.id - text: Show the first {limit} ingests on channel {id}. slots: id: path.id limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/ingests'].post update: x-apievangelist-phrasing: intent: Add an ingest to a channel effect: write questions: - How do I add a new contribution feed like SRT or RTMP to a channel? - Can an ingest come from an SDI or NDI source on-prem? instructions: - text: Add an ingest named {name} of type {type} to channel {id}. slots: id: path.id name: requestBody.name type: requestBody.type - text: Create a {type} ingest {name} on channel {id} in region {region}. slots: id: path.id name: requestBody.name type: requestBody.type region: requestBody.region method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/engines'].get update: x-apievangelist-phrasing: intent: List a channel's engines effect: read questions: - Which transcoding engines belong to a channel? - Can I see all engines configured on one of my channels? instructions: - text: List the engines of channel {id}. slots: id: path.id - text: Show up to {limit} engines for channel {id}. slots: id: path.id limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/engines'].post update: x-apievangelist-phrasing: intent: Add a transcoding engine to a channel effect: write questions: - How do I add an engine to a channel in a specific region? - Can a new engine have DRM, Dolby Vision or Atmos turned on? - What quality setting does a channel engine need? instructions: - text: Create engine {name} on channel {id} in {region} at quality {quality}. slots: id: path.id name: requestBody.name region: requestBody.region quality: requestBody.quality - text: Add an engine {name} to channel {id} fed by ingest {ingestId} in {region} with quality {quality}. slots: id: path.id name: requestBody.name ingestId: requestBody.ingestId region: requestBody.region quality: requestBody.quality method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/distributions'].get update: x-apievangelist-phrasing: intent: List a channel's distributions effect: read questions: - Which playback distributions does a channel have? - In what order are a channel's distributions returned? instructions: - text: List the distributions of channel {id}. slots: id: path.id - text: Show the distributions on channel {id}, {limit} at a time. slots: id: path.id limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/distributions'].post update: x-apievangelist-phrasing: intent: Add a playback distribution to a channel effect: write questions: - How do I create a new viewer distribution for a channel? - Can I set a target latency or max bitrate on a new distribution? instructions: - text: Create a distribution named {name} for channel {id}. slots: id: path.id name: requestBody.name - text: Add distribution {name} to channel {id} with target latency {targetLatency}. slots: id: path.id name: requestBody.name targetLatency: requestBody.targetLatency method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/instream-metadata/{uuid}'].post update: x-apievangelist-phrasing: intent: Send in-stream metadata to a channel effect: write questions: - How do I push timed metadata into a live channel's stream? - Can I insert an in-stream metadata payload into a running channel? instructions: - text: Send in-stream metadata {uuid} to channel {id}. slots: id: path.id uuid: path.uuid - text: Inject metadata item {uuid} into the live stream of channel {id}. slots: id: path.id uuid: path.uuid method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/runs'].get update: x-apievangelist-phrasing: intent: List engine runs of a channel effect: read questions: - When did a channel's engines actually run? - Can I see the engine run history for a channel over a date range? instructions: - text: Show engine runs for channel {id}. slots: id: path.id - text: List runs of channel {id} between {start} and {end}. slots: id: path.id start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/transcoding-minutes'].get update: x-apievangelist-phrasing: intent: Get a channel's transcoding minutes effect: read questions: - How many transcoding minutes did a channel use last month? - Can I break a channel's transcoding minutes down by engine? instructions: - text: Get transcoding minutes for channel {id} from {start} to {end} at {resolution} resolution. slots: id: path.id start: query.start end: query.end resolution: query.resolution - text: Report channel {id} transcoding usage from {start} to {end} by {resolution}, grouped by {groupBy}. slots: id: path.id start: query.start end: query.end resolution: query.resolution groupBy: query.groupBy method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/viewing-minutes'].get update: x-apievangelist-phrasing: intent: Get a channel's viewing minutes over time effect: read questions: - How many minutes did viewers watch a channel over a period? - Can I filter a channel's viewing minutes by streaming format or distribution? instructions: - text: Get viewing minutes for channel {id} from {start} to {end} at {resolution} resolution. slots: id: path.id start: query.start end: query.end resolution: query.resolution - text: Chart watch time on channel {id} between {start} and {end} per {resolution}. slots: id: path.id start: query.start end: query.end resolution: query.resolution method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/bytes-transferred'].get update: x-apievangelist-phrasing: intent: Get bytes delivered for a channel over time effect: read questions: - How much data did a channel deliver to viewers over a time range? - Can I see bandwidth usage for a channel per day? instructions: - text: Get bytes transferred for channel {id} from {start} to {end} at {resolution} resolution. slots: id: path.id start: query.start end: query.end resolution: query.resolution - text: Show daily data egress for channel {id} between {start} and {end} by {resolution}. slots: id: path.id start: query.start end: query.end resolution: query.resolution method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/viewing-minutes/browsers'].get update: x-apievangelist-phrasing: intent: Break down channel watch time by browser effect: read questions: - Which browsers do my viewers use to watch a channel, by minutes watched? - Can I see viewing minutes split per browser for one channel? instructions: - text: Break down viewing minutes by browser for channel {id} from {start} to {end}. slots: id: path.id start: query.start end: query.end - text: Show watch time per browser on channel {id} between {start} and {end}. slots: id: path.id start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/viewing-minutes/countries'].get update: x-apievangelist-phrasing: intent: Break down channel watch time by country effect: read questions: - Which countries watch a channel the most, measured in viewing minutes? - Can I get a per-country breakdown of minutes watched on a channel? instructions: - text: Break down viewing minutes by country for channel {id} from {start} to {end}. slots: id: path.id start: query.start end: query.end - text: Show watch time per country on channel {id} between {start} and {end}. slots: id: path.id start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/bytes-transferred/browsers'].get update: x-apievangelist-phrasing: intent: Break down channel data delivered by browser effect: read questions: - How much bandwidth did each browser consume on a channel? - Can I split a channel's bytes transferred by browser? instructions: - text: Break down bytes transferred by browser for channel {id} from {start} to {end}. slots: id: path.id start: query.start end: query.end - text: Show data delivered per browser on channel {id} between {start} and {end}. slots: id: path.id start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/bytes-transferred/countries'].get update: x-apievangelist-phrasing: intent: Break down channel data delivered by country effect: read questions: - Which countries account for the most data delivered on a channel? - Can I split a channel's bytes transferred by viewer country? instructions: - text: Break down bytes transferred by country for channel {id} from {start} to {end}. slots: id: path.id start: query.start end: query.end - text: Show data delivered per country on channel {id} between {start} and {end}. slots: id: path.id start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/insights/countries'].get update: x-apievangelist-phrasing: intent: Get recent country insights for a channel effect: read questions: - Where in the world are a channel's viewers coming from over the last 30 days? - How far back do channel country insights go? instructions: - text: Get country insights for channel {id} over period {period}. slots: id: path.id period: query.period - text: Show the audience-by-country insight for channel {id} for the {period} period. slots: id: path.id period: query.period method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/insights/browsers-os'].get update: x-apievangelist-phrasing: intent: Get recent browser and OS insights for a channel effect: read questions: - What browsers and operating systems are a channel's viewers on lately? - Can I see a browser and OS mix for a channel within the last 30 days? instructions: - text: Get browser and OS insights for channel {id} over period {period}. slots: id: path.id period: query.period - text: Show the device platform mix for channel {id} for the {period} period. slots: id: path.id period: query.period method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/analytics/insights/viewers'].get update: x-apievangelist-phrasing: intent: Get recent viewer count insights for a channel effect: read questions: - How many viewers has a channel had in the last 30 days? - Can I track concurrent viewer counts for a channel over a recent period? instructions: - text: Get viewer count insights for channel {id} over period {period}. slots: id: path.id period: query.period - text: Show how many people watched channel {id} during the {period} period. slots: id: path.id period: query.period method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/custom-endpoints'].get update: x-apievangelist-phrasing: intent: List a channel's custom endpoints effect: read questions: - Which custom endpoints are configured on a channel? - Can I see all custom CDN or SSAI endpoints attached to one channel? instructions: - text: List the custom endpoints of channel {id}. slots: id: path.id - text: Show every custom endpoint defined on channel {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/channels/{id}/custom-endpoints'].post update: x-apievangelist-phrasing: intent: Add a custom endpoint to a channel effect: write questions: - How do I add a custom playback endpoint with my own CDN to a channel? - What fields are required to create a channel custom endpoint? instructions: - text: Create custom endpoint {name} on channel {id} with source {src} of type {srcType} via {provider} on CDN {cdn} at priority {priority}. slots: id: path.id name: requestBody.name src: requestBody.src srcType: requestBody.srcType provider: requestBody.provider cdn: requestBody.cdn priority: requestBody.priority - text: Add a custom endpoint named {name} to channel {id} pulling from {src}. slots: id: path.id name: requestBody.name src: requestBody.src method: generated generated: '2026-10-01'