Dolby.io · Arazzo Workflow

Dolby OptiView Audit Channel Run History

Version 1.0.0

Resolve a channel, list its engine runs, and pull its transcoding-minutes analytics.

1 workflow 1 source API 1 provider
View Spec View on GitHub MediaStreamingReal-time StreamingWebRTCLive StreamingLow LatencyVideoAudioBroadcastPlayerAdvertisingDolby OptiViewMillicastTHEOliveTHEOplayerArazzoWorkflows

Provider

dolby-io

Workflows

audit-channel-run-history
Read a channel, its engine runs, and its transcoding-minutes analytics.
Confirms a channel, lists its engine runs, and retrieves transcoding-minutes analytics for a date range and resolution.
3 steps inputs: authorization, channelId, end, resolution, start outputs: channelStatus, runs, transcodingMinutes
1
getChannel
get-channel
Confirm the channel exists and capture its current status.
2
listRuns
get-channel-runs
List the channel's engine runs. Each run includes its engineId, start and config under data.
3
getTranscodingMinutes
get-channel-transcoding-minutes
Retrieve transcoding-minutes analytics for the channel over the requested window and resolution.

Source API Descriptions

Arazzo Workflow Specification

dolby-io-audit-channel-run-history-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dolby OptiView Audit Channel Run History
  summary: Resolve a channel, list its engine runs, and pull its transcoding-minutes analytics.
  description: >-
    Produces an operational audit of a THEOlive channel. The workflow confirms
    the channel exists and captures its current status, lists the historical
    engine runs (each run records start, stop and configuration), and finally
    pulls the transcoding-minutes analytics for a reporting window. The three
    read operations chain on the channel id so a single pass yields a complete
    run-and-usage picture. Every step inlines its Authorization header so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: theoliveApi
  url: ../openapi/dolby-io-theolive-api-openapi.yml
  type: openapi
workflows:
- workflowId: audit-channel-run-history
  summary: Read a channel, its engine runs, and its transcoding-minutes analytics.
  description: >-
    Confirms a channel, lists its engine runs, and retrieves transcoding-minutes
    analytics for a date range and resolution.
  inputs:
    type: object
    required:
    - authorization
    - channelId
    - start
    - end
    - resolution
    properties:
      authorization:
        type: string
        description: HTTP Basic Authorization header value.
      channelId:
        type: string
        description: The id of the channel to audit.
      start:
        type: string
        description: Start of the analytics period (timestamp).
      end:
        type: string
        description: End of the analytics period (timestamp).
      resolution:
        type: string
        description: Analytics time resolution (15min, hour, day, or month).
  steps:
  - stepId: getChannel
    description: Confirm the channel exists and capture its current status.
    operationId: get-channel
    parameters:
    - name: id
      in: path
      value: $inputs.channelId
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/data/status
  - stepId: listRuns
    description: >-
      List the channel's engine runs. Each run includes its engineId, start and
      config under data.
    operationId: get-channel-runs
    parameters:
    - name: id
      in: path
      value: $inputs.channelId
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runs: $response.body#/data
      nextCursor: $response.body#/pagination/cursor
  - stepId: getTranscodingMinutes
    description: >-
      Retrieve transcoding-minutes analytics for the channel over the requested
      window and resolution.
    operationId: get-channel-transcoding-minutes
    parameters:
    - name: id
      in: path
      value: $inputs.channelId
    - name: start
      in: query
      value: $inputs.start
    - name: end
      in: query
      value: $inputs.end
    - name: resolution
      in: query
      value: $inputs.resolution
    - name: Authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      analytics: $response.body#/data
  outputs:
    channelStatus: $steps.getChannel.outputs.status
    runs: $steps.listRuns.outputs.runs
    transcodingMinutes: $steps.getTranscodingMinutes.outputs.analytics