Dolby.io SubscribeToken API

Create and manage subscribe (viewer) tokens.

OpenAPI Specification

dolby-io-subscribetoken-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Dolby OptiView Real-time Streaming ABR Ladders SubscribeToken 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: SubscribeToken
  description: Create and manage subscribe (viewer) tokens.
paths:
  /subscribe_token:
    post:
      tags:
      - SubscribeToken
      summary: Create Subscribe Token
      description: Create a viewer token bound to specific streams, with optional IP, origin, geo, or referer restrictions.
      operationId: createSubscribeToken
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscribeTokenCreate'
      responses:
        '200':
          description: Subscribe token created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscribeToken'
  /subscribe_token/list:
    get:
      tags:
      - SubscribeToken
      summary: List Subscribe Tokens
      operationId: listSubscribeTokens
      responses:
        '200':
          description: Subscribe tokens
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscribeToken'
  /subscribe_token/{tokenID}:
    get:
      tags:
      - SubscribeToken
      summary: Get Subscribe Token
      operationId: getSubscribeToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Subscribe token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscribeToken'
    patch:
      tags:
      - SubscribeToken
      summary: Update Subscribe Token
      operationId: updateSubscribeToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscribeTokenUpdate'
      responses:
        '200':
          description: Subscribe token updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscribeToken'
    delete:
      tags:
      - SubscribeToken
      summary: Delete Subscribe Token
      operationId: deleteSubscribeToken
      parameters:
      - name: tokenID
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Subscribe token deleted
components:
  schemas:
    SubscribeToken:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        token:
          type: string
        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
        allowedIpAddresses:
          type: array
          items:
            type: string
        bindIpsOnUsage:
          type: integer
          nullable: true
        allowedCountries:
          type: array
          items:
            type: string
        deniedCountries:
          type: array
          items:
            type: string
    SubscribeTokenCreate:
      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
        allowedIpAddresses:
          type: array
          items:
            type: string
        bindIpsOnUsage:
          type: integer
          nullable: true
        allowedCountries:
          type: array
          items:
            type: string
        deniedCountries:
          type: array
          items:
            type: string
        expiresOn:
          type: string
          format: date-time
          nullable: true
    SubscribeTokenUpdate:
      type: object
      properties:
        label:
          type: string
        isActive:
          type: boolean
        allowedOrigins:
          type: array
          items:
            type: string
        allowedIpAddresses:
          type: array
          items:
            type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Secret