How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Dolby OptiView Live

THEOlive API v2 - live streaming channel orchestration: channels, ingests, engines, distributions, ABR ladders, schedulers, custom endpoints, webhooks and per-channel analytics. 57 paths / 82 operations over HTTP Basic auth.

Dolby OptiView Live is one of 7 APIs that Dolby publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Streaming, Live, and Video. The published artifact set on APIs.io includes API documentation, an API reference, an OpenAPI specification, and authentication docs.

This API exposes 82 operations across 57 paths, organized into 10 resource areas, and defines 85 schemas. It is described by OpenAPI 3.0.0, at version v2.

Requests are made against 2 base URLs: https://api.theo.live/v2, https://api.theo.live.

82 operations 57 paths 85 schemas 9 DELETE52 GET7 PATCH14 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
v2
Base URL
https://api.theo.live/v2
Authentication
HTTP Basic
Resource Areas
10

Authentication & Security 1

Dolby OptiView Live declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

Paths & Operations 82

Across 57 paths, the API surfaces 82 operations — 9 DELETE, 52 GET, 7 PATCH, 14 POST. They span 10 resource areas: Channels, Ingests, Engines, Distributions, Regions, ABR Ladders, Webhooks, Schedulers, Custom Endpoints, Monitoring. Each is listed below with its method, path, parameters, and response codes.

