openapi: 3.0.0
info:
  title: Moved
  description: >-
    # New Workspaces


    You can find more recent version of these APIs in new workspaces.


    *   [Dolby.io Communications APIs
    Workspace](https://www.postman.com/dolbyio/workspace/dolby-io-communications-apis)

    *   [Dolby.io Media APIs
    Workspace](https://www.postman.com/dolbyio/workspace/dolby-io-media-apis)
        

    * * *
  version: 1.0.0
servers:
  - url: http://{{voxeet-api-endpoint}}
  - url: http://{{voxeet-session-endpoint}}
  - url: http://{{baseurl}}
  - url: http://{{dolby-api-endpoint}}
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
    apikeyAuth:
      type: http
      scheme: apikey
tags:
  - name: Communications Examples
  - name: Moved to Communications Workspace
  - name: Moved to Communications Workspace > /oauth2/token
  - name: Moved to Communications Workspace > /auth/token
  - name: Moved to Communications Workspace > /monitor/conferences
  - name: Moved to Communications Workspace > /monitor/conferences > /{confId}
  - name: >-
      Moved to Communications Workspace > /monitor/conferences > /{confId} >
      /{confId}/participants
  - name: >-
      Moved to Communications Workspace > /monitor/conferences > /{confId} >
      /{confId}/recordings
  - name: Moved to Communications Workspace > /monitor/recordings
  - name: Moved to Communications Workspace > /monitor/webhooks
  - name: Moved to Media Workspace
  - name: Moved to Media Workspace > /media/enhance
    description: Methods available for this endpoint.
  - name: Moved to Media Workspace > /media/analyze
    description: Methods available for this endpoint.
paths:
  /v1/auth/token:
    post:
      tags:
        - Moved to Communications Workspace > /auth/token
      summary: Acquire a JWT authentication token
      description: >
        Acquire a JWT (JSON Web Token) format access token, make sure to use
        this API against `api.voxeet.com/v1`. Use this API to obtain a JWT token
        to access [Monitor](monitor) APIs. 
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  description: >-
                    Make a request to the token endpoint by setting the value of
                    the
                    [grant_type](https://tools.ietf.org/html/rfc6749#section-1.3)
                    parameter to `client_credentials`.
                  example: client_credentials
                expires_in:
                  type: integer
                  description: Duration token is valid
                  example: '3600'
      security:
        - basicAuth: []
      parameters:
        - name: Cache-Control
          in: header
          schema:
            type: string
          example: no-cache
        - name: Content-Type
          in: header
          schema:
            type: string
          description: '(Required) '
          example: application/x-www-form-urlencoded
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences:
    get:
      tags:
        - Moved to Communications Workspace > /monitor/conferences
      summary: Get a list of conferences
      description: >
        Get a list of conferences that were started in a specific time range,
        including ongoing conferences. The conference summary is only complete
        for the conferences that have ended.
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          example: '100'
        - name: start
          in: query
          schema:
            type: string
        - name: alias
          in: query
          schema:
            type: string
        - name: active
          in: query
          schema:
            type: boolean
          example: 'false'
        - name: exid
          in: query
          schema:
            type: string
          example: irure laborum cupidatat in
        - name: livestats
          in: query
          schema:
            type: boolean
          example: 'false'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}:
    get:
      tags:
        - Moved to Communications Workspace > /monitor/conferences > /{confId}
      summary: Get a summary of a conference
      description: >
        Get a summary of a conference. Note: Only terminated conferences include
        a complete summary.
      parameters:
        - name: livestats
          in: query
          schema:
            type: boolean
          description: >
            For live conferences, the number of `user`, `listener`, and `pstn`
            participants.
          example: 'false'
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/participants:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/participants
      summary: Get information about conference participants
      description: >
        Get statistics and connection details of all participants in a
        conference. Optionally limit the search result with a specific time
        range.
      parameters:
        - name: type
          in: query
          schema:
            type: string
          description: >
            The conference participant type


            * `user` - a participant who can send and receive video/audio stream
            to/from the conference

            * `listener` - a participant who can only receive video/audio stream
            from the conference

            * `pstn` - a participant who connected to the conference using PSTN
            (telephony network)

            * `mixer` - an internal type indicating a mixer connection to the
            conference
          example: pstn
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/participants/{dolby-participant-id}:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/participants
      summary: Get information about a specific conference participant
      description: >
        Get the statistics and connection details of a conference participant,
        during a specific time range.
      parameters:
        - name: type
          in: query
          schema:
            type: string
          description: >
            The conference participant type


            * `user` - a participant who can send and receive video/audio stream
            to/from the conference

            * `listener` - a participant who can only receive video/audio stream
            from the conference

            * `pstn` - a participant who connected to the conference using PSTN
            (telephony network)

            * `mixer` - an internal type indicating a mixer connection to the
            conference
          example: pstn
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
        - name: dolby-participant-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/recordings:
    get:
      tags:
        - Communications Examples
      summary: Get List of Recordings from a Conference
      description: >
        Get a list of the recorded conference metadata, such as duration or size
        of the recording. This API checks the recordings that have ended during
        a specific time range. Recordings are indexed based on the ending time.
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/recordings/mp4:
    get:
      tags:
        - Communications Examples
      summary: Download Recording
      description: >
        Get a list of the recorded conference metadata, such as duration or size
        of the recording. This API checks the recordings that have ended during
        a specific time range. Recordings are indexed based on the ending time.
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/oauth2/token:
    post:
      tags:
        - Moved to Communications Workspace > /oauth2/token
      summary: Retrieve an access token for a client
      description: >
        This API supports the customers to implement [secure
        authentication](/developers/interactivity-apis/client-sdk/initializing#secure-authentication)
        for their mobile and desktop clients. Customer's server application can
        use this API to acquire an access token on behalf of a client, then
        passes the access token to the client. 


        **Note**

        > This API is only available for `session.voxeet.com`. 

        > Even though the `OAuth2` terminology is used in the following APIs,
        they are not `OAuth2` compliant. We are actively working on improving
        our authentication APIs.
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  description: >-
                    Make a request to the token endpoint by setting the value of
                    the
                    [grant_type](https://tools.ietf.org/html/rfc6749#section-1.3)
                    parameter to `client_credentials`.
                  example: client_credentials
                expires_in:
                  type: integer
                  description: >-
                    Access token expiration time in seconds. The maximum value
                    is 2,592,000, indicating 30 days. If no value is specified,
                    the default is 3,600, indicating one hour.
                  example: '3600'
      security:
        - basicAuth: []
      parameters:
        - name: Cache-Control
          in: header
          schema:
            type: string
          example: no-cache
        - name: Content-Type
          in: header
          schema:
            type: string
          description: '(Required) '
          example: application/x-www-form-urlencoded
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /conferences/{cid}/recordings:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/recordings
      summary: Get the recording of a specific conference
      description: >
        Get a list of the recorded conference metadata, such as duration or size
        of the recording. This API checks the recordings that have ended during
        a specific time range. Recordings are indexed based on the ending time.
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: cid
          in: path
          schema:
            type: string
          required: true
          description: >
            (Required) The conference ID, in UUID (Universally Unique
            Identifier) format. The Dolby Interactivity APIs platform
            automatically generates an ID for each conference created on the
            platform.
          example: irure laborum cupidatat in
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    delete:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/recordings
      summary: Delete recordings
      description: >
        Delete all recording data related to a specific conference. 


        **Warning:** After deleting the recording, it is not possible to restore
        the recording data.
      parameters:
        - name: cid
          in: path
          schema:
            type: string
          required: true
          description: >
            (Required) The conference ID, in UUID (Universally Unique
            Identifier) format. The Dolby Interactivity APIs platform
            automatically generates an ID for each conference created on the
            platform.
          example: irure laborum cupidatat in
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /conferences/{cid}/recordings/audio:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/recordings
      summary: Get Dolby Voice audio recordings of a conference
      description: >
        Get details of all Dolby Voice-based audio recordings, and associated
        split recordings, for a given conference and download the conference
        recording in the MP3 audio format.
      parameters:
        - name: cid
          in: path
          schema:
            type: string
          required: true
          description: >
            (Required) The conference ID, in UUID (Universally Unique
            Identifier) format. The Dolby Interactivity APIs platform
            automatically generates an ID for each conference created on the
            platform.
          example: irure laborum cupidatat in
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /conferences/{cid}/recordings/mp4:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/recordings
      summary: Download the conference recording in MP4 format
      description: >
        Download the conference recording in the MP4 video format. For more
        information, see the
        [Recording](/developers/interactivity-apis/client-sdk/recording)
        document.
      parameters:
        - name: token
          in: query
          schema:
            type: string
          description: >
            The token that enables creating links that automatically download
            recordings. Use the `token` in the href link to redirect the link to
            the preassigned AWS URL.
          example: irure laborum cupidatat in
        - name: cid
          in: path
          schema:
            type: string
          required: true
          description: >
            (Required) The conference ID, in UUID (Universally Unique
            Identifier) format. The Dolby Interactivity APIs platform
            automatically generates an ID for each conference created on the
            platform.
          example: irure laborum cupidatat in
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/recordings/mp3:
    get:
      tags:
        - >-
          Moved to Communications Workspace > /monitor/conferences > /{confId} >
          /{confId}/recordings
      summary: Download the conference recording in MP3 format
      description: >
        Download the conference recording in the MP3 audio format. This API is
        available only for non-Dolby Voice conferences. For more information,
        see the [Recording](/developers/interactivity-apis/client-sdk/recording)
        document.
      parameters:
        - name: token
          in: query
          schema:
            type: string
          description: >
            The token that enables creating links that automatically download
            recordings. Use the `token` in the href link to redirect the link to
            the preassigned AWS URL.
          example: tbd
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/conferences/{dolby-conference-id}/webhooks:
    get:
      tags:
        - Moved to Communications Workspace > /monitor/conferences > /{confId}
      summary: Get conference Webhook events
      description: >
        Get a list of Webhook events sent in the conference, during a specific
        time range. The list includes associated endpoint response codes and
        headers.

        For more information on Webhook functionality, refer to this
        [page](/developers/interactivity-apis/webhooks/overview).
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: type
          in: query
          schema:
            type: string
          description: >
            The name of the Webhook event type or an expression of its name (for
            example "Recording.Live.InProgress" or "Rec.*"). The default value
            of the `type` parameter returns all types of Webhooks.
          example: irure laborum cupidatat in
        - name: dolby-conference-id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/recordings:
    get:
      tags:
        - Moved to Communications Workspace > /monitor/recordings
      summary: Get recording details
      description: >
        Get a list of the recorded conference metadata, such as duration or size
        of the recording. This API checks only the recordings that have ended
        during a specific time range. Recordings are indexed based on the ending
        time.
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/monitor/webhooks:
    get:
      tags:
        - Moved to Communications Workspace > /monitor/webhooks
      summary: Get webhooks
      description: >
        Get a list of Webhooks sent in the conference, during a specific time
        range. The list includes associated endpoint response codes and headers.

        For more information on Webhook functionality, refer to this
        [page](/developers/interactivity-apis/webhooks/overview).
      parameters:
        - name: from
          in: query
          schema:
            type: integer
          description: >
            The beginning of the time range (in milliseconds that have elapsed
            since epoch).
          example: '0'
        - name: to
          in: query
          schema:
            type: integer
          description: >
            The end of the time range (in milliseconds that have elapsed since
            epoch).
          example: '9999999999999'
        - name: max
          in: query
          schema:
            type: integer
          description: >
            The maximum number of displayed results. We recommend setting the
            proper value of this parameter to shorten the response time.
          example: '100'
        - name: start
          in: query
          schema:
            type: string
          description: >
            When the results span multiple pages, use this option to navigate
            through pages. By default, only the `max` number of results is
            displayed. To see the next results, set the `start` parameter to the
            value of the `next` key returned in the previous response.
        - name: type
          in: query
          schema:
            type: string
          description: >
            The Webhook event type or an expression of its type (for example
            `Recording.Live.InProgress` or `Rec.*`). The default value of the
            `type` parameter returns all types of Webhooks.
          example: irure laborum cupidatat in
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /media/enhance:
    post:
      tags:
        - Moved to Media Workspace > /media/enhance
      summary: Start Enhancing
      description: >
        **POST /media/enhance**


        Start enhancing to improve your media.  


        The `input` location for your source media file as well as the

        `output` location for the processed result are required.


        This is an asynchronous operation so you will receive a `job_id` where
        you

        can retrieve the results when enhancement is complete.


        There are additional optional parameters that can be provided to

        control and select the type of enhancements made. See the samples

        for some examples of what requests and responses look like.
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n    \"input\": \"<string>\",\n    \"output\":
                \"<string>\",\n    \"content\": {\n        \"type\":
                \"<string>\"\n    },\n    \"audio\": {\n        \"loudness\":
                {\n            \"enable\": \"<boolean>\",\n           
                \"target_level\": \"<number>\",\n           
                \"dialog_intelligence\": \"<boolean>\",\n           
                \"speech_threshold\": \"<float>\",\n            \"peak_limit\":
                \"<float>\",\n            \"peak_reference\":
                \"<string>\"\n        },\n        \"dynamics\": {\n           
                \"range_control\": {\n                \"enable\":
                \"<boolean>\",\n                \"amount\":
                \"<string>\"\n            }\n        },\n        \"noise\":
                {\n            \"reduction\": {\n                \"enable\":
                \"<boolean>\",\n                \"amount\":
                \"<string>\"\n            }\n        },\n        \"filter\":
                {\n            \"dynamic_eq\": {\n                \"enable\":
                true\n            },\n            \"high_pass\":
                {\n                \"enable\": \"<boolean>\",\n               
                \"frequency\": \"<number>\"\n            },\n           
                \"hum\": {\n                \"reduction\":
                {\n                    \"enable\":
                \"<boolean>\"\n                }\n            }\n       
                },\n        \"speech\": {\n            \"isolation\":
                {\n                \"enable\": true,\n               
                \"amount\": \"<int32>\"\n            },\n           
                \"sibilance\": {\n                \"reduction\":
                {\n                    \"enable\":
                \"<boolean>\",\n                    \"amount\":
                \"medium\"\n                }\n            }\n        }\n   
                }\n}"
      security:
        - apikeyAuth: []
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                job_id: a1b2cd34-e5f6-gh78-90ij-k1l23mn4o5p6
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/enhance
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/api-key-error
                title: Authentication Failure
                status: 401
                instance: /media/analyze
                detail: Missing API key
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/not-found
                title: Not Found
                status: 404
                instance: /media/analyze
                detail: NotFound
        '405':
          description: Method Not Allowed
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/method-not-allowed
                title: Method Not Allowed
                status: 405
                instance: /media/analyze
                detail: Method Not Allowed
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/internal-error
                title: An internal service error has occurred
                status: 500
                instance: /media/analyze
                detail: InternalError
    get:
      tags:
        - Moved to Media Workspace > /media/enhance
      summary: Get Enhance Results
      description: |
        For a given job_id, this method will check if the processing task has
        completed and return the enhanced results.

        When the **status** is *Success* you'll be able to retrieve your
        result from the **output** location you provided in the original
        `POST`.
      security:
        - apikeyAuth: []
      parameters:
        - name: job_id
          in: query
          schema:
            type: string
          description: |
            (Required) Use the `job_id` returned from a previous POST response
            to check on the status of an asynchronous request.
          example: <string>
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                status: Success
                path: /media/enhance
                progress: 100
                result:
                  version: 1.0.0
                error:
                  type: sit cupidatat mollit
                  title: nisi enim
                  detail: exercitation et Excepteur
                api_version: v1.0
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/enhance
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/api-key-error
                title: Authentication Failure
                status: 401
                instance: /media/analyze
                detail: Missing API key
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/not-found
                title: Not Found
                status: 404
                instance: /media/analyze
                detail: NotFound
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/internal-error
                title: An internal service error has occurred
                status: 500
                instance: /media/analyze
                detail: InternalError
  /media/analyze:
    post:
      tags:
        - Moved to Media Workspace > /media/analyze
      summary: Start Analyzing
      description: |+
        **POST /media/analyze**

        Start analyzing to learn about your media.  

        The `input` location of your media file is required.  

        This is an asynchronous operation so you will receive a 
        `job_id` to use in calling 
        [GET /media/analyze](#operation/GetAnalyzeResults)
        to retrieve the job status and results.

        There are additional optional parameters that can be provided to
        identify the type of content and additional loudness or validation
        requirements. See the samples for examples of what requests and
        responses look like.

      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n    \"input\": \"<string>\",\n    \"output\":
                \"<string>\",\n    \"loudness\": {\n        \"profile\":
                \"<string>\"\n    },\n    \"content\": {\n        \"type\":
                \"<string>\",\n        \"tags\": [\n           
                \"<string>\",\n            \"<string>\"\n        ],\n       
                \"silence\": {\n            \"threshold\":
                \"<number>\",\n            \"duration\": \"<number>\"\n       
                }\n    },\n    \"validation\": {\n        \"loudness\":
                {\n            \"loudness_max\": \"<number>\",\n           
                \"loudness_min\": \"<number>\",\n            \"true_peak_max\":
                \"<number>\"\n        }\n    }\n}"
      security:
        - apikeyAuth: []
      parameters:
        - name: x-api-version
          in: header
          schema:
            type: string
          description: Request headers.
          example: <string>
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                job_id: a1b2cd34-e5f6-gh78-90ij-k1l23mn4o5p6
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problem/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/analyze
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/api-key-error
                title: Authentication Failure
                status: 401
                instance: /media/analyze
                detail: Missing API key
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/not-found
                title: Not Found
                status: 404
                instance: /media/analyze
                detail: NotFound
        '405':
          description: Method Not Allowed
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/method-not-allowed
                title: Method Not Allowed
                status: 405
                instance: /media/analyze
                detail: Method Not Allowed
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/internal-error
                title: An internal service error has occurred
                status: 500
                instance: /media/analyze
                detail: InternalError
    get:
      tags:
        - Moved to Media Workspace > /media/analyze
      summary: Get Analyze Results
      description: |
        For a given job_id, this method will check if the processing task has
        completed and return analysis results.

        The response includes:
        * loudness values for the specified profile or specification
        * sample peak
        * true peak
        * audio quality
        * audio content metrics
        * results of validation checks
      security:
        - apikeyAuth: []
      parameters:
        - name: job_id
          in: query
          schema:
            type: string
          description: |
            (Required) Use the `job_id` returned from a previous POST response
            to check on the status of an asynchronous request.
          example: <string>
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                status: Success
                path: /media/analyze
                progress: 100
                api_version: v1.0
                result:
                  audio:
                    loudness:
                      measured: -23.2
                      range: 6.8
                      sample_peak: -0.95
                      true_peak: -0.95
                      gating_mode: speech
                    clipping:
                      num_sections: 5
                      first_event: 2.3
                    noise:
                      level_average: -75.3
                      snr_average: -75.3
                    bandwidth: 15200
                    silence:
                      percentage: 40
                      num_sections: 4
                    music:
                      percentage: 40
                      num_sections: 4
                    speech:
                      percentage: 40
                      num_sections: 4
                    other:
                      percentage: 40
                      num_sections: 4
                    validation:
                      loudness:
                        pass: false
                        detail: >-
                          The measured true-peak exceeded specified maximum
                          value.
                  media_info:
                    container:
                      kind: wav
                      duration: 30
                      bitrate: 1536000
                      size: 5760000
                    video:
                      codec: prores
                      frame_rate: -13831342.405647889
                      height: 81455729
                      width: 80352426
                      duration: -43497286.40445978
                      bitrate: 44017883
                    audio:
                      codec: pcm
                      sample_rate: 48000
                      channels: 2
                      bit_depth: 16
                      channel_order: L,R
                      duration: 30
                      bitrate: 1536000
                  version: vX.Y
                error:
                  type: /problems/input-file-access
                  title: Input file access problem.
                  detail: >-
                    Failed to access file, see Troubleshooting guide for more
                    examples.
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problem/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/analyze
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/api-key-error
                title: Authentication Failure
                status: 401
                instance: /media/analyze
                detail: Missing API key
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/not-found
                title: Not Found
                status: 404
                instance: /media/analyze
                detail: NotFound
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/internal-error
                title: An internal service error has occurred
                status: 500
                instance: /media/analyze
                detail: InternalError
  /media/output:
    get:
      tags:
        - Moved to Media Workspace
      summary: Start Media Download
      description: |
        **GET /media/output**

        You can download media you previously uploaded with /media/input 
        or media that was generated through another Dolby Media API.

        The temporary storage should allow you to read and write to the dlb://
        locations for a period of at least 24 hours before it is removed.
      security:
        - apikeyAuth: []
      parameters:
        - name: url
          in: query
          schema:
            type: string
          description: >
            (Required) The `url` should be in the form **dlb://object-key**
            where

            the object-key can be any alpha-numeric string.  The 

            object-key is unique to your account API Key so there is no risk

            of collision with other users.
      responses:
        '302':
          description: Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/octet-stream
          content:
            text/plain:
              schema:
                type: string
              example: do anim adipisicing Duis id
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/output
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/output
                detail: job_id is required
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/output
                detail: job_id is required
        '405':
          description: Method Not Allowed
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/output
                detail: job_id is required
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problems/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/output
                detail: job_id is required
  /media/input:
    post:
      tags:
        - Moved to Media Workspace
      summary: Start Media Input
      description: >
        **POST /media/input**


        To use the Dolby provided temporary storage is a two step process.


        You start by declaring a `dlb://` url that you can reference in any

        other Media API calls.  The response will provide a url where you can

        put your media.  This allows you to use the `dlb://` url as a short-cut

        for a temporary storage location.


        You'll be returned a pre-signed url you can use to `PUT` and upload your

        media file. The temporary storage should allow you to read and write to
        the dlb://

        locations for a period of at least 24 hours before it is removed.
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: '"{\n    \"url\": \"<string>\"\n}"'
      security:
        - apikeyAuth: []
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                url: https://bucket.s3.zone.amazonaws.com/89056194-5ca3-4c87
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/input
                detail: job_id is required
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/input
                detail: job_id is required
        '404':
          description: Not Found
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/input
                detail: job_id is required
        '405':
          description: Method Not Allowed
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/input
                detail: job_id is required
        '500':
          description: Internal Server Error
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                type: /problmes/validation-error
                title: Your request parameters didn't validate
                status: 400
                instance: /media/input
                detail: job_id is required
