Dolby · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for THEOlive Distributions API
20 actions
20 updates
phrasing
extends
openapi/dolby-distributions-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.
What the actions change
x-apievangelist-phrasing
Targets 20 · first 16 shown; the file carries all of them
$.info
$.paths['/channels/{id}/distributions'].get
$.paths['/channels/{id}/distributions'].post
$.paths['/distributions/{id}'].get
$.paths['/distributions/{id}'].delete
$.paths['/distributions/{id}'].patch
$.paths['/distributions/{id}/security/keys'].get
$.paths['/distributions/{id}/security/keys'].post
$.paths['/distributions/{id}/security/keys'].delete
$.paths['/distributions/{id}/security/keys/{keyId}'].get
$.paths['/distributions/{id}/security/keys/{keyId}'].delete
$.paths['/distributions/{id}/analytics/viewing-minutes'].get
$.paths['/distributions/{id}/analytics/bytes-transferred'].get
$.paths['/distributions/{id}/analytics/viewing-minutes/browsers'].get
$.paths['/distributions/{id}/analytics/viewing-minutes/countries'].get
$.paths['/distributions/{id}/analytics/bytes-transferred/browsers'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for THEOlive Distributions API
version: 1.0.0
extends: openapi/dolby-distributions-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: 19
- target: $.paths['/channels/{id}/distributions'].get
update:
x-apievangelist-phrasing:
intent: List a channel's distributions
effect: read
questions:
- Which distributions are set up on my channel?
- Can I page through a channel's distributions with a limit and cursor?
instructions:
- text: List the distributions on channel {channel_id}.
slots:
channel_id: path.id
- text: Show the first {limit} distributions of channel {channel_id}.
slots:
limit: query.limit
channel_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/channels/{id}/distributions'].post
update:
x-apievangelist-phrasing:
intent: Create a distribution for a channel
effect: write
questions:
- How do I add a new distribution to a live channel?
- Can I set target latency and a max bitrate when creating a distribution?
instructions:
- text: Create a distribution named {name} on channel {channel_id}.
slots:
name: requestBody.name
channel_id: path.id
- text: Add distribution {name} to channel {channel_id} with target latency {target_latency}.
slots:
name: requestBody.name
channel_id: path.id
target_latency: requestBody.targetLatency
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a distribution's details
effect: read
questions:
- What settings does a specific distribution have?
- Is a given distribution currently enabled?
instructions:
- text: Show distribution {distribution_id}.
slots:
distribution_id: path.id
- text: Fetch the configuration of distribution {distribution_id}.
slots:
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a distribution
effect: destructive
questions:
- How do I remove a distribution I no longer need?
- Can a distribution be deleted by its ID?
instructions:
- text: Delete distribution {distribution_id}.
slots:
distribution_id: path.id
- text: Remove distribution {distribution_id} permanently.
slots:
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a distribution's settings
effect: write
questions:
- Can I disable an existing distribution without deleting it?
- How do I change the max bitrate on a distribution I already created?
instructions:
- text: Rename distribution {distribution_id} to {name}.
slots:
distribution_id: path.id
name: requestBody.name
- text: Set enabled to {enabled} on distribution {distribution_id}.
slots:
enabled: requestBody.enabled
distribution_id: path.id
- text: Change the max bitrate of distribution {distribution_id} to {max_bitrate}.
slots:
distribution_id: path.id
max_bitrate: requestBody.maxBitrate
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/security/keys'].get
update:
x-apievangelist-phrasing:
intent: List a distribution's security keys
effect: read
questions:
- What security keys are attached to my distribution?
- Which keys currently protect a distribution?
instructions:
- text: List all security keys on distribution {distribution_id}.
slots:
distribution_id: path.id
- text: Show every key securing distribution {distribution_id}.
slots:
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/security/keys'].post
update:
x-apievangelist-phrasing:
intent: Add a security key to a distribution
effect: write
questions:
- How do I add a new security key to a distribution?
- Can I give a distribution security key a name?
instructions:
- text: Add security key {key} to distribution {distribution_id}.
slots:
key: requestBody.key
distribution_id: path.id
- text: Attach key {key} named {name} to distribution {distribution_id}.
slots:
key: requestBody.key
name: requestBody.name
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/security/keys'].delete
update:
x-apievangelist-phrasing:
intent: Remove all security keys from a distribution
effect: destructive
questions:
- Can I wipe every security key off a distribution at once?
- What's the quickest way to clear all keys on a distribution?
instructions:
- text: Delete all security keys on distribution {distribution_id}.
slots:
distribution_id: path.id
- text: Clear every key from distribution {distribution_id}.
slots:
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/security/keys/{keyId}'].get
update:
x-apievangelist-phrasing:
intent: Get one security key of a distribution
effect: read
questions:
- What are the details of one specific security key on a distribution?
- Can I look up a single distribution key by its key ID?
instructions:
- text: Show security key {key_id} on distribution {distribution_id}.
slots:
key_id: path.keyId
distribution_id: path.id
- text: Fetch key {key_id} from distribution {distribution_id}.
slots:
key_id: path.keyId
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/security/keys/{keyId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one security key from a distribution
effect: destructive
questions:
- How do I revoke just one security key from a distribution?
- Can I remove a single key while keeping the others on a distribution?
instructions:
- text: Delete security key {key_id} from distribution {distribution_id}.
slots:
key_id: path.keyId
distribution_id: path.id
- text: Revoke only key {key_id} on distribution {distribution_id}.
slots:
key_id: path.keyId
distribution_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/viewing-minutes'].get
update:
x-apievangelist-phrasing:
intent: Get viewing minutes for a distribution
effect: read
questions:
- How many minutes did viewers watch through my distribution?
- Can I group a distribution's viewing minutes over time at a chosen resolution?
instructions:
- text: Get viewing minutes for distribution {distribution_id} from {start} to {end} at {resolution} resolution.
slots:
distribution_id: path.id
resolution: query.resolution
start: query.start
end: query.end
- text: Chart watch time on distribution {distribution_id} between {start} and {end}, grouped by {group_by}, {resolution}.
slots:
distribution_id: path.id
group_by: query.groupBy
resolution: query.resolution
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/bytes-transferred'].get
update:
x-apievangelist-phrasing:
intent: Get bytes transferred for a distribution
effect: read
questions:
- How much data did my distribution deliver over a period?
- Can I see a distribution's bytes transferred at hourly or daily resolution?
instructions:
- text: Get bytes transferred by distribution {distribution_id} from {start} to {end} at {resolution} resolution.
slots:
distribution_id: path.id
resolution: query.resolution
start: query.start
end: query.end
- text: Chart data delivered through distribution {distribution_id} between {start} and {end}, {resolution}.
slots:
distribution_id: path.id
resolution: query.resolution
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/viewing-minutes/browsers'].get
update:
x-apievangelist-phrasing:
intent: Get distribution viewing minutes by browser
effect: read
questions:
- Which browsers account for the most watch time on my distribution?
- How are a distribution's viewing minutes split across browsers?
instructions:
- text: Break down viewing minutes by browser for distribution {distribution_id} from {start} to {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
- text: Rank browsers by watch time on distribution {distribution_id} between {start} and {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/viewing-minutes/countries'].get
update:
x-apievangelist-phrasing:
intent: Get distribution viewing minutes by country
effect: read
questions:
- Which countries watch the most minutes on my distribution?
- How are a distribution's viewing minutes split by country?
instructions:
- text: Break down viewing minutes by country for distribution {distribution_id} from {start} to {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
- text: Rank countries by watch time on distribution {distribution_id} between {start} and {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/bytes-transferred/browsers'].get
update:
x-apievangelist-phrasing:
intent: Get distribution bytes transferred by browser
effect: read
questions:
- Which browsers pulled the most data from my distribution?
- How is a distribution's data transfer split across browsers?
instructions:
- text: Break down bytes transferred by browser for distribution {distribution_id} from {start} to {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
- text: Rank browsers by data delivered on distribution {distribution_id} between {start} and {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/bytes-transferred/countries'].get
update:
x-apievangelist-phrasing:
intent: Get distribution bytes transferred by country
effect: read
questions:
- Which countries pulled the most data from my distribution?
- How is a distribution's data transfer split by country?
instructions:
- text: Break down bytes transferred by country for distribution {distribution_id} from {start} to {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
- text: Rank countries by data delivered on distribution {distribution_id} between {start} and {end}.
slots:
distribution_id: path.id
start: query.start
end: query.end
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/insights/countries'].get
update:
x-apievangelist-phrasing:
intent: Get country insights for a distribution
effect: read
questions:
- What country insights are available for my distribution over the last 30 days?
- Why can't I get distribution country insights older than 30 days?
instructions:
- text: Get country insights for distribution {distribution_id} over period {period}.
slots:
distribution_id: path.id
period: query.period
- text: Show recent audience-by-country insights on distribution {distribution_id} for {period}.
slots:
distribution_id: path.id
period: query.period
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/insights/browsers-os'].get
update:
x-apievangelist-phrasing:
intent: Get browser and OS insights for a distribution
effect: read
questions:
- Which browsers and operating systems do my distribution's viewers use?
- Can I see a recent browser and OS mix for one distribution?
instructions:
- text: Get browser and OS insights for distribution {distribution_id} over period {period}.
slots:
distribution_id: path.id
period: query.period
- text: Show the operating systems viewing distribution {distribution_id} during {period}.
slots:
distribution_id: path.id
period: query.period
method: generated
generated: '2026-10-01'
- target: $.paths['/distributions/{id}/analytics/insights/viewers'].get
update:
x-apievangelist-phrasing:
intent: Get viewer count insights for a distribution
effect: read
questions:
- How many viewers has my distribution had recently?
- What did concurrent viewer counts look like on a distribution in the last 30 days?
instructions:
- text: Get viewer count insights for distribution {distribution_id} over period {period}.
slots:
distribution_id: path.id
period: query.period
- text: Show how many people watched distribution {distribution_id} during {period}.
slots:
distribution_id: path.id
period: query.period
method: generated
generated: '2026-10-01'