openapi: 3.1.0
info:
  title: TCBar 3rd-party API
  version: '1.13'
servers:
- url: https://{deviceIP}:443
  variables:
    deviceIP:
      default: ''
components:
  securitySchemes:
    basicAuthApi:
      type: http
      scheme: basic
      description: Username\:api, Password\:given by the user when \"allowing\" third
        party access to the device; the user for third party access to the device
        with no rights to reconfigure vital configurations
security:
- basicAuthApi: []

paths:

  /api/device/licenseAgreements/licenses:
    get:
      summary: Retrieve the PDF of the OpenSource licenses used by software on the
        device
      tags:
      - LicenseAgreements
      security: []
      responses:
        '200':
          description: Successful operation
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g. this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/licenseAgreements/hash:
    get:
      summary: Retrieve a SHA-256 hash of the license agreements file
      tags:
      - LicenseAgreements
      security: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: string
                    example: e4491bb82bf36d124f92d4bba1edac60f6178e92a3b89c436fb660b99c10d538
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/state:
    get:
      summary: Get the device state
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  state:
                    description: Current overall state of the device.
                    type: string
                    default: Normal
                    enum:
                    - Normal
                    - Identifying
                    - BluetoothPairing
                    - FirmwareUpdate
                    - Standby
                    - CriticalFailure
                  warnings:
                    description: Current warnings of the device.
                    type: array
                    default: []
                    items:
                      type: string
                      enum:
                      - MicMuted
                      - LensCapOn
                      - CameraOff
                      - SpeakerMuted
                      - NoDeviceConnected
                      - DeviceOverheating
                      - CpuOverloading
                      - BluetoothFailure
                      - DanteFailure
                      - MicFailure
                      - SpeakerFailure
                      - VoiceEngineFailure
                      - CameraFailure
                      - UsbFailure
                      - TimeUninitialized
                      - NetworkLoopDetected
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: Internal server error

  /api/firmware/update/state:
    get:
      tags:
      - Firmware Update
      summary: Get the state of a firmware update
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  deviceVersion:
                    type: string
                    description: The firmware version of the system running at the
                      moment.
                  state:
                    type: string
                    default: Idle
                    enum:
                    - Updating
                    - Idle
                  progress:
                    type: integer
                    format: uint8
                    minimum: 0
                    maximum: 100
                    default: 0
                    description: Progress in percent
                  lastStatus:
                    description: Value is reset to None after reboot and on every
                      start of FW update
                    type: string
                    default: None
                    example: Invalid firmware package
                    enum:
                    - None
                    - ServerUnreachable
                    - DownloadFailed
                    - SignatureFailed
                    - DowngradeProhibited
                    - UpdateFailed'
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: Internal server error

  /api/ssc/version:
    get:
      tags:
      - SSC
      summary: Get the schema version
      security: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  protocol:
                    type: string
                    example: '2.3'
                    description: The version of SSC protocol.
                  schema:
                    type: string
                    example: '1.0'
                    description: This is the schema version of the API of the TCBar
                      devices. Semantic versioning must be used. So additional paths
                      or properties will increase the minor number while breaking
                      changes increase the integer part before the decimal point.
        '500':
          description: Internal server error

  /api/ssc/schema:
    get:
      tags:
      - SSC
      summary: Get the address tree
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/openapi+json:
              schema:
                type: string
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: Internal server error

  /api/ssc/state/subscriptions:
    get:
      tags:
      - SSC
      summary: Start a subscription
      description: Start a subscription. A successful request returns a UUID that
        can be used to manage the created subscription. The ``/ssc/state`` address
        is specific to the session between client and server. This means that it is
        possible that different clients subscribe the same command with different
        arguments hence the immediate reply as well as the resulting state of the
        server will differ for each client respectively. This also means, that there
        can be only a limited number of sessions per client and user. Instead of generating
        new subscriptions the "old" subscription should be altered.
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation returning the UUID to manage this subscription
            and the initial Server Side Event (SSE) stream
          headers:
            Content-Location:
              description: UUID of the just created subscription return in the Location
                Field of the HTTP response header
              schema:
                type: string
                example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
          content:
            text/event-stream:
              schema:
                type: string
                description: An initial stream (almost like a text file).
                example: event:open\ndata:{"path":"/api/ssc/state/subscriptions/31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8","sessionUUID":"31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8"}\n\n
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: Internal server error

  /api/ssc/state/subscriptions/{sessionUUID}:
    get:
      tags:
      - SSC
      summary: Get the subscription list
      description: Get the list of subscriptions associated with the sessionUUID
      security:
      - basicAuthApi: []
      parameters:
      - name: sessionUUID
        in: path
        required: true
        description: The unique session id of the subscription
        schema:
          type: string
          example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                example:
                - /device/site
                - /device/identification
                items:
                  type: string
                  example: /device/site
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: Internal server error
    put:
      tags:
      - SSC
      summary: Set or change the list of subscriptions associated with the sessionUUID
      security:
      - basicAuthApi: []
      parameters:
      - name: sessionUUID
        in: path
        required: true
        description: The unique session id of the subscription
        schema:
          type: string
          example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
      requestBody:
        content:
          application/json:
            schema:
              type: array
              example:
              - /device/site
              - /device/identification
              - /device/state
              items:
                type: string
                example: /device/site
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: Internal server error
    delete:
      summary: End an existing subscription
      description: End the subscription associated with the sessionUUID
      tags:
      - SSC
      security:
      - basicAuthApi: []
      parameters:
      - name: sessionUUID
        in: path
        required: true
        description: The unique session id of the subscription
        schema:
          type: string
          example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
      responses:
        '200':
          description: Successful operation
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: Internal server error

  /api/ssc/state/subscriptions/{sessionUUID}/add:
    put:
      tags:
      - SSC
      summary: Add resource(s) to the subscription list
      description: Add a set of resources to the list of subscriptions associated
        with the sessionUUID
      security:
      - basicAuthApi: []
      parameters:
      - name: sessionUUID
        in: path
        required: true
        description: The unique session id of the subscription
        schema:
          type: string
          example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
      requestBody:
        content:
          application/json:
            schema:
              type: array
              example:
              - /device/site
              - /device/identification
              items:
                type: string
                example: /device/site
      responses:
        '200':
          description: Successful operation
        '400':
          description: The request to add to the subscription was invalid
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    example: /api/ssc/invalid
                  error:
                    type: integer
                    example: 404
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: Internal server error

  /api/ssc/state/subscriptions/{sessionUUID}/remove:
    put:
      tags:
      - SSC
      summary: Remove resource(s) from the subscription list
      description: Remove a set of resources from the list of subscriptions associated
        with the sessionUUID
      security:
      - basicAuthApi: []
      parameters:
      - name: sessionUUID
        in: path
        required: true
        description: The unique session id of the subscription
        schema:
          type: string
          example: 31875a94-29e6-4fb0-ab4d-7f0bbd6e1bc8
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                example: /api/device/site
      responses:
        '200':
          description: Successful operation
        '400':
          description: The request to remove to the subscription was invalid
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    example: /api/ssc/version
                  error:
                    type: integer
                    example: 404
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: Internal server error

  /api/device/identity:
    get:
      tags:
      - Device
      summary: Get the device identity
      security: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  product:
                    description: The product type by which the device identifies itself
                      (e.g. via mDNS).
                    type: string
                    enum:
                    - TCBarS
                    - TCBarM
                  hardwareRevision:
                    description: The hardware Revision.
                    type: string
                    enum:
                    - ES
                    - EVT1
                    - EVT2
                    - DVT
                    - PVT
                    - MP
                  serial:
                    type: string
                    example: '1023456789'
                  vendor:
                    type: string
                    example: Sennheiser electronic SE & Co. KG
                    enum:
                    - Sennheiser electronic SE & Co. KG
        '500':
          description: Internal server error

  /api/device/identification:
    get:
      tags:
      - Device
      summary: Get the state of device identification
      security: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  visual:
                    type: boolean
                    default: false
        '500':
          description: Internal server error
    put:
      tags:
      - Device
      summary: Set the state of device identification
      security: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                visual:
                  type: boolean
                  example: false
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '409':
          description: Conflict. Activating identification was not possible because
            of internal device state.
        '500':
          description: Internal server error

  /api/device/restart:
    put:
      tags:
      - Device
      x-sennheiser-sscv2-resourcetype:
      - RebootingResource
      summary: Trigger device restart/reboot
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: Internal server error

  /api/device/power/poe/output:
    get:
      deprecated: true
      summary: Get the power over ethernet settings.
      description: Command to retrieve the power over ethernet settings.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    example: true
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      deprecated: true
      summary: Write the the power over ethernet settings.
      description: Command to set the power over ethernet settings of the device.
        Please be aware that an enabled PoE Port will lead to a higher power consumption
        which will be not compliant to the power saving restrictions. If you use that
        option, you will accept this.
      tags:
      - Device
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  example: true
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/ffov:
    put:
      summary: Reset the internal camera to the full field of view (ffov)
      description: Reset to ffov
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful reset
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/preset/store:
    put:
      summary: Store the current internal camera configuration in the preset
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful store
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/preset/load:
    put:
      summary: Load the internal camera configuration from the preset
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful load
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/aiAccess:
    get:
      summary: Get status of auto framing and person tiling.
      description: Command to retrieve the current status of auto framing and person
        tiling.
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  autoFramingAccessEnabled:
                    description: Getting the status of the functionality of the remote
                      control button for using autoframing.
                    type: boolean
                    default: true
                  autoFramingEnabled:
                    description: Getting the status whether autoFraming is enabled
                    type: boolean
                    default: true
                  personTilingAccessEnabled:
                    description: Getting the status of functionality of the remote
                      control button for using person tiling.
                    type: boolean
                    default: true
                  personTilingEnabled:
                    description: Getting the status whether personTiling is enabled
                    type: boolean
                    default: true
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the status of auto framing and person tiling.
      description: Command to define the current status of auto framing and person
        tiling.
      tags:
      - Video
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                autoFramingAccessEnabled:
                  description: Activates the functionality on the remote control button
                    for using autoframing.
                  type: boolean
                autoFramingEnabled:
                  description: Activates autoframing
                  type: boolean
                personTilingAccessEnabled:
                  description: Activates the functionality on the remote control button
                    for using person tiling.
                  type: boolean
                personTilingEnabled:
                  description: Activates person tiling
                  type: boolean
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '409':
          description: Conflict. Setup mutually exclusive parameters.
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/movement/relative:
    put:
      summary: Move the internal camera position relative to the current position.
      description: Move the internal camera position relative to the current position
        by x steps. If x would exceed the maximum position for the direction, then
        the camera is set to the maximum for this position.
      tags:
      - Video
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                up:
                  type: integer
                  format: uint8
                down:
                  type: integer
                  format: uint8
                left:
                  type: integer
                  format: uint8
                right:
                  type: integer
                  format: uint8
                zoomIn:
                  type: integer
                  format: uint8
                zoomOut:
                  type: integer
                  format: uint8
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '409':
          description: Conflict. Setup mutually exclusive parameters.
        '422':
          description: Unprocessable Value (e.g. zoomIn and zoomOut specified in the
            same request)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/speaker/relative:
    put:
      summary: Adjust the current speaker volume.
      description: Adjust the current speaker volume by x steps. If adjusting by x
        would exceed the maximum position for the volume, then the volume is set to
        the maximum; if adjusting by x would put the volume below 0, it is set to
        0.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                volumeUp:
                  description: Raise of volume in steps
                  type: integer
                  format: uint8
                volumeDown:
                  description: Lower the volume in steps
                  type: integer
                  format: uint8
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '409':
          description: Conflict. Setup mutually exclusive parameters.
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network:
    get:
      summary: Returns list of network interfaces
      description: Returns all network interfaces and their current settings.
      tags:
      - Interfaces
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Unique name to identify the interface
                      example: Port1
                      enum:
                      - Port1
                      - Port2
                      - Port1_2
                      - Wifi1
                      - VlanDante
                    type:
                      type: string
                      description: This is the interfacetype.
                      example: Ethernet
                      enum:
                      - Ethernet
                      - Wifi
                      - Vlan
                    mac:
                      type: string
                      description: Hardware address of the interface
                      example: 00:1b:66:0c:04:83
                    functionalities:
                      type: array
                      description: Important network functionalities provided on this
                        interface by the device
                      items:
                        type: string
                        example: Control
                        enum:
                        - Control
                        - Dante
                    autoDiscovery:
                      type: boolean
                      default: true
                      description: Is mDNS-SD activated for the interface to publish
                        the hostname and the SSCv2 Service
                    ipMode:
                      type: string
                      description: Select IP protocol to be used.
                      enum:
                      - DualStack
                      default: DualStack
                    ipv4:
                      type: object
                      properties:
                        method:
                          type: string
                          description: IP method
                          default: Auto
                          enum:
                          - Fixed
                          - Auto
                        address:
                          description: This is the current IP address of the interface.
                          type: string
                          example: 192.168.178.10
                        netmask:
                          description: This is the current netmask of the interface.
                          type: string
                          example: 255.255.255.0
                        gateway:
                          description: This is the current gateway of the interface.
                          type: string
                          example: 192.168.178.1
                    ipv6:
                      type: object
                      properties:
                        method:
                          type: string
                          description: IP method
                          default: SLAAC
                          enum:
                          - SLAAC
                        addresses:
                          type: array
                          default: []
                          items:
                            type: object
                            properties:
                              ip:
                                type: string
                                example: 2001:0db8:85a3:08d3:1319:8a2e:0370:7347
                              prefixLength:
                                type: integer
                                format: uint8
                                example: 64
                        gateways:
                          type: array
                          default: []
                          items:
                            type: string
                            example: 2001:0db8:85a3:08d3:1319:8a2e:0370:7347
                    vlanTag:
                      description: This is an exclusive field for virtual LAN configuration.
                        The user has to define a specific setting for the vlan ID.
                        For Dante the default configuration is 100.
                      example: 100
                      type: integer
                      format: uint16
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic:
    get:
      summary: Get the internal mic parameters.
      description: Command to retrieve the internal mic parameters of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  gain:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 0
                    default: 0
                  enabled:
                    description: Enables the internal mic.
                    type: boolean
                    default: true
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the internal mic parameters.
      description: Defines the internal mic parameters of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                gain:
                  type: integer
                  description: Unit is dB
                  format: int8
                  minimum: -60
                  maximum: 0
                enabled:
                  description: Enables the internal mic.
                  type: boolean
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/mute:
    get:
      deprecated: true
      summary: Get the mute state of the mic inputs.
      description: Command to retrieve the mute state of the mic inputs of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      deprecated: true
      summary: Define the mute state of the mic inputs.
      description: Defines the mute state of the mic inputs of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/mute:
    get:
      summary: Get the mute state of the internal and external mic inputs after the
        mixer.
      description: Command to retrieve the mute state of the internal and external
        mic inputs of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define  the mute state of the internal and external mic inputs after
        the mixer.
      description: Defines the mute state of the internal and external mic inputs
        of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/noiseGate:
    get:
      summary: Get the noise gate settings of the internal mic.
      description: Command to retrieve the noise gate settings of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
                  threshold:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -70
                    maximum: -30
                    default: -40
                  holdTime:
                    type: integer
                    description: Unit is ms
                    format: uint16
                    minimum: 100
                    maximum: 500
                    default: 300
                  range:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -80
                    maximum: 0
                    default: -40
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the noise gate settings of the internal mic.
      description: Defines the noise gate settings of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                threshold:
                  type: integer
                  description: Unit is dB
                  format: int8
                  minimum: -70
                  maximum: -30
                  example: -70
                holdTime:
                  type: integer
                  description: Unit is ms
                  format: uint16
                  minimum: 100
                  maximum: 500
                  example: 300
                range:
                  type: integer
                  description: Unit is dB
                  format: int8
                  minimum: -80
                  maximum: 0
                  example: -60
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/noiseSuppression:
    get:
      summary: Get the noise suppression config of the mic inputs.
      description: Get the behavior of the noise suppression of the mic inputs.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  weighting:
                    type: string
                    enum:
                    - Low
                    - Medium
                    - High
                    default: Medium
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the noise suppression config of the mic inputs.
      description: Defines the behavior of the noise suppression of the mic inputs.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                weighting:
                  type: string
                  example: High
                  enum:
                  - Low
                  - Medium
                  - High
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network/dante/settings:
    get:
      summary: Dante settings
      description: Command to set the continuous Dante Stream and Dante speaker output
        values.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  continuousDanteStream:
                    type: boolean
                    default: false
                  danteSpeakerOutput:
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the state continuous Dante Stream.
      description: Defines the continuous Dante Stream state of the bar.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                continuousDanteStream:
                  type: boolean
                  default: false
                danteSpeakerOutput:
                  type: boolean
                  default: false
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/speaker:
    get:
      summary: Get the speaker output parameters.
      description: Defines the speaker output parameters of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  volume:
                    type: integer
                    format: uint8
                    minimum: 0
                    maximum: 100
                    default: 50
                    description: Set the Bar speaker volume in percent.
                  levelLimiter:
                    type: integer
                    format: uint8
                    minimum: 0
                    maximum: 100
                    default: 100
                    description: Get the limit for maximum speaker volume in percent.
                      Example - If set to 50, the Bars max Speaker volume would be
                      limitted to 50%, even the actual volume is set higher.
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the the speaker output parameters.
      description: Defines the speaker output parameters.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                volume:
                  type: integer
                  format: uint8
                  minimum: 0
                  maximum: 100
                  example: 50
                  description: Set the Bar speaker volume in percent.
                levelLimiter:
                  type: integer
                  format: uint8
                  minimum: 0
                  maximum: 100
                  example: 100
                  description: Set the limit for maximum speaker volume in percent.
                    Example - If set to 50, the Bars max Speaker volume would be limitted
                    to 50%, even the actual volume is set higher.
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/videoParameters:
    get:
      summary: Get the video parameters of the internal camera.
      description: Command to retrieve the current video parameters.
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  lowlightCompensationEnabled:
                    type: boolean
                    default: false
                    deprecated: true
                  backlightCompensationEnabled:
                    type: boolean
                    default: true
                    deprecated: true
                  compensation:
                    type: string
                    enum:
                    - 'Off'
                    - Backlight
                    - Lowlight
                    default: Backlight
                  antiFlickerFrequency:
                    type: string
                    enum:
                    - Auto
                    - 50Hz
                    - 60Hz
                    - 'Off'
                    default: Auto
                  brightness:
                    type: integer
                    default: 0
                    minimum: -12
                    maximum: 12
                  autoExposureEnabled:
                    deprecated: true
                    type: boolean
                    default: true
                  exposure:
                    deprecated: true
                    description: Getting the manual exposure setting. It only has
                      an effect if autoExposureEnabled set to 'false'
                    type: integer
                    default: 0
                    minimum: -5
                    maximum: 3
                  contrast:
                    type: integer
                    default: 5
                    minimum: 1
                    maximum: 10
                  saturation:
                    type: integer
                    default: 5
                    minimum: 0
                    maximum: 10
                  sharpness:
                    type: integer
                    default: 2
                    minimum: 0
                    maximum: 6
                  autoWhitebalanceEnabled:
                    type: boolean
                    default: true
                  whitebalance:
                    type: integer
                    description: Getting the manual white temperature setting. It
                      only has an effect if auto_whitebalance_enabled is set to 'false'
                    default: 4600
                    minimum: 2800
                    maximum: 6500
                  defaultCameraMode:
                    type: string
                    description: This will set a default camera mode, which will take
                      effect after entering a call.
                    enum:
                    - ResumeLastView
                    - FullFieldOfView
                    - AutoFraming
                    - PersonTiling
                    - UserPreset
                    default: ResumeLastView
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/allowedStandbyMode:
    get:
      summary: Get the lowest allowed standby mode of the Bar.
      description: Shows the lowest possible energy saving mode the Bar is allowed
        to enter.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  mode:
                    type: string
                    enum:
                    - AlwaysOn
                    - EcoMode
                    - LowPowerMode
                    default: EcoMode
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Set the lowest allowed standby mode of the Bar.
      description: Sets the lowest possible energy saving mode the Bar is allowed
        to enter.
      tags:
      - Device
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                mode:
                  type: string
                  enum:
                  - AlwaysOn
                  - EcoMode
                  - LowPowerMode
                  default: EcoMode
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/hasUserInteraction:
    get:
      summary: Indication if the device has any user interaction.
      description: An SSCv2 Command to check if the device has any user interaction.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  interaction:
                    description: Indicated if the device has any user interaction.
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/bluetooth:
    get:
      summary: Get the bluetooth setting
      description: Command to retrieve the current bluetooth settings.
      tags:
      - Bluetooth
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
                  pairing:
                    type: boolean
                    default: false
                  mac:
                    type: string
                    example: 00:1b:66:c8:ec:53
                    readOnly: true
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Write the bluetooth settings
      description: Command to set the bluetooth settings of the device.
      tags:
      - Bluetooth
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  description: If this is set to "false" also pairing has to be reset
                    to "false" automatically and the bluetooth device list (``/interfaces/bluetooth/deviceslist``)
                    will be reset to an empty array automatically as well
                  type: boolean
                  example: true
                pairing:
                  description: If set to "true" a timer of 3 min starts to run. Will
                    be set back to "false" when a device was connected or after timeout.
                    In Cockpit you also can manually set back to "false" at any time.
                  type: boolean
                  example: false
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/bluetooth/devicesList:
    get:
      summary: Gets a list of last 8 known devices - currently or previously connected
      description: Command to retrieve the list of known bluetooth devices.
      tags:
      - Bluetooth
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                default: []
                example:
                - name: Samsung1234
                  mac: 00:1b:66:0c:04:83
                  status: disconnected
                  profile: A2DP
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name to identify the device
                    mac:
                      type: string
                      description: Unique Hardware address of the device
                    status:
                      type: string
                      description: Connection Status of the device
                      enum:
                      - Disconnected
                      - Connected
                      - Active
                    profile:
                      type: string
                      description: Used profile of the device
                      enum:
                      - A2DP
                      - HFP
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/leds/ring:
    get:
      summary: Get the user LED settings of the device ring
      description: Command to retrieve the current led settings of the ring.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  brightness:
                    description: The led brightness
                    type: integer
                    format: int64
                    minimum: 0
                    maximum: 5
                    default: 3
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Write the user LED settings of the device ring
      description: Command to set the led settings of the ring.
      tags:
      - Device
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                brightness:
                  description: The led brightness
                  type: integer
                  format: int64
                  example: 5
                  minimum: 0
                  maximum: 5
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/feedback:
    get:
      summary: Get the user feedback settings of the device
      description: Command to retrieve the current user feedback settings (Sound Prompts).
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  soundPrompts:
                    description: With that property you can choose if there should
                      be any sound-feedback from the bar. Independent from that the
                      Welcome Sound is being played on every boot.
                    type: boolean
                    default: true
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Set the user feedback settings of the device
      description: Command to set the current user feedback settings (Sound Prompts).
      tags:
      - Device
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                soundPrompts:
                  description: With that property you can choose if there should be
                    any sound-feedback from the bar. Independent from that the Welcome
                    Sound is being played on every boot.
                  type: boolean
                  example: true
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network/wifi:
    get:
      summary: Get the wifi status
      description: Command to retrieve the current wifi status.
      tags:
      - Wifi
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
                  state:
                    description: Get the information about the current connection
                      state.
                    type: string
                    default: Disconnected
                    enum:
                    - Connected
                    - Disconnected
                  connection:
                    type: object
                    default: {}
                    example:
                      ssid: Sennheiser_Guest
                      security: WPA/WPA2-Personal
                      signal: 70
                      frequency: 2.4GHz
                      channel: 6
                    properties:
                      ssid:
                        type: string
                      security:
                        type: string
                        enum:
                        - None
                        - WEP
                        - WPA/WPA2-Personal
                      signal:
                        type: integer
                        minimum: 0
                        maximum: 100
                      frequency:
                        type: string
                        enum:
                        - 2.4GHz
                        - 5GHz
                        - 2.4GHz+5GHz
                      channel:
                        type: integer
                        minimum: 1
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera/movement:
    get:
      summary: Get the manual camera position and movement speed.
      description: Getting the manual camera position and movement speed.
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  panPosition:
                    type: integer
                    default: 0
                    minimum: -25
                    maximum: 25
                  tiltPosition:
                    type: integer
                    default: 0
                    minimum: -25
                    maximum: 25
                  zoomPosition:
                    description: There are different max zoom factors for different
                      device profiles as well as for different bar types allowed.
                      For Bar M Zoom=500, MicrosoftTeams=150, Custom=500  AND For
                      Bar S Zoom=400, MicrosoftTeams=200, Custom=300.
                    type: integer
                    default: 100
                    minimum: 100
                    maximum: 500
                  zoomSpeed:
                    description: Zoomspeed of the manual control via remote
                    type: string
                    enum:
                    - Slow
                    - Medium
                    - Fast
                    default: Medium
                  panTiltSpeed:
                    description: Pan- and tiltspeed of the manual control via remote
                    type: string
                    enum:
                    - Slow
                    - Medium
                    - Fast
                    default: Medium
                  autoFramingSpeed:
                    description: Movementspeed of the autoframer
                    type: string
                    enum:
                    - Slow
                    - Medium
                    - Fast
                    default: Medium
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the manual camera position and movement speed.
      description: Changes the manual camera position and movement speed.
      tags:
      - Video
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                panPosition:
                  type: integer
                  minimum: -25
                  maximum: 25
                  example: 0
                tiltPosition:
                  type: integer
                  minimum: -25
                  maximum: 25
                  example: 0
                zoomPosition:
                  description: There are different max zoom factors for different
                    device profiles as well as for different bar types allowed. For
                    Bar M Zoom=500, MicrosoftTeams=150, Custom=500  AND For Bar S
                    Zoom=400, MicrosoftTeams=200, Custom=300.
                  type: integer
                  minimum: 100
                  maximum: 500
                  example: 100
                zoomSpeed:
                  description: Zoomspeed of the manual control via remote
                  type: string
                  enum:
                  - Slow
                  - Medium
                  - Fast
                  example: Medium
                panTiltSpeed:
                  description: Pan- and tiltspeed of the manual control via remote
                  type: string
                  enum:
                  - Slow
                  - Medium
                  - Fast
                  example: Medium
                autoFramingSpeed:
                  description: Movementspeed of the autoframer
                  type: string
                  enum:
                  - Slow
                  - Medium
                  - Fast
                  example: Medium
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/input/internalCamera:
    get:
      summary: Get the camera status.
      description: Command to retrieve the camera status.
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  active:
                    description: Getting the camera activity status.
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/video/output/hdmi:
    get:
      summary: Get the HDMI enabled status.
      description: Command to retrieve the current HDMI enabled status.
      tags:
      - Video
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    description: Getting the HDMI activity status.
                    type: boolean
                    default: true
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/profile:
    get:
      summary: Retrieve the current device profile.
      description: Command to retrieve the current device profile (e.g. Camera IQ
        Profile).
      tags:
      - Interfaces
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  configuration:
                    type: string
                    default: Custom
                    enum:
                    - Custom
                    - Zoom
                    - MicrosoftTeams
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      x-sennheiser-sscv2-resourcetype:
      - RebootingResource
      summary: Define which device profile (e.g. camera IQ profile) will be used.
      description: Command to set the current device profile. Please note that in
        the MicrosoftTeams profile the possibility to enable the HDMI output and the
        possibility to change camera parameters is restricted.
      tags:
      - Interfaces
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                configuration:
                  type: string
                  example: Custom
                  enum:
                  - Custom
                  - Zoom
                  - MicrosoftTeams
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct or value is not
            allowed. (e.g., wrong JSON payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/soundProfile:
    get:
      summary: Get the soundprofile of the internal mic.
      description: Defines the soundprofile of the internal mic. E.g. a specific mounting
        preset or custom eq preferation of the user.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  preset:
                    type: string
                    enum:
                    - Wallmount
                    - TableTop
                    - AboveDisplay
                    - UnderDisplay
                    - FreeStanding
                    - Custom
                    default: Wallmount
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the soundprofile of the internal mic.
      description: Defines the soundprofile of the internal mic. E.g. a specific mounting
        preset or custom eq preferation of the user.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                preset:
                  type: string
                  enum:
                  - Wallmount
                  - TableTop
                  - AboveDisplay
                  - UnderDisplay
                  - FreeStanding
                  - Custom
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/customEq:
    get:
      summary: Get the custom eq of the internal mic.
      description: Defines the custom eq of the internal mic.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 7
                maxItems: 7
                example:
                - -8
                - 5
                - -3
                - 0
                - 0
                - 8
                - 1
                default:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                items:
                  type: integer
                  description: Unit is dB
                  format: int8
                  minimum: -8
                  maximum: 8
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the custom eq of the internal mic.
      description: Defines the custom eq of the internal mic.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: array
              minItems: 7
              maxItems: 7
              example:
              - -8
              - 5
              - -3
              - 0
              - 0
              - 8
              - 1
              items:
                type: integer
                description: Unit is dB
                format: int8
                minimum: -8
                maximum: 8
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/priorityZones:
    get:
      tags:
      - Audio
      summary: Get the supported priority zones
      description: Command to retrieve the priority zone ids the device supports
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 1
                maxItems: 1
                uniqueItems: true
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    active:
                      type: boolean
                      default: false
                    enabled:
                      type: boolean
                      default: false
                    gain:
                      type: string
                      enum:
                      - Low
                      - Medium
                      - High
                      default: Medium
                    left:
                      type: integer
                      description: Unit is degree
                      format: uint8
                      minimum: 15
                      maximum: 165
                      example: 15
                    right:
                      type: integer
                      description: Unit is degree
                      format: uint8
                      minimum: 15
                      maximum: 165
                      example: 30
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/priorityZones/{id}:
    get:
      tags:
      - Audio
      summary: Get the current priority zone settings of zone number `id`
      description: Command to retrieve the current priority zone settings of zone
        number `id`.
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 0
          example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  active:
                    type: boolean
                    default: false
                  enabled:
                    type: boolean
                    default: false
                  gain:
                    type: string
                    enum:
                    - Low
                    - Medium
                    - High
                    default: Medium
                  left:
                    type: integer
                    description: Unit is degree
                    format: uint8
                    minimum: 15
                    maximum: 165
                    example: 15
                  right:
                    type: integer
                    description: Unit is degree
                    format: uint8
                    minimum: 15
                    maximum: 165
                    example: 30
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      tags:
      - Audio
      summary: Set the current priority zone settings of zone number `id`
      description: Command to change the current priority zone settings of zone number
        `id`.
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 0
          example: 0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                gain:
                  type: string
                  enum:
                  - Low
                  - Medium
                  - High
                  example: Medium
                left:
                  type: integer
                  description: Unit is degree
                  format: uint8
                  minimum: 15
                  maximum: 165
                  example: 15
                right:
                  type: integer
                  description: Unit is degree
                  format: uint8
                  minimum: 15
                  maximum: 165
                  example: 30
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/exclusionZones:
    get:
      tags:
      - Audio
      summary: Get the supported exclusion zone ids
      description: Command to retrieve the exclusion zone ids the device supports
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 3
                maxItems: 3
                uniqueItems: true
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    active:
                      type: boolean
                      default: false
                    enabled:
                      type: boolean
                      default: false
                    left:
                      type: integer
                      description: Unit is degree
                      format: uint8
                      minimum: 15
                      maximum: 165
                      example: 15
                    right:
                      type: integer
                      description: Unit is degree
                      format: uint8
                      minimum: 15
                      maximum: 165
                      example: 30
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/exclusionZones/{id}:
    get:
      tags:
      - Audio
      summary: Get the current exclusion zone settings of zone number `id`
      description: Command to retrieve the current exclusion zone settings of zone
        number `id`
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 2
          example: 0
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  active:
                    type: boolean
                    default: false
                  enabled:
                    type: boolean
                    default: false
                  left:
                    type: integer
                    description: Unit is degree
                    format: uint8
                    minimum: 15
                    maximum: 165
                    example: 15
                  right:
                    type: integer
                    description: Unit is degree
                    format: uint8
                    minimum: 15
                    maximum: 165
                    example: 30
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      tags:
      - Audio
      summary: Set the current exclusion zone settings of zone number `id`
      description: Command to change the current exclusion zone settings of zone number
        `id`
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 2
          example: 0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                left:
                  type: integer
                  description: Unit is degree
                  format: uint8
                  minimum: 15
                  maximum: 165
                  example: 15
                right:
                  type: integer
                  description: Unit is degree
                  format: uint8
                  minimum: 15
                  maximum: 165
                  example: 30
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/beam:
    get:
      summary: Get the beam position of the internal mic.
      description: Command to retrieve the beam position of the internal mic of the
        bar.
      tags:
      - Audio
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  position:
                    type: integer
                    format: uint8
                    description: Unit is degree
                    minimum: 15
                    maximum: 165
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/speaker/customEq:
    get:
      summary: Get the custom eq for speaker output
      description: Defines the custom eq for speaker output.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 7
                maxItems: 7
                example:
                - -8
                - 5
                - -3
                - 0
                - 0
                - 8
                - 1
                default:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                items:
                  type: integer
                  format: int8
                  description: Unit is dB
                  minimum: -8
                  maximum: 8
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the custom eq for speaker output
      description: Defines the custom eq for speaker output.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: array
              minItems: 7
              maxItems: 7
              example:
              - -8
              - 5
              - -3
              - 0
              - 0
              - 8
              - 1
              items:
                type: integer
                description: Unit is dB
                format: int8
                minimum: -8
                maximum: 8
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/device/site:
    get:
      summary: Get the device site information.
      description: Command to get the device site information.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  deviceName:
                    type: string
                    example: TCBarS-c8ec48
                    description: Default name is "TCBar*-XXXXXX"  with *=S or M ,
                      X= depending on last 3 bytes of the Ethernet MAC
                  danteName:
                    type: string
                    example: TCBarS-c8ec48
                    description: Default name is "TCBar*-XXXXXX"  with *=S or M ,
                      X= depending on last 3 bytes of the Dante MAC
                  location:
                    type: string
                    example: Chemistry Building 5, Room 15
                    description: This property correlates the old SSC v1 location
                      that is used by some client for the Location-Based-Mute/Room-Mute.
                    default: RoomA
                  position:
                    type: string
                    example: Left side near the big pillar
                    default: ''
                  language:
                    type: string
                    example: En_GB
                    default: En_GB
                    enum:
                    - En_GB
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network/{interfacename}:
    parameters:
    - name: interfacename
      in: path
      description: This interfacename is the same as in the Get '/interfaces/network/'
        method
      required: true
      schema:
        type: string
        enum:
        - Port1
        - Port2
        - Port1_2
        - Wifi1
        - VlanDante
        example: Port1
    get:
      summary: Get the interface settings.
      description: Get the network interface settings for the specified interface.
      tags:
      - Interfaces
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Unique name to identify the interface
                    example: Port1
                    enum:
                    - Port1
                    - Port2
                    - Port1_2
                    - Wifi1
                    - VlanDante
                  type:
                    type: string
                    description: This is the interfacetype.
                    example: Ethernet
                    enum:
                    - Ethernet
                    - Wifi
                    - Vlan
                  mac:
                    type: string
                    description: Hardware address of the interface
                    example: 00:1b:66:0c:04:83
                  functionalities:
                    type: array
                    description: Important network functionalities provided on this
                      interface by the device
                    items:
                      type: string
                      example: Control
                      enum:
                      - Control
                      - Dante
                  autoDiscovery:
                    type: boolean
                    default: true
                    description: Is mDNS-SD activated for the interface to publish
                      the hostname and the SSCv2 Service
                  ipMode:
                    type: string
                    description: Select IP protocol to be used.
                    enum:
                    - DualStack
                    default: DualStack
                  ipv4:
                    type: object
                    properties:
                      method:
                        type: string
                        description: IP method
                        default: Auto
                        enum:
                        - Fixed
                        - Auto
                      address:
                        description: This is the current IP address of the interface.
                        type: string
                        example: 192.168.178.10
                      netmask:
                        description: This is the current netmask of the interface.
                        type: string
                        example: 255.255.255.0
                      gateway:
                        description: This is the current gateway of the interface.
                        type: string
                        example: 192.168.178.1
                  ipv6:
                    type: object
                    properties:
                      method:
                        type: string
                        description: IP method
                        default: SLAAC
                        enum:
                        - SLAAC
                      addresses:
                        type: array
                        default: []
                        items:
                          type: object
                          properties:
                            ip:
                              type: string
                              example: 2001:0db8:85a3:08d3:1319:8a2e:0370:7347
                            prefixLength:
                              type: integer
                              format: uint8
                              example: 64
                      gateways:
                        type: array
                        default: []
                        items:
                          type: string
                          example: 2001:0db8:85a3:08d3:1319:8a2e:0370:7347
                  vlanTag:
                    description: This is an exclusive field for virtual LAN configuration.
                      The user has to define a specific setting for the vlan ID. For
                      Dante the default configuration is 100.
                    example: 100
                    type: integer
                    format: uint16
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network/portConfiguration:
    get:
      summary: Get the current Port configuration of the RJ45 Ports of the device
      description: "Command to retrieve the Ethernet port configuration. There are\
        \ different port configurations, affecting the accessibility of the Control\
        \ and Dante functionality in the network: \n- SingleDomain means only one\
        \ IP and MAC for the Device and no VLANs.\n- DualDomain means a VLAN is used\
        \ for the Dante, the Control functionality is using the physical interface.\
        \ This mode uses two different MACs and different IPs for Dante and Control.\
        \ Both Applications will be available on both Ports in case of Bar M. \n-\
        \ Split means the device has two IPs from 2 MAC addresses, each tied to one\
        \ of the external ports, but no VLAN configuration. This mode is only available\
        \ on Bar M.\n- The default Port configuration is SingleDomain for Bar S and\
        \ Split for Bar M.\n"
      tags:
      - Interfaces
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  configuration:
                    type: string
                    description: "There are different port configurations, affecting\
                      \ the accessibility of the Control and Dante functionality in\
                      \ the network:\n- SingleDomain means only one IP and MAC for\
                      \ the Device and no VLANs.\n- DualDomain means a VLAN is used\
                      \ for the Dante, the Control functionality is using the physical\
                      \ interface. This mode uses two different MACs and different\
                      \ IPs for Dante and Control. Both Applications will be available\
                      \ on both Ports in case of Bar M. \n- Split means the device\
                      \ has two IPs from 2 MAC addresses, each tied to one of the\
                      \ external ports, but no VLAN configuration. This mode is only\
                      \ available on Bar M.\n- The default Port configuration is SingleDomain\
                      \ for Bar S and Split for Bar M.\n"
                    example: SingleDomain
                    enum:
                    - SingleDomain
                    - Split
                    - DualDomain
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/mixer:
    get:
      summary: Get the fading time / behavior for mic selector.
      description: Command to retrieve the fading time for mic selector of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  fadeBehavior:
                    type: string
                    enum:
                    - Slow
                    - Medium
                    - Fast
                    default: Medium
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the fading time / behavior for mic selector.
      description: Defines the fading time / behavior for mic selector. of the bar.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fadeBehavior:
                  type: string
                  enum:
                  - Slow
                  - Medium
                  - Fast
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct (e.g., wrong JSON
            payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/conferenceOutput:
    get:
      summary: Get the audio output parameters for the Conference Output.
      description: Defines the audio mix signal for the hearing impaired people applications.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  farEndGain:
                    type: integer
                    format: int8
                    minimum: -60
                    maximum: 0
                    default: -6
                  nearEndGain:
                    type: integer
                    format: int8
                    minimum: -60
                    maximum: 0
                    default: -6
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the audio output parameters for the Conference Output.
      description: Defines the audio mix signal for the hearing impaired people applications.
        As it is a mix of two signals, be aware of clipping scenarios when setting
        the gains.
      tags:
      - Audio
      security:
      - basicAuthApi: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                farEndGain:
                  type: integer
                  format: int8
                  minimum: -60
                  maximum: 0
                  example: -6
                nearEndGain:
                  type: integer
                  format: int8
                  minimum: -60
                  maximum: 0
                  example: -6
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct or the value out
            of range. (e.g., wrong JSON payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/internalMic/level:
    get:
      summary: Get the internal mic level.
      description: Command to retrieve the internal mic level of the bar.
      tags:
      - Audio
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  peak:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 10
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/bluetooth:
    get:
      summary: Get the bluetooth input parameters.
      description: Command to retrieve the the bluetooth input parameters of the bar.
      tags:
      - Audio
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  level:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 10
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/usb:
    get:
      summary: Get the usb input parameters.
      description: Command to retrieve the the usb input parameters of the bar.
      tags:
      - Audio
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  level:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 10
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/dante/levels:
    get:
      summary: Get the Dante Audio level.
      description: Command to retrieve the Dante Audio level of the bar.
      tags:
      - Dante
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 2
                maxItems: 2
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      format: uint8
                      minimum: 0
                      maximum: 1
                    value:
                      type: integer
                      description: Unit is dB
                      format: int8
                      minimum: -60
                      maximum: 10
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/dante/{id}/level:
    get:
      parameters:
      - name: id
        in: path
        description: This id is the same as the id from GET /audio/inputs/dante
        required: true
        schema:
          type: integer
          minimum: 0
          maximum: 1
      summary: Get the Dante Audio level of a specific channel.
      description: Command to retrieve the Dante Audio level of the bar.
      tags:
      - Dante
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 10
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/mixer/activity:
    get:
      summary: Get the active mic channel.
      description: Command to retrieve the active mic channel of the bar, regardless
        if there is really a signal available or not.
      tags:
      - Audio
      - FastResource
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  activeChannel:
                    type: string
                    enum:
                    - InternalMic
                    - ExternalMic1
                    - ExternalMic2
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/dante:
    get:
      summary: Get the Dante audio input parameters.
      description: Command to retrieve the Dante Input channel parameters (name and
        gain [dBFS] for mic selector). This is used for connecting extension mics.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 2
                maxItems: 2
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      format: uint8
                      minimum: 0
                      maximum: 1
                    gain:
                      type: integer
                      description: Unit is dB
                      format: int8
                      minimum: -60
                      maximum: 0
                      default: 0
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/inputs/dante/{id}:
    get:
      parameters:
      - name: id
        in: path
        description: This id is the same as the id from GET /audio/inputs/dante
        required: true
        schema:
          type: integer
          minimum: 0
          maximum: 1
      summary: Get the Dante audio input parameters of a specific channel.
      description: Command to retrieve the Dante Input channel parameters (name and
        gain [dBFS] for mic selector). This is used for connecting extension mics.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  gain:
                    type: integer
                    description: Unit is dB
                    format: int8
                    minimum: -60
                    maximum: 0
                    default: 0
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      summary: Define the Dante audio input parameters for a specific channel.
      description: Command to set the Dante Input channel parameters (name and gain
        [dBFS] for mic selector). This is used for connecting extension mics.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        description: This id is the same as the id from GET /audio/inputs/dante
        required: true
        schema:
          type: integer
          minimum: 0
          maximum: 1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                gain:
                  type: integer
                  description: Unit is dB
                  format: int8
                  minimum: -60
                  maximum: 0
                  example: 0
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct or value out of
            range. (e.g., wrong JSON payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Unprocessable Value (e.g the URL contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/dante:
    get:
      deprecated: true
      summary: Get the Dante audio output parameters.
      description: Get the Dante audio output parameters (names) of the bar. This
        is the Dante output for connecting a audio solution for hearing impaired people
        (ConferenceOut - 0) or to get the LocalMicrophone Signal (LocalMicrophoneMixOut
        - 1) or to get the Farend Signal (FarEndOutL - 2 + FarEndOutR - 3). If the
        FarEnd Signal is mono, than both channels will be filled up with this signal
        automatically.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                minItems: 4
                maxItems: 4
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      format: uint8
                      minimum: 0
                      maximum: 3
                    name:
                      type: string
                      example: ConferenceOut
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/audio/outputs/dante/{id}:
    get:
      deprecated: true
      parameters:
      - name: id
        in: path
        description: This id is the same as the id from GET /audio/outputs/dante
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 3
          example: 0
      summary: Get the Dante audio output parameters of a specific channel.
      description: Get the Dante audio output parameters (names) of the bar. This
        is the Dante output for connecting a audio solution for hearing impaired people
        (ConferenceOut - 0) or to get the LocalMicrophone Signal (LocalMicrophoneMixOut
        - 1) or to get the Farend Signal (FarEndOutL - 2 + FarEndOutR - 3). If the
        FarEnd Signal is mono, than both channels will be filled up with this signal
        automatically.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    example: ConferenceOut
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error
    put:
      deprecated: true
      summary: Define the Dante audio output parameters for a specific channel.
      description: Get the Dante audio output parameters of the bar. This is the Dante
        output for connecting a audio solution for hearing impaired people (ConferenceOut)
        or to get the LocalMicrophone Signal (LocalMicrophoneMixOut) or to get the
        Farend Signal (FarEndOutL + FarEndOutR). If the FarEnd Signal is mono, than
        both channels will be filled up with this signal automatically.
      tags:
      - Dante
      security:
      - basicAuthApi: []
      parameters:
      - name: id
        in: path
        description: This id is the same as the id from GET /audio/outputs/dante
        required: true
        schema:
          type: integer
          format: uint8
          minimum: 0
          maximum: 3
          example: 0
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  type: string
                  example: ConferenceOut
      responses:
        '200':
          description: Successful operation
        '400':
          description: Bad request since the format is not correct or value out of
            range. (e.g., wrong JSON payload)
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '422':
          description: Not found since the resource is not existing (e.g., the URL
            contains a wrong ID)
        '500':
          description: SSCv2 Server encountered an internal error

  /api/interfaces/network/dante:
    get:
      summary: Get the status of the Dante interface.
      description: Command to retrieve the  status of the Dante interface.
      tags:
      - Device
      security:
      - basicAuthApi: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    default: false
        '401':
          description: Unauthorized since no user credentials are passed
        '403':
          description: Forbidden since the authenticated user is not allowed to access
            this resource (e.g., this route is not allowed for the ``initialSennheiser``
            user)
        '500':
          description: SSCv2 Server encountered an internal error