Channels 28
GET
/channels
Get all channels
get-channels 7 params → 200
POST
/channels
Create a new channel
create-channel body → 200
GET
/channels/{id}
Get a channel by ID
get-channel 2 params → 200
PATCH
/channels/{id}
Update a channel by ID
update-channel 1 param body → 200
DELETE
/channels/{id}
Delete a channel by ID
delete-channel 1 param → 204
GET
/channels/{id}/drm/configs
Get the DRM content protection configurations of a channel
get-channel-drm-configs 1 param → 200
POST
/channels/{id}/start
Start a channel (will start all connected engines)
start-channel 1 param → 204
POST
/channels/{id}/stop
Stop a channel (will stop all connected engines)
stop-channel 1 param → 204
GET
/channels/{id}/ingests
Get ingests of a channel
get-channel-ingests 3 params → 200
POST
/channels/{id}/ingests
Create an ingest for a channel
create-channel-ingest 1 param body → 200
GET
/channels/{id}/engines
Get engines of a channel
get-channel-engines 3 params → 200
POST
/channels/{id}/engines
Create an engine for a channel
create-channel-engine 1 param body → 200
GET
/channels/{id}/distributions
Get distributions of a channel
get-channel-distributions 3 params → 200
POST
/channels/{id}/distributions
Create a distribution for a channel
create-channel-distribution 1 param body → 200
POST
/channels/{id}/instream-metadata/{uuid}
Send instream metadata for a channel
send-channel-instream-metadata 2 params body → 200413429
GET
/channels/{id}/runs
Get engine runs of a channel
get-channel-runs 6 params → 200
GET
/channels/{id}/analytics/transcoding-minutes
Get transcoding minutes analytics for a channel
get-channel-transcoding-minutes 7 params → 200
GET
/channels/{id}/analytics/viewing-minutes
Get viewing minutes analytics for a channel
get-channel-viewing-minutes 8 params → 200
GET
/channels/{id}/analytics/bytes-transferred
Get bytes transferred analytics for a channel
get-channel-bytes-transferred 7 params → 200
GET
/channels/{id}/analytics/viewing-minutes/browsers
Get viewing minutes grouped by browser for a channel
get-channel-viewing-minutes-browsers 6 params → 200
GET
/channels/{id}/analytics/viewing-minutes/countries
Get viewing minutes grouped by country for a channel
get-channel-viewing-minutes-countries 6 params → 200
GET
/channels/{id}/analytics/bytes-transferred/browsers
Get bytes transferred grouped by browser for a channel
get-channel-bytes-transferred-browsers 6 params → 200
GET
/channels/{id}/analytics/bytes-transferred/countries
Get bytes transferred grouped by country for a channel
get-channel-bytes-transferred-countries 6 params → 200
GET
/channels/{id}/analytics/insights/countries
Get country insights for a channel
get-channel-insights-countries 5 params → 200
GET
/channels/{id}/analytics/insights/browsers-os
Get browser and OS insights for a channel
get-channel-insights-browsers-os 5 params → 200
GET
/channels/{id}/analytics/insights/viewers
Get viewer count insights for a channel
get-channel-insights-viewers 5 params → 200
POST
/channels/{id}/custom-endpoints
Create a custom endpoint on a channel
create-custom-endpoint 1 param body → 200
GET
/channels/{id}/custom-endpoints
List all custom endpoints of a channel
get-channel-custom-endpoints 1 param → 200
Ingests 5
GET
/ingests/{id}
Get an ingest by ID
get-ingest 1 param → 200
PATCH
/ingests/{id}
Update an ingest by ID
update-ingest 1 param body → 200
DELETE
/ingests/{id}
Delete an ingest by ID
delete-ingest 1 param → 204
GET
/ingests/{id}/engines
Get engines of an ingest
get-ingest-engines 1 param → 200
POST
/ingests/{id}/engines
Create an engine for an ingest
create-ingest-engine 1 param body → 200
Engines 7
GET
/engines/{id}
Get an engine by ID
get-engine 1 param → 200
PATCH
/engines/{id}
Update an engine by ID
update-engine 1 param body → 200
DELETE
/engines/{id}
Delete an engine by ID
delete-engine 1 param → 204
POST
/engines/{id}/start
Start an engine
start-engine 1 param → 204
POST
/engines/{id}/stop
Stop an engine
stop-engine 1 param → 204
GET
/engines/{id}/last-run
Get the last run of an engine
get-engine-last-run 1 param → 200
GET
/engines/{id}/runs
Get runs of an engine
get-engine-runs 1 param → 200
Distributions 17
GET
/distributions/{id}
Get a distribution by ID
get-distribution 1 param → 200
PATCH
/distributions/{id}
Update a distribution by ID
update-distribution 1 param body → 200
DELETE
/distributions/{id}
Delete a distribution by ID
delete-distribution 1 param → 204
GET
/distributions/{id}/security/keys
Get security keys of a distribution
get-distribution-security-keys 1 param → 200
POST
/distributions/{id}/security/keys
Add a security key to a distribution
create-distribution-security-key 1 param body → 200
DELETE
/distributions/{id}/security/keys
Delete all security keys of a distribution
delete-all-distribution-security-keys 1 param → 204
GET
/distributions/{id}/security/keys/{keyId}
Get a specific security key
get-distribution-security-key 2 params → 200
DELETE
/distributions/{id}/security/keys/{keyId}
Delete a specific security key
delete-distribution-security-key 2 params → 204
GET
/distributions/{id}/analytics/viewing-minutes
Get viewing minutes analytics for a distribution
get-distribution-viewing-minutes 8 params → 200
GET
/distributions/{id}/analytics/bytes-transferred
Get bytes transferred analytics for a distribution
get-distribution-bytes-transferred 7 params → 200
GET
/distributions/{id}/analytics/viewing-minutes/browsers
Get viewing minutes grouped by browser for a distribution
get-distribution-viewing-minutes-browsers 6 params → 200
GET
/distributions/{id}/analytics/viewing-minutes/countries
Get viewing minutes grouped by country for a distribution
get-distribution-viewing-minutes-countries 6 params → 200
GET
/distributions/{id}/analytics/bytes-transferred/browsers
Get bytes transferred grouped by browser for a distribution
get-distribution-bytes-transferred-browsers 6 params → 200
GET
/distributions/{id}/analytics/bytes-transferred/countries
Get bytes transferred grouped by country for a distribution
get-distribution-bytes-transferred-countries 6 params → 200
GET
/distributions/{id}/analytics/insights/countries
Get country insights for a distribution
get-distribution-insights-countries 5 params → 200
GET
/distributions/{id}/analytics/insights/browsers-os
Get browser and OS insights for a distribution
get-distribution-insights-browsers-os 5 params → 200
GET
/distributions/{id}/analytics/insights/viewers
Get viewer count insights for a distribution
get-distribution-insights-viewers 5 params → 200
Regions 4
GET
/regions
Get all regions available for your organization
get-regions → 200
GET
/regions/{regionId}
Get a region by ID
get-region 1 param → 200404
GET
/regions/{regionId}/sdi
Get the SDI devices of an on-prem region
get-region-sdi-devices 1 param → 200400404
GET
/regions/{regionId}/ndi
Get the NDI sources of an on-prem region
get-region-ndi-sources 1 param → 200400404
ABR Ladders 1
GET
/abr
Get all ABR ladders for your organization
get-abr-ladders → 200
Webhooks 7
GET
/webhooks
Get all webhooks
get-webhooks → 200
POST
/webhooks
Create a new webhook
create-webhook body → 200
GET
/webhooks/{id}
Get a webhook by ID
get-webhook 1 param → 200
PATCH
/webhooks/{id}
Update a webhook by ID
update-webhook 1 param body → 200
DELETE
/webhooks/{id}
Delete a webhook by ID
delete-webhook 1 param → 204
GET
/webhooks/{id}/secret
Get a webhook secret
get-webhook-secret 1 param → 200
GET
/webhooks/{id}/logs
Get webhook logs
get-webhook-logs 4 params → 200
Schedulers 5
GET
/schedulers
List all schedulers
get-schedulers 5 params → 200
POST
/schedulers
Create a scheduler
create-scheduler body → 200
GET
/schedulers/{id}
Get a scheduler by ID
get-scheduler 1 param → 200
PATCH
/schedulers/{id}
Update a scheduler by ID
update-scheduler 1 param body → 200
DELETE
/schedulers/{id}
Delete a scheduler by ID
delete-scheduler 1 param → 204
Custom Endpoints 3
GET
/custom-endpoints/{id}
Get a custom endpoint by ID
get-custom-endpoint 1 param → 200
PATCH
/custom-endpoints/{id}
Update a custom endpoint
update-custom-endpoint 1 param body → 200
DELETE
/custom-endpoints/{id}
Delete a custom endpoint
delete-custom-endpoint 1 param → 204
Monitoring 5
GET
/monitoring/channels/{channelId}
Get monitoring data for a channel
get-channel-monitoring 1 param → 200404500
GET
/monitoring/ingests/{ingestId}
Get detailed monitoring data for an ingest
get-ingest-monitoring 3 params → 200404500
GET
/monitoring/engines/{engineId}
Get detailed monitoring data for an engine
get-engine-monitoring 3 params → 200404500
GET
/monitoring/channels/{channelId}/ingests
Get detailed ingest monitoring data for a channel
get-channel-ingests-monitoring 3 params → 200404500
GET
/monitoring/channels/{channelId}/engines
Get detailed engine monitoring data for a channel
get-channel-engines-monitoring 3 params → 200404500

