openapi: 3.0.3
info:
  title: DHD control api - AES67 Modules
  description: >-
    This is the basic api tree for DHD AES67 Ravenna Interfaces with firmware
    10.4 and newer.
  termsOfService: http://developer.dhd.audio/docs/API/license-agreement/
  contact:
    email: dhd@dhd.audio
  version: 0.8.0
security:
  - api_key:
      - apiKey
externalDocs:
  description: DHD developer
  url: https://developer.dhd.audio
servers:
  - url: http://{device}/modules/{ID}/api/rest/
    description: REST path for GET and POST requests
    variables:
      device:
        description: The device url or dns name
        type: string
      ID:
        description: The module identifier
        type: integer
  - url: http://{device}/modules/{ID}/api/ws/
    description: WebSocket path for real-time communication
    variables:
      device:
        description: The device url or dns name
        type: string
      ID:
        description: The module identifier
        type: integer
paths:
  /:
    get:
      summary: root
      description: Query the whole system tree
      security:
        - token: []
      tags:
        - root
      schema:
        type: object
        properties:
          audio:
            type: object
            properties:
              routing:
                type: object
                properties:
                  inputs:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _channels:
                            type: integer
                            example: 1
                          _device:
                            type: string
                            example: Mic I/O 1
                          _hasagain:
                            type: boolean
                            example: true
                          _hasp48:
                            type: boolean
                            example: true
                          _name:
                            type: string
                            example: Mic Front
                  outputs:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _channels:
                            type: integer
                            example: 2
                          _device:
                            type: string
                            example: Headphone I/O 1
                          _name:
                            type: string
                            example: HP1
                  routes:
                    type: object
                    properties:
                      '0':
                        type: string
                        example: '198'
          control:
            type: object
            properties:
              gpis:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _label:
                        type: string
                        example: GPI1
                      _state:
                        type: boolean
                        example: false
                      channel:
                        type: string
                        example: 1.2.3
              gpos:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _label:
                        type: string
                        example: GPO1
                      _state:
                        type: boolean
                        example: true
                      channel:
                        type: string
                        example: 2.3.4
          general:
            type: object
            properties:
              _activewebsockets:
                type: integer
                example: 0
              _api_version:
                type: string
                example: 1.0.0
              _firmware_version:
                type: string
                example: 10.3.0.17
              _hardwareserial:
                type: string
                example: ''
              _hourmeter:
                type: integer
                example: 0
              _maxwebsockets:
                type: integer
                example: 5
              _systemtime:
                type: integer
                example: 0
              _uptime:
                type: integer
                example: 0
              _temperature:
                type: integer
                example: 60
              capabilities:
                type: object
                properties:
                  _extendedfeature:
                    type: boolean
                    example: true
                  _limited16x16:
                    type: boolean
                    example: false
                  _maxrxstreams:
                    type: integer
                    example: 32
                  _maxtxstreams:
                    type: integer
                    example: 32
                  _rxload:
                    type: integer
                    example: 0
                  _txload:
                    type: integer
                    example: 25
              ptp:
                type: object
                properties:
                  announce:
                    type: integer
                    example: 0
                  delaymechanism:
                    type: string
                    example: E2E
                  domain:
                    type: integer
                    example: 0
                  fs:
                    type: integer
                    example: 48000
                  ip_dscp:
                    type: integer
                    example: 56
                  prio1:
                    type: integer
                    example: 127
                  prio2:
                    type: integer
                    example: 127
                  slaveonly:
                    type: boolean
                    example: false
                  state:
                    type: object
                    properties:
                      _clockoffset:
                        type: array
                        items:
                          type: number
                          format: double
                          example:
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                      _clockstate:
                        type: string
                        example: FREERUN
                      _clockstateid:
                        type: integer
                        example: 1
                      _grandmasterid:
                        type: string
                        example: 000a63fffe054faf
                      _state:
                        type: string
                        example: Leader
                      _state1:
                        type: integer
                        example: 1
                      _state2:
                        type: integer
                        example: 1
                      _syncmaster:
                        type: string
                        example: 000a63fffe054faf
                  syncinterval:
                    type: integer
                    example: -3
          streams:
            type: object
            properties:
              _available:
                type: array
                items:
                  type: object
                  example:
                    - address: 234.100.0.1
                      address2: 234.101.0.1
                      channels: 8
                      codec: L24
                      info: text
                      name: xc3@Audio.SX2.KPYR
                      samples-per-packet: 6
              _rx-errors:
                type: integer
                example: 0
              rx-streams:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _id:
                        type: string
                        example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                      _running:
                        type: boolean
                        example: false
                      _rxerrors:
                        type: integer
                        example: 0
                      _status:
                        type: integer
                        example: 2
                      _statustext:
                        type: string
                        example: No RTP data arriving
                      channels:
                        type: integer
                        example: 2
                      codec:
                        type: string
                        example: L24
                      delay:
                        type: integer
                        example: 192
                      enabled:
                        type: boolean
                        example: true
                      name:
                        type: string
                        example: mystream24
                      sdp:
                        type: string
                        example: ''
                      source:
                        type: string
                        example: PGM@Audio.SX2.test
                      source2:
                        type: string
                        example: ''
                      syntonized:
                        type: boolean
                        example: true
                      usesecondary:
                        type: boolean
                        example: false
              tx-streams:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _id:
                        type: string
                        example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                      _rtsp-uri:
                        type: string
                        example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                      _running:
                        type: boolean
                        example: false
                      _sdp:
                        type: string
                        example: ''
                      _status:
                        type: integer
                        example: 1
                      _statustext:
                        type: string
                        example: ''
                      address:
                        type: string
                        example: 239.27.168.1
                      address2:
                        type: string
                        example: 239.1.126.33
                      address2enable:
                        type: boolean
                        example: true
                      addressenable:
                        type: boolean
                        example: true
                      channels:
                        type: integer
                        example: 2
                      codec:
                        type: string
                        example: L24
                      dscp:
                        type: integer
                        example: 34
                      enabled:
                        type: boolean
                        example: false
                      info:
                        type: string
                        example: ''
                      name:
                        type: string
                        example: 2ch stero
                      payload:
                        type: integer
                        example: 96
                      port:
                        type: integer
                        example: 5004
                      samples-per-packet:
                        type: integer
                        example: 48
                      sap:
                        type: boolean
                        example: true
                      ttl:
                        type: integer
                        example: 42
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  audio:
                    type: object
                    properties:
                      routing:
                        type: object
                        properties:
                          inputs:
                            type: object
                            properties:
                              '0':
                                type: object
                                properties:
                                  _channels:
                                    type: integer
                                    example: 1
                                  _device:
                                    type: string
                                    example: Mic I/O 1
                                  _hasagain:
                                    type: boolean
                                    example: true
                                  _hasp48:
                                    type: boolean
                                    example: true
                                  _name:
                                    type: string
                                    example: Mic Front
                          outputs:
                            type: object
                            properties:
                              '0':
                                type: object
                                properties:
                                  _channels:
                                    type: integer
                                    example: 2
                                  _device:
                                    type: string
                                    example: Headphone I/O 1
                                  _name:
                                    type: string
                                    example: HP1
                          routes:
                            type: object
                            properties:
                              '0':
                                type: string
                                example: '198'
                  control:
                    type: object
                    properties:
                      gpis:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _label:
                                type: string
                                example: GPI1
                              _state:
                                type: boolean
                                example: false
                              channel:
                                type: string
                                example: 1.2.3
                      gpos:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _label:
                                type: string
                                example: GPO1
                              _state:
                                type: boolean
                                example: true
                              channel:
                                type: string
                                example: 2.3.4
                  general:
                    type: object
                    properties:
                      _activewebsockets:
                        type: integer
                        example: 0
                      _api_version:
                        type: string
                        example: 1.0.0
                      _firmware_version:
                        type: string
                        example: 10.3.0.17
                      _hardwareserial:
                        type: string
                        example: ''
                      _hourmeter:
                        type: integer
                        example: 0
                      _maxwebsockets:
                        type: integer
                        example: 5
                      _systemtime:
                        type: integer
                        example: 0
                      _uptime:
                        type: integer
                        example: 0
                      _temperature:
                        type: integer
                        example: 60
                      capabilities:
                        type: object
                        properties:
                          _extendedfeature:
                            type: boolean
                            example: true
                          _limited16x16:
                            type: boolean
                            example: false
                          _maxrxstreams:
                            type: integer
                            example: 32
                          _maxtxstreams:
                            type: integer
                            example: 32
                          _rxload:
                            type: integer
                            example: 0
                          _txload:
                            type: integer
                            example: 25
                      ptp:
                        type: object
                        properties:
                          announce:
                            type: integer
                            example: 0
                          delaymechanism:
                            type: string
                            example: E2E
                          domain:
                            type: integer
                            example: 0
                          fs:
                            type: integer
                            example: 48000
                          ip_dscp:
                            type: integer
                            example: 56
                          prio1:
                            type: integer
                            example: 127
                          prio2:
                            type: integer
                            example: 127
                          slaveonly:
                            type: boolean
                            example: false
                          state:
                            type: object
                            properties:
                              _clockoffset:
                                type: array
                                items:
                                  type: number
                                  format: double
                                  example:
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                                    - 30440993.544
                              _clockstate:
                                type: string
                                example: FREERUN
                              _clockstateid:
                                type: integer
                                example: 1
                              _grandmasterid:
                                type: string
                                example: 000a63fffe054faf
                              _state:
                                type: string
                                example: Leader
                              _state1:
                                type: integer
                                example: 1
                              _state2:
                                type: integer
                                example: 1
                              _syncmaster:
                                type: string
                                example: 000a63fffe054faf
                          syncinterval:
                            type: integer
                            example: -3
                  streams:
                    type: object
                    properties:
                      _available:
                        type: array
                        items:
                          type: object
                          example:
                            - address: 234.100.0.1
                              address2: 234.101.0.1
                              channels: 8
                              codec: L24
                              info: text
                              name: xc3@Audio.SX2.KPYR
                              samples-per-packet: 6
                      _rx-errors:
                        type: integer
                        example: 0
                      rx-streams:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _id:
                                type: string
                                example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                              _running:
                                type: boolean
                                example: false
                              _rxerrors:
                                type: integer
                                example: 0
                              _status:
                                type: integer
                                example: 2
                              _statustext:
                                type: string
                                example: No RTP data arriving
                              channels:
                                type: integer
                                example: 2
                              codec:
                                type: string
                                example: L24
                              delay:
                                type: integer
                                example: 192
                              enabled:
                                type: boolean
                                example: true
                              name:
                                type: string
                                example: mystream24
                              sdp:
                                type: string
                                example: ''
                              source:
                                type: string
                                example: PGM@Audio.SX2.test
                              source2:
                                type: string
                                example: ''
                              syntonized:
                                type: boolean
                                example: true
                              usesecondary:
                                type: boolean
                                example: false
                      tx-streams:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _id:
                                type: string
                                example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                              _rtsp-uri:
                                type: string
                                example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                              _running:
                                type: boolean
                                example: false
                              _sdp:
                                type: string
                                example: ''
                              _status:
                                type: integer
                                example: 1
                              _statustext:
                                type: string
                                example: ''
                              address:
                                type: string
                                example: 239.27.168.1
                              address2:
                                type: string
                                example: 239.1.126.33
                              address2enable:
                                type: boolean
                                example: true
                              addressenable:
                                type: boolean
                                example: true
                              channels:
                                type: integer
                                example: 2
                              codec:
                                type: string
                                example: L24
                              dscp:
                                type: integer
                                example: 34
                              enabled:
                                type: boolean
                                example: false
                              info:
                                type: string
                                example: ''
                              name:
                                type: string
                                example: 2ch stero
                              payload:
                                type: integer
                                example: 96
                              port:
                                type: integer
                                example: 5004
                              samples-per-packet:
                                type: integer
                                example: 48
                              sap:
                                type: boolean
                                example: true
                              ttl:
                                type: integer
                                example: 42
  /audio:
    get:
      summary: /audio
      description: Query the system audio node with all parameters
      security:
        - token: []
      tags:
        - root
      schema:
        type: object
        properties:
          routing:
            type: object
            properties:
              inputs:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _channels:
                        type: integer
                        example: 1
                      _device:
                        type: string
                        example: Mic I/O 1
                      _hasagain:
                        type: boolean
                        example: true
                      _hasp48:
                        type: boolean
                        example: true
                      _name:
                        type: string
                        example: Mic Front
              outputs:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _channels:
                        type: integer
                        example: 2
                      _device:
                        type: string
                        example: Headphone I/O 1
                      _name:
                        type: string
                        example: HP1
              routes:
                type: object
                properties:
                  '0':
                    type: string
                    example: '198'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  routing:
                    type: object
                    properties:
                      inputs:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _channels:
                                type: integer
                                example: 1
                              _device:
                                type: string
                                example: Mic I/O 1
                              _hasagain:
                                type: boolean
                                example: true
                              _hasp48:
                                type: boolean
                                example: true
                              _name:
                                type: string
                                example: Mic Front
                      outputs:
                        type: object
                        properties:
                          '0':
                            type: object
                            properties:
                              _channels:
                                type: integer
                                example: 2
                              _device:
                                type: string
                                example: Headphone I/O 1
                              _name:
                                type: string
                                example: HP1
                      routes:
                        type: object
                        properties:
                          '0':
                            type: string
                            example: '198'
  /audio/routing:
    get:
      summary: /audio/routing
      description: The audio routing system of the device.
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: object
        properties:
          inputs:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _channels:
                    type: integer
                    example: 1
                  _device:
                    type: string
                    example: Mic I/O 1
                  _hasagain:
                    type: boolean
                    example: true
                  _hasp48:
                    type: boolean
                    example: true
                  _name:
                    type: string
                    example: Mic Front
          outputs:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _channels:
                    type: integer
                    example: 2
                  _device:
                    type: string
                    example: Headphone I/O 1
                  _name:
                    type: string
                    example: HP1
          routes:
            type: object
            properties:
              '0':
                type: string
                example: '198'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  inputs:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _channels:
                            type: integer
                            example: 1
                          _device:
                            type: string
                            example: Mic I/O 1
                          _hasagain:
                            type: boolean
                            example: true
                          _hasp48:
                            type: boolean
                            example: true
                          _name:
                            type: string
                            example: Mic Front
                  outputs:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _channels:
                            type: integer
                            example: 2
                          _device:
                            type: string
                            example: Headphone I/O 1
                          _name:
                            type: string
                            example: HP1
                  routes:
                    type: object
                    properties:
                      '0':
                        type: string
                        example: '198'
  /audio/routing/inputs:
    get:
      summary: /audio/routing/inputs
      description: Input/source list for routings.
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _channels:
                type: integer
                example: 1
              _device:
                type: string
                example: Mic I/O 1
              _hasagain:
                type: boolean
                example: true
              _hasp48:
                type: boolean
                example: true
              _name:
                type: string
                example: Mic Front
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _channels:
                        type: integer
                        example: 1
                      _device:
                        type: string
                        example: Mic I/O 1
                      _hasagain:
                        type: boolean
                        example: true
                      _hasp48:
                        type: boolean
                        example: true
                      _name:
                        type: string
                        example: Mic Front
  /audio/routing/inputs/{inputID}:
    get:
      summary: /audio/routing/inputs/{inputID}
      description: >-
        Input/source details. The ID is working with offsets to keep a
        separation between source types.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: object
        properties:
          _channels:
            type: integer
            example: 1
          _device:
            type: string
            example: Mic I/O 1
          _hasagain:
            type: boolean
            example: true
          _hasp48:
            type: boolean
            example: true
          _name:
            type: string
            example: Mic Front
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _channels:
                    type: integer
                    example: 1
                  _device:
                    type: string
                    example: Mic I/O 1
                  _hasagain:
                    type: boolean
                    example: true
                  _hasp48:
                    type: boolean
                    example: true
                  _name:
                    type: string
                    example: Mic Front
  /audio/routing/inputs/{inputID}/_channels:
    get:
      summary: /audio/routing/inputs/{inputID}/_channels
      description: Number of channels the input contains.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: integer
        example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 1
  /audio/routing/inputs/{inputID}/_device:
    get:
      summary: /audio/routing/inputs/{inputID}/_device
      description: The device/module where the input is located.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: string
        example: Mic I/O 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: Mic I/O 1
  /audio/routing/inputs/{inputID}/_hasagain:
    get:
      summary: /audio/routing/inputs/{inputID}/_hasagain
      description: If the input has an analog gain / preamp.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /audio/routing/inputs/{inputID}/_hasp48:
    get:
      summary: /audio/routing/inputs/{inputID}/_hasp48
      description: If the input has P48V phantom power.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /audio/routing/inputs/{inputID}/_name:
    get:
      summary: /audio/routing/inputs/{inputID}/_name
      description: Input label.
      parameters:
        - name: inputID
          in: path
          description: ID of input object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: string
        example: Mic Front
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: Mic Front
  /audio/routing/outputs:
    get:
      summary: /audio/routing/outputs
      description: Output/sink list for routings.
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _channels:
                type: integer
                example: 2
              _device:
                type: string
                example: Headphone I/O 1
              _name:
                type: string
                example: HP1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _channels:
                        type: integer
                        example: 2
                      _device:
                        type: string
                        example: Headphone I/O 1
                      _name:
                        type: string
                        example: HP1
  /audio/routing/outputs/{outputID}:
    get:
      summary: /audio/routing/outputs/{outputID}
      description: Output/sink details.
      parameters:
        - name: outputID
          in: path
          description: ID of output object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/pots
      schema:
        type: object
        properties:
          _channels:
            type: integer
            example: 2
          _device:
            type: string
            example: Headphone I/O 1
          _name:
            type: string
            example: HP1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _channels:
                    type: integer
                    example: 2
                  _device:
                    type: string
                    example: Headphone I/O 1
                  _name:
                    type: string
                    example: HP1
  /audio/routing/outputs/{outputID}/_channels:
    get:
      summary: /audio/routing/outputs/{outputID}/_channels
      description: Number of channels the output contains.
      parameters:
        - name: outputID
          in: path
          description: ID of output object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/pots
      schema:
        type: integer
        example: 2
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 2
  /audio/routing/outputs/{outputID}/_device:
    get:
      summary: /audio/routing/outputs/{outputID}/_device
      description: The device/module where the output is located.
      parameters:
        - name: outputID
          in: path
          description: ID of output object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/pots
      schema:
        type: string
        example: Headphone I/O 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: Headphone I/O 1
  /audio/routing/outputs/{outputID}/_name:
    get:
      summary: /audio/routing/outputs/{outputID}/_name
      description: Output label.
      parameters:
        - name: outputID
          in: path
          description: ID of output object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: string
        example: HP1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: HP1
  /audio/routing/routes:
    get:
      summary: /audio/routing/routes
      description: >-
        The list of active routes. It is a list of sinks (as keys), which have
        their individual sources (as values). Sources can be available multiple
        times.
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _channels:
                type: integer
                example: 2
              _device:
                type: string
                example: Headphone I/O 1
              _name:
                type: string
                example: HP1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _channels:
                        type: integer
                        example: 2
                      _device:
                        type: string
                        example: Headphone I/O 1
                      _name:
                        type: string
                        example: HP1
  /audio/routing/routes/{routeID}:
    get:
      summary: /audio/routing/routes/{routeID}
      description: >-
        A defined route. The ID of the route is the ID of the output. Use "off"
        to disable a route.
      parameters:
        - name: routeID
          in: path
          description: ID of route object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - audio/routing
      schema:
        type: string
        example: '198'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: '198'
  /control:
    get:
      summary: /control
      description: The control system.
      security:
        - token: []
      tags:
        - control
        - root
      schema:
        type: object
        properties:
          gpis:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _label:
                    type: string
                    example: GPI1
                  _state:
                    type: boolean
                    example: false
                  channel:
                    type: string
                    example: 1.2.3
          gpos:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _label:
                    type: string
                    example: GPO1
                  _state:
                    type: boolean
                    example: true
                  channel:
                    type: string
                    example: 2.3.4
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  gpis:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _label:
                            type: string
                            example: GPI1
                          _state:
                            type: boolean
                            example: false
                          channel:
                            type: string
                            example: 1.2.3
                  gpos:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _label:
                            type: string
                            example: GPO1
                          _state:
                            type: boolean
                            example: true
                          channel:
                            type: string
                            example: 2.3.4
  /control/gpis:
    get:
      summary: /control/gpis
      description: The multicast GPIs of the system.
      security:
        - token: []
      tags:
        - control
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _label:
                type: string
                example: GPI1
              _state:
                type: boolean
                example: false
              channel:
                type: string
                example: 1.2.3
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _label:
                        type: string
                        example: GPI1
                      _state:
                        type: boolean
                        example: false
                      channel:
                        type: string
                        example: 1.2.3
  /control/gpis/{gpiID}/_label:
    get:
      summary: /control/gpis/{gpiID}/_label
      description: GPI label from config.
      parameters:
        - name: gpiID
          in: path
          description: ID of GPI object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
      schema:
        type: string
        example: GPI1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: GPI1
  /control/gpis/{gpiID}/_state:
    get:
      summary: /control/gpis/{gpiID}/_state
      description: GPI state.
      parameters:
        - name: gpiID
          in: path
          description: ID of GPI object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /control/gpis/{gpiID}/channel:
    get:
      summary: /control/gpis/{gpiID}/channel
      description: GPI multicast channel ID.
      parameters:
        - name: gpiID
          in: path
          description: ID of GPI object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
      schema:
        type: string
        example: 1.2.3
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 1.2.3
  /control/gpos:
    get:
      summary: /control/gpos
      description: The multicast GPOs of the system.
      security:
        - token: []
      tags:
        - control
        - root
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _label:
                type: string
                example: GPO1
              _state:
                type: boolean
                example: true
              channel:
                type: string
                example: 2.3.4
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _label:
                        type: string
                        example: GPO1
                      _state:
                        type: boolean
                        example: true
                      channel:
                        type: string
                        example: 2.3.4
  /control/gpos/{gpoID}/_label:
    get:
      summary: /control/gpos/{gpoID}/_label
      description: GPO label from config.
      parameters:
        - name: gpoID
          in: path
          description: ID of GPO object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
        - root
      schema:
        type: string
        example: GPO1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: GPO1
  /control/gpos/{gpoID}/_state:
    get:
      summary: /control/gpos/{gpoID}/_state
      description: GPO state.
      parameters:
        - name: gpoID
          in: path
          description: ID of GPO object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
        - root
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /control/gpos/{gpoID}/channel:
    get:
      summary: /control/gpos/{gpoID}/channel
      description: GPO multicast channel ID.
      parameters:
        - name: gpoID
          in: path
          description: ID of GPO object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - control
        - root
      schema:
        type: string
        example: 2.3.4
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 2.3.4
  /general:
    get:
      summary: /general
      description: General system information.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: object
        properties:
          _activewebsockets:
            type: integer
            example: 0
          _api_version:
            type: string
            example: 1.0.0
          _firmware_version:
            type: string
            example: 10.3.0.17
          _hardwareserial:
            type: string
            example: ''
          _hourmeter:
            type: integer
            example: 0
          _maxwebsockets:
            type: integer
            example: 5
          _systemtime:
            type: integer
            example: 0
          _uptime:
            type: integer
            example: 0
          _temperature:
            type: integer
            example: 60
          capabilities:
            type: object
            properties:
              _extendedfeature:
                type: boolean
                example: true
              _limited16x16:
                type: boolean
                example: false
              _maxrxstreams:
                type: integer
                example: 32
              _maxtxstreams:
                type: integer
                example: 32
              _rxload:
                type: integer
                example: 0
              _txload:
                type: integer
                example: 25
          ptp:
            type: object
            properties:
              announce:
                type: integer
                example: 0
              delaymechanism:
                type: string
                example: E2E
              domain:
                type: integer
                example: 0
              fs:
                type: integer
                example: 48000
              ip_dscp:
                type: integer
                example: 56
              prio1:
                type: integer
                example: 127
              prio2:
                type: integer
                example: 127
              slaveonly:
                type: boolean
                example: false
              state:
                type: object
                properties:
                  _clockoffset:
                    type: array
                    items:
                      type: number
                      format: double
                      example:
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                  _clockstate:
                    type: string
                    example: FREERUN
                  _clockstateid:
                    type: integer
                    example: 1
                  _grandmasterid:
                    type: string
                    example: 000a63fffe054faf
                  _state:
                    type: string
                    example: Leader
                  _state1:
                    type: integer
                    example: 1
                  _state2:
                    type: integer
                    example: 1
                  _syncmaster:
                    type: string
                    example: 000a63fffe054faf
              syncinterval:
                type: integer
                example: -3
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _activewebsockets:
                    type: integer
                    example: 0
                  _api_version:
                    type: string
                    example: 1.0.0
                  _firmware_version:
                    type: string
                    example: 10.3.0.17
                  _hardwareserial:
                    type: string
                    example: ''
                  _hourmeter:
                    type: integer
                    example: 0
                  _maxwebsockets:
                    type: integer
                    example: 5
                  _systemtime:
                    type: integer
                    example: 0
                  _uptime:
                    type: integer
                    example: 0
                  _temperature:
                    type: integer
                    example: 60
                  capabilities:
                    type: object
                    properties:
                      _extendedfeature:
                        type: boolean
                        example: true
                      _limited16x16:
                        type: boolean
                        example: false
                      _maxrxstreams:
                        type: integer
                        example: 32
                      _maxtxstreams:
                        type: integer
                        example: 32
                      _rxload:
                        type: integer
                        example: 0
                      _txload:
                        type: integer
                        example: 25
                  ptp:
                    type: object
                    properties:
                      announce:
                        type: integer
                        example: 0
                      delaymechanism:
                        type: string
                        example: E2E
                      domain:
                        type: integer
                        example: 0
                      fs:
                        type: integer
                        example: 48000
                      ip_dscp:
                        type: integer
                        example: 56
                      prio1:
                        type: integer
                        example: 127
                      prio2:
                        type: integer
                        example: 127
                      slaveonly:
                        type: boolean
                        example: false
                      state:
                        type: object
                        properties:
                          _clockoffset:
                            type: array
                            items:
                              type: number
                              format: double
                              example:
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                                - 30440993.544
                          _clockstate:
                            type: string
                            example: FREERUN
                          _clockstateid:
                            type: integer
                            example: 1
                          _grandmasterid:
                            type: string
                            example: 000a63fffe054faf
                          _state:
                            type: string
                            example: Leader
                          _state1:
                            type: integer
                            example: 1
                          _state2:
                            type: integer
                            example: 1
                          _syncmaster:
                            type: string
                            example: 000a63fffe054faf
                      syncinterval:
                        type: integer
                        example: -3
  /general/capabilities:
    get:
      summary: /general/capabilities
      description: aes67 module capabilities.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: object
        properties:
          _extendedfeature:
            type: boolean
            example: true
          _limited16x16:
            type: boolean
            example: false
          _maxrxstreams:
            type: integer
            example: 32
          _maxtxstreams:
            type: integer
            example: 32
          _rxload:
            type: integer
            example: 0
          _txload:
            type: integer
            example: 25
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _extendedfeature:
                    type: boolean
                    example: true
                  _limited16x16:
                    type: boolean
                    example: false
                  _maxrxstreams:
                    type: integer
                    example: 32
                  _maxtxstreams:
                    type: integer
                    example: 32
                  _rxload:
                    type: integer
                    example: 0
                  _txload:
                    type: integer
                    example: 25
  /general/capabilities/_extendedfeature:
    get:
      summary: /general/capabilities/_extendedfeature
      description: Extended feature license available.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /general/capabilities/_limited16x16:
    get:
      summary: /general/capabilities/_limited16x16
      description: Limited 16x16 channel mode (on XC3 core 52-7010 modules).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /general/capabilities/_maxrxstreams:
    get:
      summary: /general/capabilities/_maxrxstreams
      description: Maximum number of receive streams.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 32
  /general/capabilities/_maxtxstreams:
    get:
      summary: /general/capabilities/_maxtxstreams
      description: Maximum number of transmit streams.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 32
  /general/capabilities/_rxload:
    get:
      summary: /general/capabilities/_rxload
      description: Current RX load.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/capabilities/_txload:
    get:
      summary: /general/capabilities/_txload
      description: Current TX load.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 25
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 25
  /general/ptp:
    get:
      summary: /general/ptp
      description: Current PTP configuration and status.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: object
        properties:
          announce:
            type: integer
            example: 0
          delaymechanism:
            type: string
            example: E2E
          domain:
            type: integer
            example: 0
          fs:
            type: integer
            example: 48000
          ip_dscp:
            type: integer
            example: 56
          prio1:
            type: integer
            example: 127
          prio2:
            type: integer
            example: 127
          slaveonly:
            type: boolean
            example: false
          state:
            type: object
            properties:
              _clockoffset:
                type: array
                items:
                  type: number
                  format: double
                  example:
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
              _clockstate:
                type: string
                example: FREERUN
              _clockstateid:
                type: integer
                example: 1
              _grandmasterid:
                type: string
                example: 000a63fffe054faf
              _state:
                type: string
                example: Leader
              _state1:
                type: integer
                example: 1
              _state2:
                type: integer
                example: 1
              _syncmaster:
                type: string
                example: 000a63fffe054faf
          syncinterval:
            type: integer
            example: -3
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  announce:
                    type: integer
                    example: 0
                  delaymechanism:
                    type: string
                    example: E2E
                  domain:
                    type: integer
                    example: 0
                  fs:
                    type: integer
                    example: 48000
                  ip_dscp:
                    type: integer
                    example: 56
                  prio1:
                    type: integer
                    example: 127
                  prio2:
                    type: integer
                    example: 127
                  slaveonly:
                    type: boolean
                    example: false
                  state:
                    type: object
                    properties:
                      _clockoffset:
                        type: array
                        items:
                          type: number
                          format: double
                          example:
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                            - 30440993.544
                      _clockstate:
                        type: string
                        example: FREERUN
                      _clockstateid:
                        type: integer
                        example: 1
                      _grandmasterid:
                        type: string
                        example: 000a63fffe054faf
                      _state:
                        type: string
                        example: Leader
                      _state1:
                        type: integer
                        example: 1
                      _state2:
                        type: integer
                        example: 1
                      _syncmaster:
                        type: string
                        example: 000a63fffe054faf
                  syncinterval:
                    type: integer
                    example: -3
  /general/ptp/announce:
    get:
      summary: /general/ptp/announce
      description: Current PTP announce interval.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/ptp/delaymechanism:
    get:
      summary: /general/ptp/delaymechanism
      description: Current delay mechanism (E2E or P2P).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: string
        example: E2E
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: E2E
  /general/ptp/domain:
    get:
      summary: /general/ptp/domain
      description: Current PTP domain.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/ptp/fs:
    get:
      summary: /general/ptp/fs
      description: Current sample rate (Hz).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 48000
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 48000
  /general/ptp/ip_dscp:
    get:
      summary: /general/ptp/ip_dscp
      description: Current IP DSCP value.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 56
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 56
  /general/ptp/prio1:
    get:
      summary: /general/ptp/prio1
      description: Current PTP priority 1 value.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 127
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 127
  /general/ptp/prio2:
    get:
      summary: /general/ptp/prio2
      description: Current PTP priority 2 value.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 127
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 127
  /general/ptp/slaveonly:
    get:
      summary: /general/ptp/slaveonly
      description: Forces the module to be only PTP slave / follower.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /general/ptp/state:
    get:
      summary: /general/ptp/state
      description: Current PTP state details.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: object
        properties:
          _clockoffset:
            type: array
            items:
              type: number
              format: double
              example:
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
                - 30440993.544
          _clockstate:
            type: string
            example: FREERUN
          _clockstateid:
            type: integer
            example: 1
          _grandmasterid:
            type: string
            example: 000a63fffe054faf
          _state:
            type: string
            example: Leader
          _state1:
            type: integer
            example: 1
          _state2:
            type: integer
            example: 1
          _syncmaster:
            type: string
            example: 000a63fffe054faf
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _clockoffset:
                    type: array
                    items:
                      type: number
                      format: double
                      example:
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                        - 30440993.544
                  _clockstate:
                    type: string
                    example: FREERUN
                  _clockstateid:
                    type: integer
                    example: 1
                  _grandmasterid:
                    type: string
                    example: 000a63fffe054faf
                  _state:
                    type: string
                    example: Leader
                  _state1:
                    type: integer
                    example: 1
                  _state2:
                    type: integer
                    example: 1
                  _syncmaster:
                    type: string
                    example: 000a63fffe054faf
  /general/ptp/state/_clockoffset:
    get:
      summary: /general/ptp/state/_clockoffset
      description: PTP clock offset / jitter (40 data points at 1/sec).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: array
        items:
          type: number
          format: double
          example:
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
            - 30440993.544
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: number
                  format: double
                  example:
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
                    - 30440993.544
  /general/ptp/state/_clockstate:
    get:
      summary: /general/ptp/state/_clockstate
      description: PTP clock state (FREERUN / LOCKED).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: string
        example: FREERUN
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: FREERUN
  /general/ptp/state/_clockstateid:
    get:
      summary: /general/ptp/state/_clockstateid
      description: PTP clock state ID.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 1
  /general/ptp/state/_grandmasterid:
    get:
      summary: /general/ptp/state/_grandmasterid
      description: PTP grandmaster ID.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: string
        example: 000a63fffe054faf
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 000a63fffe054faf
  /general/ptp/state/_state:
    get:
      summary: /general/ptp/state/_state
      description: PTP state (Leader/Follower).
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: string
        example: Leader
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: Leader
  /general/ptp/state/_state1:
    get:
      summary: /general/ptp/state/_state1
      description: PTP state1.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 1
  /general/ptp/state/_state2:
    get:
      summary: /general/ptp/state/_state2
      description: PTP state2.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 1
  /general/ptp/state/_syncmaster:
    get:
      summary: /general/ptp/state/_syncmaster
      description: Current PTP clock leader.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: string
        example: 000a63fffe054faf
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 000a63fffe054faf
  /general/ptp/syncinterval:
    get:
      summary: /general/ptp/syncinterval
      description: Current PTP sync interval.
      security:
        - token: []
      tags:
        - root
        - general
      schema:
        type: integer
        example: -3
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: -3
  /general/_activewebsockets:
    get:
      summary: /general/_activewebsockets
      description: Number of active WebSocket connections.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/_api_version:
    get:
      summary: /general/_api_version
      description: API version.
      security:
        - token: []
      tags:
        - general
      schema:
        type: string
        example: 1.0.0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 1.0.0
  /general/_firmware_version:
    get:
      summary: /general/_firmware_version
      description: Firmware version.
      security:
        - token: []
      tags:
        - general
      schema:
        type: string
        example: 10.3.0.17
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 10.3.0.17
  /general/_hardwareserial:
    get:
      summary: /general/_hardwareserial
      description: Hardware serial.
      security:
        - token: []
      tags:
        - general
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /general/_hourmeter:
    get:
      summary: /general/_hourmeter
      description: Device hour meter.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/_maxwebsockets:
    get:
      summary: /general/_maxwebsockets
      description: Maximum number of active WebSocket connections.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 5
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 5
  /general/_systemtime:
    get:
      summary: /general/_systemtime
      description: Current system time.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/_uptime:
    get:
      summary: /general/_uptime
      description: System uptime.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /general/_temperature:
    get:
      summary: /general/_temperature
      description: Current module temperature.
      security:
        - token: []
      tags:
        - general
      schema:
        type: integer
        example: 60
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 60
  /range:
    get:
      summary: /range
      description: >-
        All value ranges and units, delivered as json objects. Self-documenting,
        so no documentation given.
      security:
        - token: []
      tags:
        - root
      schema: null
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema: null
  /streams:
    get:
      summary: /streams
      description: Stream-related information.
      security:
        - token: []
      tags:
        - stream
      schema:
        type: object
        properties:
          _available:
            type: array
            items:
              type: object
              example:
                - address: 234.100.0.1
                  address2: 234.101.0.1
                  channels: 8
                  codec: L24
                  info: text
                  name: xc3@Audio.SX2.KPYR
                  samples-per-packet: 6
          _rx-errors:
            type: integer
            example: 0
          rx-streams:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _id:
                    type: string
                    example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                  _running:
                    type: boolean
                    example: false
                  _rxerrors:
                    type: integer
                    example: 0
                  _status:
                    type: integer
                    example: 2
                  _statustext:
                    type: string
                    example: No RTP data arriving
                  channels:
                    type: integer
                    example: 2
                  codec:
                    type: string
                    example: L24
                  delay:
                    type: integer
                    example: 192
                  enabled:
                    type: boolean
                    example: true
                  name:
                    type: string
                    example: mystream24
                  sdp:
                    type: string
                    example: ''
                  source:
                    type: string
                    example: PGM@Audio.SX2.test
                  source2:
                    type: string
                    example: ''
                  syntonized:
                    type: boolean
                    example: true
                  usesecondary:
                    type: boolean
                    example: false
          tx-streams:
            type: object
            properties:
              '0':
                type: object
                properties:
                  _id:
                    type: string
                    example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                  _rtsp-uri:
                    type: string
                    example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                  _running:
                    type: boolean
                    example: false
                  _sdp:
                    type: string
                    example: ''
                  _status:
                    type: integer
                    example: 1
                  _statustext:
                    type: string
                    example: ''
                  address:
                    type: string
                    example: 239.27.168.1
                  address2:
                    type: string
                    example: 239.1.126.33
                  address2enable:
                    type: boolean
                    example: true
                  addressenable:
                    type: boolean
                    example: true
                  channels:
                    type: integer
                    example: 2
                  codec:
                    type: string
                    example: L24
                  dscp:
                    type: integer
                    example: 34
                  enabled:
                    type: boolean
                    example: false
                  info:
                    type: string
                    example: ''
                  name:
                    type: string
                    example: 2ch stero
                  payload:
                    type: integer
                    example: 96
                  port:
                    type: integer
                    example: 5004
                  samples-per-packet:
                    type: integer
                    example: 48
                  sap:
                    type: boolean
                    example: true
                  ttl:
                    type: integer
                    example: 42
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _available:
                    type: array
                    items:
                      type: object
                      example:
                        - address: 234.100.0.1
                          address2: 234.101.0.1
                          channels: 8
                          codec: L24
                          info: text
                          name: xc3@Audio.SX2.KPYR
                          samples-per-packet: 6
                  _rx-errors:
                    type: integer
                    example: 0
                  rx-streams:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _id:
                            type: string
                            example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                          _running:
                            type: boolean
                            example: false
                          _rxerrors:
                            type: integer
                            example: 0
                          _status:
                            type: integer
                            example: 2
                          _statustext:
                            type: string
                            example: No RTP data arriving
                          channels:
                            type: integer
                            example: 2
                          codec:
                            type: string
                            example: L24
                          delay:
                            type: integer
                            example: 192
                          enabled:
                            type: boolean
                            example: true
                          name:
                            type: string
                            example: mystream24
                          sdp:
                            type: string
                            example: ''
                          source:
                            type: string
                            example: PGM@Audio.SX2.test
                          source2:
                            type: string
                            example: ''
                          syntonized:
                            type: boolean
                            example: true
                          usesecondary:
                            type: boolean
                            example: false
                  tx-streams:
                    type: object
                    properties:
                      '0':
                        type: object
                        properties:
                          _id:
                            type: string
                            example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                          _rtsp-uri:
                            type: string
                            example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                          _running:
                            type: boolean
                            example: false
                          _sdp:
                            type: string
                            example: ''
                          _status:
                            type: integer
                            example: 1
                          _statustext:
                            type: string
                            example: ''
                          address:
                            type: string
                            example: 239.27.168.1
                          address2:
                            type: string
                            example: 239.1.126.33
                          address2enable:
                            type: boolean
                            example: true
                          addressenable:
                            type: boolean
                            example: true
                          channels:
                            type: integer
                            example: 2
                          codec:
                            type: string
                            example: L24
                          dscp:
                            type: integer
                            example: 34
                          enabled:
                            type: boolean
                            example: false
                          info:
                            type: string
                            example: ''
                          name:
                            type: string
                            example: 2ch stero
                          payload:
                            type: integer
                            example: 96
                          port:
                            type: integer
                            example: 5004
                          samples-per-packet:
                            type: integer
                            example: 48
                          sap:
                            type: boolean
                            example: true
                          ttl:
                            type: integer
                            example: 42
  /streams/_available:
    get:
      summary: /streams/_available
      description: >-
        A list of discovered streams. Contains JSON objects with address
        information, channels, codec, name, samples-per-packet and info.
      security:
        - token: []
      tags:
        - stream
      schema:
        type: array
        items:
          type: object
          example:
            - address: 234.100.0.1
              address2: 234.101.0.1
              channels: 8
              codec: L24
              info: text
              name: xc3@Audio.SX2.KPYR
              samples-per-packet: 6
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  example:
                    - address: 234.100.0.1
                      address2: 234.101.0.1
                      channels: 8
                      codec: L24
                      info: text
                      name: xc3@Audio.SX2.KPYR
                      samples-per-packet: 6
  /streams/_rx-errors:
    get:
      summary: /streams/_rx-errors
      description: RX packet error counter over all RX streams.
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /streams/rx-streams:
    get:
      summary: /streams/rx-streams
      description: RX streams.
      security:
        - token: []
      tags:
        - stream
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _id:
                type: string
                example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
              _running:
                type: boolean
                example: false
              _rxerrors:
                type: integer
                example: 0
              _status:
                type: integer
                example: 2
              _statustext:
                type: string
                example: No RTP data arriving
              channels:
                type: integer
                example: 2
              codec:
                type: string
                example: L24
              delay:
                type: integer
                example: 192
              enabled:
                type: boolean
                example: true
              name:
                type: string
                example: mystream24
              sdp:
                type: string
                example: ''
              source:
                type: string
                example: PGM@Audio.SX2.test
              source2:
                type: string
                example: ''
              syntonized:
                type: boolean
                example: true
              usesecondary:
                type: boolean
                example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _id:
                        type: string
                        example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                      _running:
                        type: boolean
                        example: false
                      _rxerrors:
                        type: integer
                        example: 0
                      _status:
                        type: integer
                        example: 2
                      _statustext:
                        type: string
                        example: No RTP data arriving
                      channels:
                        type: integer
                        example: 2
                      codec:
                        type: string
                        example: L24
                      delay:
                        type: integer
                        example: 192
                      enabled:
                        type: boolean
                        example: true
                      name:
                        type: string
                        example: mystream24
                      sdp:
                        type: string
                        example: ''
                      source:
                        type: string
                        example: PGM@Audio.SX2.test
                      source2:
                        type: string
                        example: ''
                      syntonized:
                        type: boolean
                        example: true
                      usesecondary:
                        type: boolean
                        example: false
  /streams/rx-streams/{streamID}:
    get:
      summary: /streams/rx-streams/{streamID}
      description: A specific RX stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: object
        properties:
          _id:
            type: string
            example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
          _running:
            type: boolean
            example: false
          _rxerrors:
            type: integer
            example: 0
          _status:
            type: integer
            example: 2
          _statustext:
            type: string
            example: No RTP data arriving
          channels:
            type: integer
            example: 2
          codec:
            type: string
            example: L24
          delay:
            type: integer
            example: 192
          enabled:
            type: boolean
            example: true
          name:
            type: string
            example: mystream24
          sdp:
            type: string
            example: ''
          source:
            type: string
            example: PGM@Audio.SX2.test
          source2:
            type: string
            example: ''
          syntonized:
            type: boolean
            example: true
          usesecondary:
            type: boolean
            example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                    example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
                  _running:
                    type: boolean
                    example: false
                  _rxerrors:
                    type: integer
                    example: 0
                  _status:
                    type: integer
                    example: 2
                  _statustext:
                    type: string
                    example: No RTP data arriving
                  channels:
                    type: integer
                    example: 2
                  codec:
                    type: string
                    example: L24
                  delay:
                    type: integer
                    example: 192
                  enabled:
                    type: boolean
                    example: true
                  name:
                    type: string
                    example: mystream24
                  sdp:
                    type: string
                    example: ''
                  source:
                    type: string
                    example: PGM@Audio.SX2.test
                  source2:
                    type: string
                    example: ''
                  syntonized:
                    type: boolean
                    example: true
                  usesecondary:
                    type: boolean
                    example: false
  /streams/rx-streams/{streamID}/_id:
    get:
      summary: /streams/rx-streams/{streamID}/_id
      description: UUID of the stream as used in NMOS.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: e6104bad-fa8d-464a-83dc-d7c3b60164f5
  /streams/rx-streams/{streamID}/_running:
    get:
      summary: /streams/rx-streams/{streamID}/_running
      description: Information if the stream is running.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /streams/rx-streams/{streamID}/_rxerrors:
    get:
      summary: /streams/rx-streams/{streamID}/_rxerrors
      description: Information if the stream has rx errors.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 0
  /streams/rx-streams/{streamID}/_status:
    get:
      summary: /streams/rx-streams/{streamID}/_status
      description: >-
        Stream status information. 1=ok (green), 2=warning (yellow), 3=error
        (red).
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 2
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 2
  /streams/rx-streams/{streamID}/_statustext:
    get:
      summary: /streams/rx-streams/{streamID}/_statustext
      description: Stream status description.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: No RTP data arriving
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: No RTP data arriving
  /streams/rx-streams/{streamID}/channels:
    get:
      summary: /streams/rx-streams/{streamID}/channels
      description: Number of channels contained within the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 2
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 2
  /streams/rx-streams/{streamID}/codec:
    get:
      summary: /streams/rx-streams/{streamID}/codec
      description: Codec used for the stream (L16/L24/AM824).
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: L24
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: L24
  /streams/rx-streams/{streamID}/delay:
    get:
      summary: /streams/rx-streams/{streamID}/delay
      description: Stream delay in milliseconds.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 192
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 192
  /streams/rx-streams/{streamID}/enabled:
    get:
      summary: /streams/rx-streams/{streamID}/enabled
      description: Enable the stream to actually receive data.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /streams/rx-streams/{streamID}/name:
    get:
      summary: /streams/rx-streams/{streamID}/name
      description: Name of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: mystream24
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: mystream24
  /streams/rx-streams/{streamID}/sdp:
    get:
      summary: /streams/rx-streams/{streamID}/sdp
      description: >-
        Session Description Protocol (SDP) for the stream, can be placed here.
        Will be cleared after application.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /streams/rx-streams/{streamID}/source:
    get:
      summary: /streams/rx-streams/{streamID}/source
      description: Source of the stream (name).
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: PGM@Audio.SX2.test
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: PGM@Audio.SX2.test
  /streams/rx-streams/{streamID}/source2:
    get:
      summary: /streams/rx-streams/{streamID}/source2
      description: Source2 of the stream (name) for redundancy.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /streams/rx-streams/{streamID}/syntonized:
    get:
      summary: /streams/rx-streams/{streamID}/syntonized
      description: Run stream in syntonized mode.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /streams/rx-streams/{streamID}/usesecondary:
    get:
      summary: /streams/rx-streams/{streamID}/usesecondary
      description: Use secondary source of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /streams/tx-streams:
    get:
      summary: /streams/tx-streams
      description: TX streams.
      security:
        - token: []
      tags:
        - stream
      schema:
        type: object
        properties:
          '0':
            type: object
            properties:
              _id:
                type: string
                example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
              _rtsp-uri:
                type: string
                example: rtsp://10.5.27.168:554/by-name/2ch%20stero
              _running:
                type: boolean
                example: false
              _sdp:
                type: string
                example: ''
              _status:
                type: integer
                example: 1
              _statustext:
                type: string
                example: ''
              address:
                type: string
                example: 239.27.168.1
              address2:
                type: string
                example: 239.1.126.33
              address2enable:
                type: boolean
                example: true
              addressenable:
                type: boolean
                example: true
              channels:
                type: integer
                example: 2
              codec:
                type: string
                example: L24
              dscp:
                type: integer
                example: 34
              enabled:
                type: boolean
                example: false
              info:
                type: string
                example: ''
              name:
                type: string
                example: 2ch stero
              payload:
                type: integer
                example: 96
              port:
                type: integer
                example: 5004
              samples-per-packet:
                type: integer
                example: 48
              sap:
                type: boolean
                example: true
              ttl:
                type: integer
                example: 42
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  '0':
                    type: object
                    properties:
                      _id:
                        type: string
                        example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                      _rtsp-uri:
                        type: string
                        example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                      _running:
                        type: boolean
                        example: false
                      _sdp:
                        type: string
                        example: ''
                      _status:
                        type: integer
                        example: 1
                      _statustext:
                        type: string
                        example: ''
                      address:
                        type: string
                        example: 239.27.168.1
                      address2:
                        type: string
                        example: 239.1.126.33
                      address2enable:
                        type: boolean
                        example: true
                      addressenable:
                        type: boolean
                        example: true
                      channels:
                        type: integer
                        example: 2
                      codec:
                        type: string
                        example: L24
                      dscp:
                        type: integer
                        example: 34
                      enabled:
                        type: boolean
                        example: false
                      info:
                        type: string
                        example: ''
                      name:
                        type: string
                        example: 2ch stero
                      payload:
                        type: integer
                        example: 96
                      port:
                        type: integer
                        example: 5004
                      samples-per-packet:
                        type: integer
                        example: 48
                      sap:
                        type: boolean
                        example: true
                      ttl:
                        type: integer
                        example: 42
  /streams/tx-streams/{streamID}:
    get:
      summary: /streams/tx-streams/{streamID}
      description: A specific TX stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: object
        properties:
          _id:
            type: string
            example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
          _rtsp-uri:
            type: string
            example: rtsp://10.5.27.168:554/by-name/2ch%20stero
          _running:
            type: boolean
            example: false
          _sdp:
            type: string
            example: ''
          _status:
            type: integer
            example: 1
          _statustext:
            type: string
            example: ''
          address:
            type: string
            example: 239.27.168.1
          address2:
            type: string
            example: 239.1.126.33
          address2enable:
            type: boolean
            example: true
          addressenable:
            type: boolean
            example: true
          channels:
            type: integer
            example: 2
          codec:
            type: string
            example: L24
          dscp:
            type: integer
            example: 34
          enabled:
            type: boolean
            example: false
          info:
            type: string
            example: ''
          name:
            type: string
            example: 2ch stero
          payload:
            type: integer
            example: 96
          port:
            type: integer
            example: 5004
          samples-per-packet:
            type: integer
            example: 48
          sap:
            type: boolean
            example: true
          ttl:
            type: integer
            example: 42
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                    example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
                  _rtsp-uri:
                    type: string
                    example: rtsp://10.5.27.168:554/by-name/2ch%20stero
                  _running:
                    type: boolean
                    example: false
                  _sdp:
                    type: string
                    example: ''
                  _status:
                    type: integer
                    example: 1
                  _statustext:
                    type: string
                    example: ''
                  address:
                    type: string
                    example: 239.27.168.1
                  address2:
                    type: string
                    example: 239.1.126.33
                  address2enable:
                    type: boolean
                    example: true
                  addressenable:
                    type: boolean
                    example: true
                  channels:
                    type: integer
                    example: 2
                  codec:
                    type: string
                    example: L24
                  dscp:
                    type: integer
                    example: 34
                  enabled:
                    type: boolean
                    example: false
                  info:
                    type: string
                    example: ''
                  name:
                    type: string
                    example: 2ch stero
                  payload:
                    type: integer
                    example: 96
                  port:
                    type: integer
                    example: 5004
                  samples-per-packet:
                    type: integer
                    example: 48
                  sap:
                    type: boolean
                    example: true
                  ttl:
                    type: integer
                    example: 42
  /streams/tx-streams/{streamID}/_id:
    get:
      summary: /streams/tx-streams/{streamID}/_id
      description: UUID of the stream as used in NMOS.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: f7bef41a-dfcf-44cf-a4df-5a1044d474a7
  /streams/tx-streams/{streamID}/_rtsp-uri:
    get:
      summary: /streams/tx-streams/{streamID}/_rtsp-uri
      description: RTSP URI of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: rtsp://10.5.27.168:554/by-name/2ch%20stero
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: rtsp://10.5.27.168:554/by-name/2ch%20stero
  /streams/tx-streams/{streamID}/_running:
    get:
      summary: /streams/tx-streams/{streamID}/_running
      description: Information if the stream is running.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /streams/tx-streams/{streamID}/_sdp:
    get:
      summary: /streams/tx-streams/{streamID}/_sdp
      description: >-
        Session Description Protocol (SDP) of the stream, based on configured
        parameters.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /streams/tx-streams/{streamID}/_status:
    get:
      summary: /streams/tx-streams/{streamID}/_status
      description: >-
        Stream status information. 1=ok (green), 2=warning (yellow), 3=error
        (red).
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 1
  /streams/tx-streams/{streamID}/_statustext:
    get:
      summary: /streams/tx-streams/{streamID}/_statustext
      description: Stream status description.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /streams/tx-streams/{streamID}/address:
    get:
      summary: /streams/tx-streams/{streamID}/address
      description: Primary stream address.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: 239.27.168.1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 239.27.168.1
  /streams/tx-streams/{streamID}/address2:
    get:
      summary: /streams/tx-streams/{streamID}/address2
      description: Secondary stream address for redundancy.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: 239.1.126.33
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 239.1.126.33
  /streams/tx-streams/{streamID}/address2enable:
    get:
      summary: /streams/tx-streams/{streamID}/address2enable
      description: Enable or disable the secondary stream address.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /streams/tx-streams/{streamID}/addressenable:
    get:
      summary: /streams/tx-streams/{streamID}/addressenable
      description: Enable or disable the primary stream address.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /streams/tx-streams/{streamID}/channels:
    get:
      summary: /streams/tx-streams/{streamID}/channels
      description: Number of channels contained within the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 2
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 2
  /streams/tx-streams/{streamID}/codec:
    get:
      summary: /streams/tx-streams/{streamID}/codec
      description: Codec used for the stream (L16/L24).
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: L24
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: L24
  /streams/tx-streams/{streamID}/dscp:
    get:
      summary: /streams/tx-streams/{streamID}/dscp
      description: Differentiated Services Code Point (DSCP) for the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 34
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 34
  /streams/tx-streams/{streamID}/enabled:
    get:
      summary: /streams/tx-streams/{streamID}/enabled
      description: Enable the stream to actually receive data.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: false
  /streams/tx-streams/{streamID}/info:
    get:
      summary: /streams/tx-streams/{streamID}/info
      description: Optional information about the stream, will be announced as well.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: ''
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: ''
  /streams/tx-streams/{streamID}/name:
    get:
      summary: /streams/tx-streams/{streamID}/name
      description: Name of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: string
        example: 2ch stero
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
                example: 2ch stero
  /streams/tx-streams/{streamID}/payload:
    get:
      summary: /streams/tx-streams/{streamID}/payload
      description: Payload of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 96
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 96
  /streams/tx-streams/{streamID}/port:
    get:
      summary: /streams/tx-streams/{streamID}/port
      description: Outbound port of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 5004
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 5004
  /streams/tx-streams/{streamID}/samples-per-packet:
    get:
      summary: /streams/tx-streams/{streamID}/samples-per-packet
      description: Samples per packet of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 48
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 48
  /streams/tx-streams/{streamID}/sap:
    get:
      summary: /streams/tx-streams/{streamID}/sap
      description: Enable / disable SAP announcement of the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: boolean
        example: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: boolean
                example: true
  /streams/tx-streams/{streamID}/ttl:
    get:
      summary: /streams/tx-streams/{streamID}/ttl
      description: Time to live (TTL) for the stream.
      parameters:
        - name: streamID
          in: path
          description: ID of stream object to return
          required: true
          schema:
            genericID:
              type: integer
              format: int54
              example: 0
      security:
        - token: []
      tags:
        - stream
      schema:
        type: integer
        example: 42
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: integer
                example: 42
tags:
  - name: root
    description: Root of the control api tree
  - name: audio/routing
    description: Audio routings
  - name: control
    description: Control system
  - name: general
    description: General system information
  - name: stream
    description: Stream state and settings
components:
  securitySchemes:
    token:
      type: apiKey
      name: token
      in: query
  parameters:
    inputID:
      name: inputID
      in: path
      description: ID of input object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
    outputID:
      name: outputID
      in: path
      description: ID of output object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
    routeID:
      name: routeID
      in: path
      description: ID of route object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
    gpiID:
      name: gpiID
      in: path
      description: ID of GPI object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
    gpoID:
      name: gpoID
      in: path
      description: ID of GPO object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
    streamID:
      name: streamID
      in: path
      description: ID of stream object to return
      required: true
      schema:
        genericID:
          type: integer
          format: int54
          example: 0
  schemas: null
