Dolby.io Engines API

The Engines API from Dolby.io — 6 operation(s) for engines.

OpenAPI Specification

dolby-io-engines-api-openapi.yml Raw ↑
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