Dolby · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Millicast Media Assets API

9 actions 9 updates phrasing extends openapi/dolby-media-assets-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 9

$.info
$.paths['/api/v3/media/assets'].get
$.paths['/api/v3/media/assets'].post
$.paths['/api/v3/media/assets'].delete
$.paths['/api/v3/media/assets/upload'].post
$.paths['/api/v3/media/assets/register'].post
$.paths['/api/v3/media/assets/{mediaAssetId}'].get
$.paths['/api/v3/media/assets/{mediaAssetId}'].patch
$.paths['/api/v3/media/assets/all/{type}'].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 Millicast Media Assets API
  version: 1.0.0
extends: openapi/dolby-media-assets-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: 8
- target: $.paths['/api/v3/media/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List recordings, clips and media assets
      effect: read
      questions:
      - Which recordings and clips do I have stored?
      - Can I filter media assets by stream name or type?
      instructions:
      - text: List my media assets.
      - text: Show media assets of type {type} for stream {streamName}.
        slots:
          type: query.type
          streamName: query.streamName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets'].post
  update:
    x-apievangelist-phrasing:
      intent: Clip a segment from a live stream
      effect: write
      questions:
      - How do I make a clip from a stream that's live right now?
      - Can I set a stop time and target format for a live clip?
      instructions:
      - text: Create a clip of stream {streamName} starting at {startTime}.
        slots:
          streamName: requestBody.streamName
          startTime: requestBody.startTime
      - text: Clip stream {streamName} from {startTime} to {stopTime} and name it {name}.
        slots:
          streamName: requestBody.streamName
          startTime: requestBody.startTime
          stopTime: requestBody.stopTime
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete selected media assets
      effect: destructive
      questions:
      - How do I delete several specific recordings or clips at once?
      - Which media assets are allowed to be deleted?
      instructions:
      - text: Delete media assets {id}.
        slots:
          id: query.id
      - text: Remove the media assets with IDs {id} from storage.
        slots:
          id: query.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Get credentials to upload media
      effect: write
      questions:
      - How do I upload my own video file into Dolby media storage?
      - Can I get temporary AWS credentials for uploading media?
      instructions:
      - text: Generate upload credentials for a new media file.
      - text: Give me temporary S3 credentials to upload media.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets/register'].post
  update:
    x-apievangelist-phrasing:
      intent: Register an uploaded media file
      effect: write
      questions:
      - What do I call after uploading media so it gets processed?
      - Can I tag and name a media asset when registering an upload?
      instructions:
      - text: Register the uploaded media at prefix {objectPrefix}.
        slots:
          objectPrefix: requestBody.objectPrefix
      - text: Register upload {objectPrefix} as media asset {name}.
        slots:
          objectPrefix: requestBody.objectPrefix
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets/{mediaAssetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a media asset and its links
      effect: read
      questions:
      - Where can I download a finished recording?
      - Does reading a media asset include a CDN playback link?
      instructions:
      - text: Show media asset {mediaAssetId}.
        slots:
          mediaAssetId: path.mediaAssetId
      - text: Get the download link for media asset {mediaAssetId}.
        slots:
          mediaAssetId: path.mediaAssetId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets/{mediaAssetId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a media asset's distribution
      effect: write
      questions:
      - Can I move a media asset to a different media distribution?
      - Is it possible to change a media asset's custom path?
      instructions:
      - text: Assign media asset {mediaAssetId} to media distribution {mediaDistributionId}.
        slots:
          mediaAssetId: path.mediaAssetId
          mediaDistributionId: requestBody.mediaDistributionId
      - text: Set the custom path of media asset {mediaAssetId} to {customPath}.
        slots:
          mediaAssetId: path.mediaAssetId
          customPath: requestBody.customPath
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/v3/media/assets/all/{type}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete all media assets of a type
      effect: destructive
      questions:
      - Can I wipe every recording or every clip in one call?
      - What happens if I delete all media assets of one type?
      instructions:
      - text: Delete all media assets of type {type}.
        slots:
          type: path.type
      - text: Wipe every {type} media asset from storage.
        slots:
          type: path.type
      method: generated
      generated: '2026-10-01'