# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for THEOads Monetized Stream API version: 1.0.0 extends: openapi/dolby-monetized-stream-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: 13 - target: $.paths['/v1/monetized-streams'].get update: x-apievangelist-phrasing: intent: List all monetized streams effect: read questions: - Which monetized streams have I deployed? - Can I see every signaling service along with its configuration? instructions: - text: List all my monetized streams. - text: Show every deployed ad signaling service and its config. method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams'].post update: x-apievangelist-phrasing: intent: Deploy a new monetized stream effect: write questions: - How do I set up ad insertion for a live stream? - What does a new monetized stream need besides a stream ID and layout? instructions: - text: Create a monetized stream for stream {streamId} with layout {layout}. slots: streamId: requestBody.streamId layout: requestBody.layout - text: Deploy monetized stream {name} for {streamId} using layout {layout}. slots: name: requestBody.name streamId: requestBody.streamId layout: requestBody.layout method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}'].get update: x-apievangelist-phrasing: intent: Get one monetized stream effect: read questions: - What is the configuration of one monetized stream? - Can I look up a signaling service by its monetized stream ID? instructions: - text: Show monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId - text: Get the config of signaling service {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}'].delete update: x-apievangelist-phrasing: intent: Delete a monetized stream effect: destructive questions: - How do I tear down a monetized stream's signaling service? - Can I remove a monetized stream I no longer run ads on? instructions: - text: Delete monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId - text: Tear down signaling service {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}'].patch update: x-apievangelist-phrasing: intent: Update a monetized stream effect: write questions: - Can I change the origin or backdrop of an existing monetized stream? - Is it possible to rename a monetized stream after deployment? instructions: - text: Rename monetized stream {monetizedStreamId} to {name}. slots: monetizedStreamId: path.monetizedStreamId name: requestBody.name - text: Set the origin of monetized stream {monetizedStreamId} to {origin}. slots: monetizedStreamId: path.monetizedStreamId origin: requestBody.origin method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/layout'].patch update: x-apievangelist-phrasing: intent: Change a monetized stream's default layout effect: write questions: - How do I switch only the default ad layout on a monetized stream? - Can I change the layout without touching the rest of the stream config? instructions: - text: Change the default layout of monetized stream {monetizedStreamId} to {layout}. slots: monetizedStreamId: path.monetizedStreamId layout: requestBody.layout - text: Use layout {layout} as the default for {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId layout: requestBody.layout method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/break'].get update: x-apievangelist-phrasing: intent: List all ad breaks on a monetized stream effect: read questions: - Which ad breaks are scheduled on a monetized stream? - Can I get every ad break for a stream in one unpaginated call? instructions: - text: List all ad breaks on monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId - text: Show the full ad break schedule for {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/break'].post update: x-apievangelist-phrasing: intent: Schedule an ad break effect: write questions: - How do I insert an ad break into a live monetized stream? - Can I set a duration or end date when scheduling an ad break? instructions: - text: Create ad break {id} on monetized stream {monetizedStreamId} starting at {startDate}. slots: monetizedStreamId: path.monetizedStreamId id: requestBody.id startDate: requestBody.startDate - text: Schedule ad break {id} on {monetizedStreamId} at {startDate} lasting {duration}. slots: monetizedStreamId: path.monetizedStreamId id: requestBody.id startDate: requestBody.startDate duration: requestBody.duration method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/break/{adbreakId}'].delete update: x-apievangelist-phrasing: intent: Delete an ad break effect: destructive questions: - How do I cancel an ad break I already scheduled? - Can I remove a single ad break from a monetized stream? instructions: - text: Delete ad break {adbreakId} from monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId adbreakId: path.adbreakId - text: Cancel ad break {adbreakId} on {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId adbreakId: path.adbreakId method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/break/{adbreakId}'].patch update: x-apievangelist-phrasing: intent: Update an ad break effect: write questions: - Can I move an existing ad break to a different start time? - Is it possible to change the duration of an ad break already created? instructions: - text: Move ad break {adbreakId} on {monetizedStreamId} to start at {startDate}. slots: monetizedStreamId: path.monetizedStreamId adbreakId: path.adbreakId startDate: requestBody.startDate - text: Change the duration of ad break {adbreakId} on {monetizedStreamId} to {duration}. slots: monetizedStreamId: path.monetizedStreamId adbreakId: path.adbreakId duration: requestBody.duration method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/overlay'].get update: x-apievangelist-phrasing: intent: List all overlays on a monetized stream effect: read questions: - Which overlay ads are attached to a monetized stream? - Can I fetch every overlay for a stream without paging? instructions: - text: List all overlays on monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId - text: Show every overlay ad linked to {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/overlay'].post update: x-apievangelist-phrasing: intent: Add an overlay ad to a stream effect: write questions: - How do I show a banner overlay ad on a live stream? - Can I set an overlay's position, size and opacity? instructions: - text: Create overlay {id} of type {type} on {monetizedStreamId} starting {startDate} for {duration} at {position} sized {size}. slots: monetizedStreamId: path.monetizedStreamId id: requestBody.id type: requestBody.type startDate: requestBody.startDate duration: requestBody.duration position: requestBody.position size: requestBody.size - text: Add a {type} overlay {id} to monetized stream {monetizedStreamId} with click-through {clickThroughURI}. slots: monetizedStreamId: path.monetizedStreamId id: requestBody.id type: requestBody.type clickThroughURI: requestBody.clickThroughURI method: generated generated: '2026-10-01' - target: $.paths['/v1/monetized-streams/{monetizedStreamId}/overlay/{overlayId}'].delete update: x-apievangelist-phrasing: intent: Delete an overlay ad effect: destructive questions: - How do I take an overlay ad off a monetized stream? - Can I delete one overlay without affecting the others? instructions: - text: Delete overlay {overlayId} from monetized stream {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId overlayId: path.overlayId - text: Remove overlay ad {overlayId} on {monetizedStreamId}. slots: monetizedStreamId: path.monetizedStreamId overlayId: path.overlayId method: generated generated: '2026-10-01'