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