Dolby.io PublishToken API

Create and manage publish (broadcaster) tokens.

OpenAPI Specification

dolby-io-publishtoken-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Dolby OptiView Real-time Streaming ABR Ladders PublishToken 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: PublishToken
  description: Create and manage publish (broadcaster) tokens.
paths:
  /publish_token:
    post:
      tags:
      - PublishToken
      summary: Create Publish Token
      description: Create a new publish token bound to one or more stream names. Tokens may include geo restrictions, allowed origins, and recording configuration.
      operationId: createPublishToken
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishTokenCreate'
      responses:
        '200':
          description: Publish token created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishToken'
  /publish_token/list:
    get:
      tags:
      - PublishToken
      summary: List Publish Tokens
      operationId: listPublishTokens
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          minimum: 0
      - name: itemsOnPage
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Page of publish tokens
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublishToken'
  /publish_token/{tokenID}:
    get:
      tags:
      - PublishToken
      summary: Get Publish Token
      operationId: getPublishToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Publish token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishToken'
    patch:
      tags:
      - PublishToken
      summary: Update Publish Token
      operationId: updatePublishToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishTokenUpdate'
      responses:
        '200':
          description: Publish token updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishToken'
    delete:
      tags:
      - PublishToken
      summary: Delete Publish Token
      operationId: deletePublishToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Publish token deleted
  /publish_token/account/tokens:
    get:
      tags:
      - PublishToken
      summary: List Active Publish Token IDs
      operationId: listActivePublishTokenIds
      responses:
        '200':
          description: Active token IDs for the account
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
components:
  schemas:
    PublishTokenCreate:
      type: object
      required:
      - label
      - streams
      properties:
        label:
          type: string
        streams:
          type: array
          items:
            type: object
            properties:
              streamName:
                type: string
              isRegex:
                type: boolean
                default: false
        allowedOrigins:
          type: array
          items:
            type: string
        record:
          type: boolean
          default: false
        multisource:
          type: boolean
          default: false
        enableThumbnails:
          type: boolean
          default: false
        expiresOn:
          type: string
          format: date-time
          nullable: true
    PublishTokenUpdate:
      type: object
      properties:
        label:
          type: string
        isActive:
          type: boolean
        allowedOrigins:
          type: array
          items:
            type: string
        record:
          type: boolean
        enableThumbnails:
          type: boolean
    PublishToken:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        token:
          type: string
          description: JWT used by the broadcaster (WebRTC/WHIP) to publish.
        addedOn:
          type: string
          format: date-time
        expiresOn:
          type: string
          format: date-time
          nullable: true
        isActive:
          type: boolean
        streams:
          type: array
          items:
            type: object
            properties:
              streamName:
                type: string
              isRegex:
                type: boolean
        allowedOrigins:
          type: array
          items:
            type: string
        originCluster:
          type: string
          nullable: true
        record:
          type: boolean
        multisource:
          type: boolean
        enableThumbnails:
          type: boolean
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Secret