Dolby · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for THEOlive Ingests API

8 actions 8 updates phrasing extends openapi/dolby-ingests-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 8

$.info
$.paths['/channels/{id}/ingests'].get
$.paths['/channels/{id}/ingests'].post
$.paths['/ingests/{id}'].get
$.paths['/ingests/{id}'].delete
$.paths['/ingests/{id}'].patch
$.paths['/ingests/{id}/engines'].get
$.paths['/ingests/{id}/engines'].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 THEOlive Ingests API
  version: 1.0.0
extends: openapi/dolby-ingests-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: 7
- target: $.paths['/channels/{id}/ingests'].get
  update:
    x-apievangelist-phrasing:
      intent: List a channel's ingests
      effect: read
      questions:
      - Which ingest sources feed my channel?
      - Can I page through a channel's ingests with a limit?
      instructions:
      - text: List ingests on channel {channel_id}.
        slots:
          channel_id: path.id
      - text: Show the first {limit} ingests of channel {channel_id}.
        slots:
          limit: query.limit
          channel_id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/channels/{id}/ingests'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an ingest for a channel
      effect: write
      questions:
      - How do I add a new input source to a channel?
      - Can a channel ingest carry captions, SDI or NDI settings?
      instructions:
      - text: Create ingest {name} of type {type} on channel {channel_id}.
        slots:
          name: requestBody.name
          type: requestBody.type
          channel_id: path.id
      - text: Add a {type} ingest named {name} from {url} to channel {channel_id}.
        slots:
          type: requestBody.type
          name: requestBody.name
          url: requestBody.url
          channel_id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/ingests/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an ingest's details
      effect: read
      questions:
      - What type and source URL does a particular ingest use?
      - Can I look up a single ingest by ID?
      instructions:
      - text: Show ingest {ingest_id}.
        slots:
          ingest_id: path.id
      - text: Fetch the configuration of ingest {ingest_id}.
        slots:
          ingest_id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/ingests/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an ingest
      effect: destructive
      questions:
      - How do I remove an ingest source from my setup?
      - Can an ingest be deleted by its ID?
      instructions:
      - text: Delete ingest {ingest_id}.
        slots:
          ingest_id: path.id
      - text: Remove ingest {ingest_id} permanently.
        slots:
          ingest_id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/ingests/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an ingest's settings
      effect: write
      questions:
      - Can I change the source URL of an existing ingest?
      - How do I update captions or tracks on an ingest I already created?
      instructions:
      - text: Change ingest {ingest_id} source URL to {url}.
        slots:
          ingest_id: path.id
          url: requestBody.url
      - text: Rename ingest {ingest_id} to {name}.
        slots:
          ingest_id: path.id
          name: requestBody.name
      - text: Move ingest {ingest_id} to region {region}.
        slots:
          ingest_id: path.id
          region: requestBody.region
      method: generated
      generated: '2026-10-01'
- target: $.paths['/ingests/{id}/engines'].get
  update:
    x-apievangelist-phrasing:
      intent: List engines fed by an ingest
      effect: read
      questions:
      - Which engines are consuming a given ingest?
      - Can I see the engines attached to one ingest rather than a whole channel?
      instructions:
      - text: List engines attached to ingest {ingest_id}.
        slots:
          ingest_id: path.id
      - text: Show which engines ingest {ingest_id} feeds.
        slots:
          ingest_id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/ingests/{id}/engines'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an engine for an ingest
      effect: write
      questions:
      - How do I attach a new encoding engine directly to an ingest?
      - Can I set region and quality for an engine created on an ingest?
      instructions:
      - text: Create engine {name} on ingest {ingest_id} in {region} at {quality} quality.
        slots:
          name: requestBody.name
          ingest_id: path.id
          region: requestBody.region
          quality: requestBody.quality
      - text: Add engine {name} to ingest {ingest_id}, region {region}, quality {quality}, priority {priority}.
        slots:
          name: requestBody.name
          ingest_id: path.id
          region: requestBody.region
          quality: requestBody.quality
          priority: requestBody.priority
      method: generated
      generated: '2026-10-01'