Dolby · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Millicast Publish Token V1 API

12 actions 12 updates phrasing extends openapi/dolby-publishtokenv1-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 12

$.info
$.paths['/api/publish_token/{tokenId}'].get
$.paths['/api/publish_token/{tokenId}'].put
$.paths['/api/publish_token/{tokenId}'].delete
$.paths['/api/publish_token/list'].get
$.paths['/api/publish_token/list_by_name'].get
$.paths['/api/publish_token/list_by_cluster'].get
$.paths['/api/publish_token'].post
$.paths['/api/publish_token/active'].get
$.paths['/api/publish_token/active/all'].get
$.paths['/api/publish_token/disable'].patch
$.paths['/api/publish_token/{tokenId}/restream/sync'].post

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 Publish Token V1 API
  version: 1.0.0
extends: openapi/dolby-publishtokenv1-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: 11
- target: $.paths['/api/publish_token/{tokenId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a publish token
      effect: read
      questions:
      - What settings does a specific publish token have?
      - Can I look up a publish token by its ID?
      instructions:
      - text: Show publish token {tokenId}.
        slots:
          tokenId: path.tokenId
      - text: Get the streams and settings of publish token {tokenId}.
        slots:
          tokenId: path.tokenId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/{tokenId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a publish token (v1)
      effect: write
      questions:
      - Can I turn on recording for an existing publish token?
      - How do I add another stream name to a publish token using the v1 API?
      instructions:
      - text: Enable recording on publish token {tokenId} by setting record to {record}.
        slots:
          tokenId: path.tokenId
          record: requestBody.record
      - text: With the v1 token API, add streams {addTokenStreams} to publish token {tokenId}.
        slots:
          tokenId: path.tokenId
          addTokenStreams: requestBody.addTokenStreams
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/{tokenId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a publish token
      effect: destructive
      questions:
      - How do I permanently delete a publish token?
      - Where do I find the token ID needed to delete a publish token?
      instructions:
      - text: Delete publish token {tokenId}.
        slots:
          tokenId: path.tokenId
      - text: Permanently remove publish token {tokenId}.
        slots:
          tokenId: path.tokenId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List publish tokens
      effect: read
      questions:
      - Which publish tokens exist on my account?
      - How can I tell I've reached the end when paging publish tokens?
      instructions:
      - text: List my publish tokens, page {page} with {itemsOnPage} per page.
        slots:
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Show publish tokens sorted by {sortBy}, page {page}, {itemsOnPage} per page.
        slots:
          sortBy: query.sortBy
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/list_by_name'].get
  update:
    x-apievangelist-phrasing:
      intent: Find publish tokens by name
      effect: read
      questions:
      - Can I find publish tokens by token label or stream name?
      - Are wildcard stream tokens included when searching publish tokens by name?
      instructions:
      - text: Find publish tokens named {name}, page {page} with {itemsOnPage} per page.
        slots:
          name: query.name
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Search publish tokens by stream name {name}, page {page}, {itemsOnPage} each.
        slots:
          name: query.name
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/list_by_cluster'].get
  update:
    x-apievangelist-phrasing:
      intent: List publish tokens in a cluster
      effect: read
      questions:
      - Which publish tokens are tied to a particular cluster region?
      - Can I filter publish tokens by cluster?
      instructions:
      - text: List publish tokens in cluster {cluster}, page {page} with {itemsOnPage} per page.
        slots:
          cluster: query.cluster
          page: query.page
          itemsOnPage: query.itemsOnPage
      - text: Show tokens for the {cluster} region, page {page}, {itemsOnPage} each.
        slots:
          cluster: query.cluster
          page: query.page
          itemsOnPage: query.itemsOnPage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a publish token
      effect: write
      questions:
      - How do I create a token so a broadcaster can publish a stream?
      - How long can stream names on a new publish token be?
      - Can I set an expiry or allowed countries on a new publish token?
      instructions:
      - text: Create a publish token labeled {label} for streams {streams}.
        slots:
          label: requestBody.label
          streams: requestBody.streams
      - text: Create publish token {label} for {streams} that expires {expires}.
        slots:
          label: requestBody.label
          streams: requestBody.streams
          expires: requestBody.expires
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/active'].get
  update:
    x-apievangelist-phrasing:
      intent: Find the publish token of a live stream
      effect: read
      questions:
      - Which publish token is a live stream currently using?
      - Can I get the token ID behind an active stream from its stream ID?
      instructions:
      - text: Find the publish token for active stream {streamId}.
        slots:
          streamId: query.streamId
      - text: Look up which token stream {streamId} is publishing with right now.
        slots:
          streamId: query.streamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/active/all'].get
  update:
    x-apievangelist-phrasing:
      intent: List publish tokens of all live streams
      effect: read
      questions:
      - Which publish tokens are being used by streams that are live right now?
      - Are tokens for long-running streams from before October 2022 included in the active list?
      instructions:
      - text: List the publish token IDs of every active stream on my account.
      - text: Show all tokens currently in use by live streams.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/disable'].patch
  update:
    x-apievangelist-phrasing:
      intent: Disable publish tokens in bulk
      effect: destructive
      questions:
      - How do I stop several publish tokens from being used at once?
      - Can I bulk-disable publish tokens by ID?
      instructions:
      - text: Disable publish tokens {tokenIds}.
        slots:
          tokenIds: requestBody.tokenIds
      - text: 'Turn off these publish tokens in bulk: {tokenIds}.'
        slots:
          tokenIds: requestBody.tokenIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/publish_token/{tokenId}/restream/sync'].post
  update:
    x-apievangelist-phrasing:
      intent: Apply restream changes to a live stream
      effect: write
      questions:
      - Can restream configuration changes apply to a stream that's already running?
      - How do I push updated restream targets to a live broadcast immediately?
      instructions:
      - text: Sync restreams for publish token {tokenId}.
        slots:
          tokenId: path.tokenId
      - text: Apply the new restream settings of token {tokenId} to its running streams now.
        slots:
          tokenId: path.tokenId
      method: generated
      generated: '2026-10-01'