Dolby · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Millicast Transcoder API

11 actions 11 updates phrasing extends openapi/dolby-transcoder-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 11

$.info
$.paths['/api/transcoders/{transcoderId}'].get
$.paths['/api/transcoders/{transcoderId}'].put
$.paths['/api/transcoders/{transcoderId}'].delete
$.paths['/api/transcoders'].get
$.paths['/api/transcoders'].post
$.paths['/api/transcoders/start/{transcoderId}'].put
$.paths['/api/transcoders/stop/{transcoderId}'].put
$.paths['/api/transcoders/instances/{instanceId}'].get
$.paths['/api/transcoders/instances'].get
$.paths['/api/transcoders/profiles'].get

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 Millicast Transcoder API
  version: 1.0.0
extends: openapi/dolby-transcoder-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: 10
- target: $.paths['/api/transcoders/{transcoderId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a cloud transcoder
      effect: read
      questions:
      - What is the configuration of one of my cloud transcoders?
      - Can I see a transcoder's host instances along with its settings?
      instructions:
      - text: Show transcoder {transcoderId}.
        slots:
          transcoderId: path.transcoderId
      - text: Get the config and instances of transcoder {transcoderId}.
        slots:
          transcoderId: path.transcoderId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/{transcoderId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a cloud transcoder
      effect: write
      questions:
      - Can I change a transcoder's output height or frame rate without restarting it?
      - Which transcoder changes require a restart to take effect?
      instructions:
      - text: Set the output height of transcoder {transcoderId} to {height}.
        slots:
          transcoderId: path.transcoderId
          height: requestBody.height
      - text: Move transcoder {transcoderId} to cluster {cluster}.
        slots:
          transcoderId: path.transcoderId
          cluster: requestBody.cluster
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/{transcoderId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a cloud transcoder
      effect: destructive
      questions:
      - How do I delete a transcoder and all its instances?
      - Does deleting a running transcoder shut it down immediately?
      instructions:
      - text: Delete transcoder {transcoderId}.
        slots:
          transcoderId: path.transcoderId
      - text: Remove transcoder {transcoderId} and its instances.
        slots:
          transcoderId: path.transcoderId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders'].get
  update:
    x-apievangelist-phrasing:
      intent: List cloud transcoders
      effect: read
      questions:
      - Which cloud transcoders are configured on my account?
      - Can I filter my transcoders by status or cluster?
      instructions:
      - text: List my transcoders, page {page} with {itemsOnPage} per page.
        slots:
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Show transcoders with status {status}, page {page}, {itemsOnPage} per page.
        slots:
          status: query.status
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a cloud transcoder for ABR
      effect: write
      questions:
      - How do I get adaptive bitrate simulcast without sending multiple contribution feeds?
      - Can a new transcoder start right away when I create it?
      instructions:
      - text: Create a transcoder named {name} in cluster {cluster}.
        slots:
          name: requestBody.name
          cluster: requestBody.cluster
      - text: Create transcoder {name} in {cluster} with profile {profile} and start it now ({startNow}).
        slots:
          name: requestBody.name
          cluster: requestBody.cluster
          profile: requestBody.profile
          startNow: requestBody.startNow
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/start/{transcoderId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Start a cloud transcoder
      effect: write
      questions:
      - How do I enable a transcoder so it accepts incoming broadcasts?
      - Can I turn a stopped transcoder back on?
      instructions:
      - text: Start transcoder {transcoderId}.
        slots:
          transcoderId: path.transcoderId
      - text: Enable transcoder {transcoderId} to accept broadcast sources.
        slots:
          transcoderId: path.transcoderId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/stop/{transcoderId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Stop a cloud transcoder
      effect: write
      questions:
      - Can I shut down a transcoder without deleting its configuration?
      - What stops a transcoder from accepting new broadcast sources?
      instructions:
      - text: Stop transcoder {transcoderId}.
        slots:
          transcoderId: path.transcoderId
      - text: Disable transcoder {transcoderId} so it shuts down.
        slots:
          transcoderId: path.transcoderId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/instances/{instanceId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a transcoder instance
      effect: read
      questions:
      - What is the status of a single transcoder host instance?
      - Can I look up one transcoder instance by its instance ID?
      instructions:
      - text: Show transcoder instance {instanceId}.
        slots:
          instanceId: path.instanceId
      - text: Get details of transcoder host {instanceId}.
        slots:
          instanceId: path.instanceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/instances'].get
  update:
    x-apievangelist-phrasing:
      intent: List transcoder instances
      effect: read
      questions:
      - Which host instances have run for my transcoders over a date range?
      - Can I filter transcoder instances by transcoder or status?
      instructions:
      - text: List instances of transcoder {transcoderId}, page {page} with {itemsOnPage} per page.
        slots:
          transcoderId: query.transcoderId
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Show transcoder instances from {startDate} to {endDate}, page {page}, {itemsOnPage} each.
        slots:
          startDate: query.startDate
          endDate: query.endDate
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/transcoders/profiles'].get
  update:
    x-apievangelist-phrasing:
      intent: List transcoder bitrate profiles
      effect: read
      questions:
      - Which pre-defined bitrate ladder profiles can a transcoder use?
      - Can I find transcoder profiles for 1080p at 60 fps?
      instructions:
      - text: List transcoder profiles, page {page} with {itemsOnPage} per page.
        slots:
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Show transcoder profiles with height {height} and frame rate {frameRate}, page {page}, {itemsOnPage} each.
        slots:
          height: query.height
          frameRate: query.frameRate
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'