Schemas 85

The contract defines 85 schemas that model the data the API accepts and returns. The most detailed are Distribution (17 properties), UpdateDistributionBody (15 properties), CreateDistributionBody (15 properties), Channel (13 properties). Each schema is shown below with its type and property counts.

PaginatedChannelResult
object
2 properties 2 required
Channel
object
13 properties 7 required
ChannelCreatedObjectResult
object
1 property 1 required
ChannelCreated
Created channel with connected resources
Ingest
object
10 properties 7 required
IngestSdi
object
SDI capture card configuration (only for sdi-pull ingests)
6 properties
IngestNdi
object
NDI source configuration (only for ndi-pull ingests)
1 property 1 required
Distribution
object
17 properties 8 required
CreateChannelBody
object
10 properties 1 required
Restream
object
2 properties 2 required
CreateIngestBody
object
8 properties 2 required
ChannelObjectResultWithIncludes
object
4 properties 1 required
IncludedIngests
object
Included ingests preview
4 properties 4 required
IncludedEngines
object
Included engines preview
4 properties 4 required
IncludedDistributions
object
Included distributions preview
4 properties 4 required
ChannelDrmConfigsResult
object
1 property 1 required
ChannelDrmContentProtection
object
5 properties 1 required
ChannelObjectResult
object
1 property 1 required
UpdateChannelBody
object
8 properties
PaginatedIngestResult
object
2 properties 2 required
IngestObjectResult
object
1 property 1 required
PaginatedEngineResult
object
2 properties 2 required
EngineObjectResult
object
1 property 1 required
PaginatedDistributionResult
object
2 properties 2 required
DistributionObjectResult
object
1 property 1 required
CreateDistributionBody
object
15 properties 1 required
SendInstreamMetadataBody
string
Binary blob of instream metadata as the payload for the UUID
PaginatedEngineRunResult
object
2 properties 2 required
EngineRun
object
8 properties 5 required
AnalyticsListResult
object
1 property 1 required
ViewingBrowserListResult
object
1 property 1 required
ViewingCountryListResult
object
1 property 1 required
CountryInsightsListResult
object
1 property 1 required
BrowserOsInsightsListResult
object
1 property 1 required
ViewersInsightsListResult
object
1 property 1 required
UpdateIngestBody
object
8 properties
EngineRunObjectResult
object
1 property 1 required
UpdateDistributionBody
object
15 properties
DistributionSecurityKeyListResult
object
1 property 1 required
DistributionSecurityKeyObjectResult
object
1 property 1 required
CreateDistributionSecurityKeyBody
object
2 properties 1 required
RegionListResult
object
1 property 1 required
RegionResult
object
1 property 1 required
SdiDeviceListResult
object
1 property 1 required
SdiDevice
object
6 properties 5 required
NdiSourceListResult
object
1 property 1 required
NdiSource
object
6 properties 6 required
AbrListResult
object
1 property 1 required
PaginatedWebhookResult
object
2 properties 2 required
Webhook
object
8 properties 7 required
WebhookObjectResult
object
1 property 1 required
CreateWebhookBody
object
5 properties 3 required
UpdateWebhookBody
object
5 properties
WebhookSecretResult
object
1 property 1 required
PaginatedWebhookLogResult
object
2 properties 2 required
WebhookLog
object
5 properties 5 required
PaginatedSchedulerResult
object
2 properties 2 required
Scheduler
object
13 properties 10 required
SchedulerChannelSelection
object
2 properties 1 required
SchedulerObjectResult
object
1 property 1 required
CreateSchedulerBody
object
10 properties 3 required
UpdateSchedulerBody
object
10 properties
CustomEndpointObjectResult
object
1 property 1 required
CustomEndpoint
object
Custom endpoint object
13 properties 12 required
CreateCustomEndpointBody
object
8 properties 6 required
CustomEndpointDrmConfig
object
Optional DRM configuration
5 properties 1 required
CustomEndpointListResult
object
1 property 1 required
UpdateCustomEndpointBody
object
8 properties
ChannelMonitoringResult
object
1 property 1 required
ChannelMonitoringData
object
6 properties 6 required
IngestMonitoringStatus
object
2 properties 2 required
EngineMonitoringStatus
object
4 properties 2 required
DistributionMonitoringStatus
object
2 properties 2 required
MonitoringError
object
2 properties 2 required
IngestMonitoringResult
object
1 property 1 required
IngestMonitoringData
object
6 properties 3 required
IngestMetricDataPoint
object
5 properties 5 required
EngineMonitoringResult
object
1 property 1 required
EngineMonitoringData
object
3 properties 2 required
EngineRenditionData
object
2 properties 2 required
EngineRenditionMetricDataPoint
object
3 properties 3 required
ChannelIngestsMonitoringResult
object
1 property 1 required
ChannelIngestsMonitoringData
object
4 properties 4 required
ChannelEnginesMonitoringResult
object
1 property 1 required
ChannelEnginesMonitoringData
object
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

dolby-optiview-live-openapi.yml Raw ↑

Other APIs Dolby publishes across the network.

Dolby OptiView Player
Dolby OptiView Real-time Streaming (Millicast)
Dolby OptiView Director API (Millicast)
Dolby OptiView Advanced Analytics API (Millicast)
Dolby OptiView Ads
Dolby OptiView Ad Engine
Where this information came from

This is an independent, third-party profile of Dolby OptiView Live, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.