openapi: 3.0.3 info: title: Dolby OptiView Real-time Streaming ABR Ladders Engines API description: 'REST API for managing OptiView Real-time Streaming (formerly Millicast / Dolby.io Real-time Streaming) — publish/subscribe tokens, recordings, transcoders, encoder profiles, clusters, analytics, and webhooks. All requests are authenticated with a Bearer API Secret created in the streaming dashboard (Settings -> Security -> API Secrets). ' version: '2026.05' contact: name: Dolby OptiView Support url: https://optiview.dolby.com/docs/millicast/ servers: - url: https://api.millicast.com/api description: Production REST API security: - BearerAuth: [] tags: - name: Engines paths: /channels/{id}/engines: get: tags: - Engines operationId: get-channel-engines summary: Get engines of a channel parameters: - schema: type: string description: Channel ID required: true description: Channel ID name: id in: path - schema: type: string description: Pagination cursor required: false description: Pagination cursor name: cursor in: query - schema: type: number nullable: true maximum: 100 description: Maximum number of items to return (max 100) required: false description: Maximum number of items to return (max 100) name: limit in: query responses: '200': description: List of engines content: application/json: schema: $ref: '#/components/schemas/PaginatedEngineResult' post: tags: - Engines operationId: create-channel-engine summary: Create an engine for a channel parameters: - schema: type: string description: Channel ID required: true description: Channel ID name: id in: path requestBody: required: true content: application/json: schema: type: object properties: ingestId: type: string description: Ingest ID to connect the engine to name: type: string description: Name of the engine region: type: string description: Region ID to deploy the engine in priority: type: number minimum: -100 maximum: 100 description: Engine priority (-100 to 100). Lower numbers mean higher priority drm: type: boolean description: Enable DRM. Only possible when enabled on organization level. quality: type: object properties: abrLadderId: type: string description: ABR ladder ID required: - abrLadderId description: Quality configuration daiAssetKey: type: string nullable: true description: DAI asset key overlays: type: array items: type: object properties: url: type: string description: URL of the overlay image position: type: object properties: top: type: integer minimum: 0 description: Pixels from top bottom: type: integer minimum: 0 description: Pixels from bottom (ignored if top is present) left: type: integer minimum: 0 description: Pixels from left right: type: integer minimum: 0 description: Pixels from right (ignored if left is present) description: Overlay position size: type: object properties: width: type: integer minimum: 0 description: Width in pixels height: type: integer minimum: 0 description: Height in pixels description: Overlay size opacity: type: number minimum: 0 maximum: 1 description: Overlay opacity (0=invisible, 1=fully visible) required: - url description: Image overlay configuration outputs: type: object properties: hesp: type: boolean default: true description: Enable HESP output. Enabled by default. hls: type: boolean default: true description: Enable HLS output. Enabled by default. hlsMpegTs: type: boolean default: false description: Enable HLS MPEG-TS output. Only available when enabled on organization level. description: Output format configuration required: - name - region - quality additionalProperties: false responses: '200': description: Engine created content: application/json: schema: $ref: '#/components/schemas/EngineObjectResult' /engines/{id}: get: tags: - Engines operationId: get-engine summary: Get an engine by ID parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '200': description: The requested engine content: application/json: schema: $ref: '#/components/schemas/EngineObjectResult' patch: tags: - Engines operationId: update-engine summary: Update an engine by ID parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path requestBody: required: true content: application/json: schema: type: object properties: ingestId: type: string description: Ingest ID to connect the engine to name: type: string description: Name of the engine region: type: string description: Region ID priority: type: number minimum: -100 maximum: 100 description: Engine priority (-100 to 100) drm: type: boolean description: Enable DRM. Only possible when enabled on organization level. quality: type: object properties: abrLadderId: type: string description: ABR ladder ID required: - abrLadderId description: Quality configuration daiAssetKey: type: string nullable: true description: DAI asset key overlays: type: array items: type: object properties: url: type: string description: URL of the overlay image position: type: object properties: top: type: integer minimum: 0 description: Pixels from top bottom: type: integer minimum: 0 description: Pixels from bottom (ignored if top is present) left: type: integer minimum: 0 description: Pixels from left right: type: integer minimum: 0 description: Pixels from right (ignored if left is present) description: Overlay position size: type: object properties: width: type: integer minimum: 0 description: Width in pixels height: type: integer minimum: 0 description: Height in pixels description: Overlay size opacity: type: number minimum: 0 maximum: 1 description: Overlay opacity (0=invisible, 1=fully visible) required: - url description: Image overlay configuration outputs: type: object properties: hesp: type: boolean default: true description: Enable HESP output. Enabled by default. hls: type: boolean default: true description: Enable HLS output. Enabled by default. hlsMpegTs: type: boolean default: false description: Enable HLS MPEG-TS output. Only available when enabled on organization level. description: Output format configuration additionalProperties: false responses: '200': description: Updated engine content: application/json: schema: $ref: '#/components/schemas/EngineObjectResult' delete: tags: - Engines operationId: delete-engine summary: Delete an engine by ID parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '204': description: Empty response /engines/{id}/start: post: tags: - Engines operationId: start-engine summary: Start an engine parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '204': description: Engine started /engines/{id}/stop: post: tags: - Engines operationId: stop-engine summary: Stop an engine parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '204': description: Engine stopped /engines/{id}/last-run: get: tags: - Engines operationId: get-engine-last-run summary: Get the last run of an engine parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '200': description: Last engine run content: application/json: schema: $ref: '#/components/schemas/EngineRunObjectResult' /engines/{id}/runs: get: tags: - Engines operationId: get-engine-runs summary: Get runs of an engine parameters: - schema: type: string description: Engine ID required: true description: Engine ID name: id in: path responses: '200': description: List of engine runs content: application/json: schema: $ref: '#/components/schemas/PaginatedEngineRunResult' components: schemas: EngineRun: type: object properties: engineId: type: string description: Engine ID start: type: string description: Run start timestamp end: type: string description: Run end timestamp config: type: object properties: ingest: type: object properties: type: type: string description: Ingest type used url: type: string description: Ingest URL used required: - type abrLadderId: type: string description: ABR ladder ID used drm: type: boolean description: Whether DRM was enabled required: - ingest - abrLadderId - drm description: Run configuration startType: type: string description: How the run was started startId: type: string description: ID of the entity who did the start action stopType: type: string description: How the run was stopped stopId: type: string description: ID of entity who did the stop action required: - engineId - start - config - startType - startId EngineRunObjectResult: type: object properties: data: allOf: - $ref: '#/components/schemas/EngineRun' - description: Engine run object required: - data EngineObjectResult: type: object properties: data: type: object properties: id: type: string description: Unique identifier of the engine name: type: string description: Name of the engine createdAt: type: string description: Creation timestamp updatedAt: type: string description: Last update timestamp quality: type: object properties: abrLadderId: type: string description: ABR ladder ID required: - abrLadderId description: Quality configuration overlays: type: array items: type: object properties: url: type: string description: URL of the overlay image position: type: object properties: top: type: integer minimum: 0 description: Pixels from top bottom: type: integer minimum: 0 description: Pixels from bottom (ignored if top is present) left: type: integer minimum: 0 description: Pixels from left right: type: integer minimum: 0 description: Pixels from right (ignored if left is present) description: Overlay position size: type: object properties: width: type: integer minimum: 0 description: Width in pixels height: type: integer minimum: 0 description: Height in pixels description: Overlay size opacity: type: number minimum: 0 maximum: 1 description: Overlay opacity (0=invisible, 1=fully visible) required: - url description: Image overlay configuration drm: type: boolean description: Whether DRM is enabled priority: type: number description: Engine priority status: type: string enum: - stopped - deploying - starting - waiting - ingesting - playing - stopping - error - deleting - deleted description: Current status of the engine daiAssetKey: type: string nullable: true description: DAI asset key outputs: type: object properties: hesp: type: boolean default: true description: Enable HESP output. Enabled by default. hls: type: boolean default: true description: Enable HLS output. Enabled by default. hlsMpegTs: type: boolean default: false description: Enable HLS MPEG-TS output. Only available when enabled on organization level. description: Output format configuration required: - id - name - createdAt - updatedAt - quality - overlays - drm - priority - status - outputs description: Engine object required: - data PaginatedEngineResult: type: object properties: data: type: array items: type: object properties: id: type: string description: Unique identifier of the engine name: type: string description: Name of the engine createdAt: type: string description: Creation timestamp updatedAt: type: string description: Last update timestamp quality: type: object properties: abrLadderId: type: string description: ABR ladder ID required: - abrLadderId description: Quality configuration overlays: type: array items: type: object properties: url: type: string description: URL of the overlay image position: type: object properties: top: type: integer minimum: 0 description: Pixels from top bottom: type: integer minimum: 0 description: Pixels from bottom (ignored if top is present) left: type: integer minimum: 0 description: Pixels from left right: type: integer minimum: 0 description: Pixels from right (ignored if left is present) description: Overlay position size: type: object properties: width: type: integer minimum: 0 description: Width in pixels height: type: integer minimum: 0 description: Height in pixels description: Overlay size opacity: type: number minimum: 0 maximum: 1 description: Overlay opacity (0=invisible, 1=fully visible) required: - url description: Image overlay configuration drm: type: boolean description: Whether DRM is enabled priority: type: number description: Engine priority status: type: string enum: - stopped - deploying - starting - waiting - ingesting - playing - stopping - error - deleting - deleted description: Current status of the engine daiAssetKey: type: string nullable: true description: DAI asset key outputs: type: object properties: hesp: type: boolean default: true description: Enable HESP output. Enabled by default. hls: type: boolean default: true description: Enable HLS output. Enabled by default. hlsMpegTs: type: boolean default: false description: Enable HLS MPEG-TS output. Only available when enabled on organization level. description: Output format configuration required: - id - name - createdAt - updatedAt - quality - overlays - drm - priority - status - outputs description: List of engines pagination: type: object properties: hasMore: type: boolean description: Whether more results are available cursor: type: string description: Cursor for the next page of results required: - hasMore - cursor description: Pagination info required: - data - pagination PaginatedEngineRunResult: type: object properties: data: type: array items: $ref: '#/components/schemas/EngineRun' description: List of engine runs pagination: type: object properties: hasMore: type: boolean description: Whether more results are available cursor: type: string description: Cursor for the next page of results required: - hasMore - cursor description: Pagination info required: - data - pagination securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: API Secret