Dolby · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for THEOads Monetized Stream API

14 actions 14 updates phrasing extends openapi/dolby-monetized-stream-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Dolby's API. It is a proposal applied on top of the contract, not a document Dolby publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/v1/monetized-streams'].get
$.paths['/v1/monetized-streams'].post
$.paths['/v1/monetized-streams/{monetizedStreamId}'].get
$.paths['/v1/monetized-streams/{monetizedStreamId}'].delete
$.paths['/v1/monetized-streams/{monetizedStreamId}'].patch
$.paths['/v1/monetized-streams/{monetizedStreamId}/layout'].patch
$.paths['/v1/monetized-streams/{monetizedStreamId}/break'].get
$.paths['/v1/monetized-streams/{monetizedStreamId}/break'].post
$.paths['/v1/monetized-streams/{monetizedStreamId}/break/{adbreakId}'].delete
$.paths['/v1/monetized-streams/{monetizedStreamId}/break/{adbreakId}'].patch
$.paths['/v1/monetized-streams/{monetizedStreamId}/overlay'].get
$.paths['/v1/monetized-streams/{monetizedStreamId}/overlay'].post
$.paths['/v1/monetized-streams/{monetizedStreamId}/overlay/{overlayId}'].delete

OpenAPI Overlay

Raw ↑
# 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'