openapi: 3.0.2
info:
  version: v1.10
  title: Wowza Video REST API Reference Documentation
  license:
    name: Terms of Use
    url: https://www.wowza.com/legal/terms-of-use
  description: >
    API lifecycle phase:
    [Deprecated](https://www.wowza.com/docs/wowza-video-rest-api-lifecycle-management#api-lifecycle0)



    <table>

    <tr style="background-color:lightgrey;"><td>

    <strong>Want to take the API for a test run?</strong>


    All you'll need is a [Wowza Video
    subscription](https://www.wowza.com/pricing), or [free
    trial](https://www.wowza.com/free-trial), for the API access token. Then,
    fork [our collection in
    Postman](https://www.postman.com/wowzavideo/workspace/wowza-video-rest-api)
    and you'll be

    making calls to our REST API in minutes!


    See [Trial the Wowza Video REST API using
    Postman](https://www.wowza.com/docs/trial-the-wowza-video-rest-api-using-postman)
    for more information.

    </td>

    </tr>

    </table>


    This reference documentation provides details about the operations,
    parameters, and request and reponse schemas for every resource and endpoint
    in the Wowza Video REST API.

    Samples appear in the right column. Sample requests are presented in cURL
    (Shell) and JavaScript; some samples also include just the JSON object.
    Response samples are all JSON. 

    Examples in cURL use environment variables so you can easily copy and paste
    them. To learn more, see [Using
    cURL](https://wowza.com/docs/how-to-use-the-wowza-video-rest-api#curl).



    Reference documentation is available for every version of the API. Use the
    **Version** menu at the top of the page to access the reference doc for a
    different version of the API.
servers:
  - url: https://api.video.wowza.com/api/v1.10
tags:
  - name: live_streams
    description: >-
      Operations related to live streams. A live stream is a single, linear
      video broadcast. You broadcast a live stream by receiving encoded source
      video into the Wowza Video service and letting Wowza Video transcode the
      stream and deliver it to viewers. A live stream is essentially a one-stop
      method for creating a transcoder, output renditions, stream targets, and
      associated players.
    x-displayName: Live Streams
  - name: players
    description: >-
      Operations related to players, which are created through the
      ``/live_streams`` resource. Players created through Wowza Video live
      streams can be embedded into your own web page or played through a web
      page hosted by Wowza Video.
    x-displayName: Players
  - name: assets
    description: >-
      Operations related to assets, which are created through the ``/assets``
      resources. The Wowza Video service can store and transcode mp4 files that
      you can tag, manage, and restream.
    x-displayName: Assets
  - name: recordings
    description: >-
      Operations related to recordings, which are created through the
      ``/live_streams`` or ``/transcoders`` resources. The Wowza Video service
      can create MP4 recordings of your live streams and transcoded output.
      Recordings can be downloaded and saved locally. They're based on the
      highest-bitrate output rendition that Wowza Video generates from your
      video source. See [About
      recordings](https://www.wowza.com/docs/record-live-streams-and-transcoders#aboutREC)
      to learn more.
    x-displayName: Recordings
  - name: schedules
    description: >-
      Operations related to schedules. Schedules allow you to automatically
      start or stop a live stream or transcoder at a predetermined date and
      time. You can configure a schedule to start and/or stop a live stream or
      transcoder just once, or you can configure it to repeat the behavior on a
      regular basis. See [About
      schedules](https://www.wowza.com/docs/schedule-live-streams-and-transcoders#aboutSCH)
      to learn more.
    x-displayName: Schedules
  - name: stream_sources
    description: >-
      Operations related to stream sources. You can create a Wowza stream source
      and associate it to a live stream or transcoder.
       ### Wowza Stream Sources
       When you set up a Wowza stream source with a live stream or transcoder, Wowza Video can automatically detect broadcast location, automatically start a stream when the video source starts, and automatically stop a stream after the video source disconnects.
    x-displayName: Stream Sources
  - name: stream_targets
    description: >-
      Operations related to stream targets. A stream target is a destination for
      a stream. Stream targets can be Wowza Video edge resources; custom,
      external destinations target destinations.
       ### Wowza CDN on Fastly Stream Targets
       Wowza CDN on Fastly stream targets leverage the Fastly CDN to distribute streams to players. A separate Fastly subscription isn't required because the Fastly CDN is integrated directly into Wowza Video. When you create a live stream in the API, a Wowza CDN on Fastly stream target is created automatically. In contrast, you can use ``/stream_targets/fastly`` endpoints to manually create Wowza CDN on Fastly stream targets and associate them with transcoders.
       With Wowza CDN on Fastly stream targets, you can use geo-blocking to control locations where your stream can be viewed, and you can use token authentication to restrict access to streams. Advanced configuration properties are available for Wowza CDN on Fastly stream targets.
       ### Custom Stream Targets
       Custom stream targets connect to external CDNs to deliver streams to viewers. You manually create custom stream targets and associate them to a transcoder. You can configure advanced properties for custom stream targets that deliver HLS streams through the **akamai_cupertino** provider.
       ### Wowza CDN on Akamai Stream targets
       You can no longer create Wowza CDN on Akamai stream targets. While you can view details of an Akamai stream and delete it, that functionality will also soon be disabled.
    x-displayName: Stream Targets
  - name: transcoders
    description: >-
      Operations related to transcoders, output renditions, and output stream
      targets.
       ### Transcoders
       Wowza Video transcoders allow you to customize transcoding processes by creating transcoders that are optimized for various network or streaming conditions. When you create a transcoder through the ``/transcoders`` endpoint, you must manually configure output renditions and associated output stream targets.

       Transcoders, like live streams, can be adaptive bitrate or passthrough. An adaptive bitrate transcoder generates multiple output renditions of your live stream, at different bitrates. A passthrough transcoder, in contrast, sends the source video to a stream target without performing transcoding. Passthrough transcoders, which can only be created if you have a subscription plan that supports them, accrue processing time, bandwidth, and egress usage, but much less than their adaptive bitrate counterparts.
       ### Output Renditions
       Before you can start an adaptive bitrate transcoder, you must use the ``/transcoders/{transcoder_id}/outputs`` operations to define the adaptive bitrate output renditions that you want the transcoder to create. Passthrough transcoders require only one output rendition because they send source video to a stream target without transcoding.
       ### Output Stream Targets
       Transcoders require output stream targets before you can start them. Although you create and configure stream targets using the different ``/stream_targets`` operations, you must associate a stream target to a transcoder's output rendition using the /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets operations. For an adaptive bitrate transcoder with multiple output renditions defined, you must create output stream targets to associate a stream target to each output rendition. For a passthrough transcoder, you only need one output stream target.
    x-displayName: Transcoders
  - name: vod_streams
    description: >-
      Operations related to video on demand (VOD) streams, which are created
      through the ``/live_streams`` or ``/transcoders`` resources. A VOD stream
      is a recording of a live stream that viewers can replay at a later date.
      After the broadcast is over and the live stream or transcoder is stopped,
      Wowza Video creates the VOD stream and generates a playback URL. See
      [About VOD
      Streams](https://www.wowza.com/docs/create-a-vod-stream#about-vod-streams)
      to learn more.
    x-displayName: VOD Streams
  - name: real_time
    description: >-
      Operations related to Real-Time Streaming at Scale. If your audience is
      fewer than 300 viewers or you want to deliver a stream in near real time
      alongside other delivery protocols, <a
      href="https://www.wowza.com/docs/deliver-webrtc-streams-to-viewers-using-the-wowza-video-rest-api">use
      our WebRTC solution</a>.


      <blockquote>To enable and purchase capacity for Real-Time Streaming at
      Scale for your account and access the <tt>/real_time</tt> operations,
      contact 720.279.8163 or <a
      href="https://www.wowza.com/professional-services#get-a-quote">schedule a
      call</a>.</blockquote>
    x-displayName: Real-Time Streams
  - name: usage
    description: >-
      Operations related to stream target analytics, including CDN usage and
      viewer data.
    x-displayName: Stream Targets
  - name: usage_transcoders
    description: Operations related to transcoder analytics.
    x-displayName: Transcoders
  - name: storage
    description: >-
      Operations related to peak storage for an account. You can use this
      operation to show the amount of peak recording and VOD stream storage used
      by your account.
    x-displayName: Storage
  - name: usage_vod_streams
    description: Operations related to video on demand (VOD) stream analytics.
    x-displayName: VOD Streams
  - name: usage_real_time_streams
    description: Operations related to real-time streams analytics.
    x-displayName: Real Time Streams
  - name: usage_account
    description: Operations related to stream analytics for an account.
    x-displayName: Account
paths:
  /live_streams:
    post:
      summary: Create a live stream
      description: This operation creates a live stream.
      operationId: createLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/live_streams" \
              -d $'{
              "live_stream": {
                "name": "My New Live Stream",
                "transcoder_type": "transcoded",
                "billing_mode": "pay_as_you_go",
                "broadcast_location": "us_west_california",
                "encoder": "other_rtmp",
                "delivery_method": "push",
                "aspect_ratio_width": 1920,
                "aspect_ratio_height": 1080
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "live_stream": {
                "name": "My New Live Stream",
                "transcoder_type": "transcoded",
                "billing_mode": "pay_as_you_go",
                "broadcast_location": "us_west_california",
                "encoder": "other_rtmp",
                "delivery_method": "push",
                "aspect_ratio_width": 1920,
                "aspect_ratio_height": 1080
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/live_stream_create_input'
        description: >-
          Provide the details of the live stream to create in the body of the
          request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all live streams
      description: >-
        This operation shows limited details for all of your live streams. For
        detailed information, fetch a single live stream.
      operationId: listLiveStreams
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/live_streams"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/live_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /live_streams/{id}:
    get:
      summary: Fetch a live stream
      description: This operation shows the details of a specific live stream.
      operationId: showLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a live stream
      description: This operation updates a live stream.
      operationId: updateLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17" \
              -d $'{
              "live_stream": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "live_stream": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/live_stream_update_input'
        description: >-
          Provide the details of the live stream to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a live stream
      description: >-
        This operation deletes a live stream, including all assigned outputs and
        targets. <br><br><b>Note</b>: You can't remove live streams that have an
        asset_id. Assets must be removed by sending a DEL request to the /assets
        endpoint. 
      operationId: deleteLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/start:
    put:
      summary: Start a live stream
      description: This operation starts a live stream.
      operationId: startLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/start"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/start';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: starting
                        enum:
                          - started
                          - stopped
                          - starting
                          - stopping
                          - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/stop:
    put:
      summary: Stop a live stream
      description: This operation stops a live stream.
      operationId: stopLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/stop"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/stop';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: stopped
                        enum:
                          - started
                          - stopped
                          - starting
                          - stopping
                          - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/reset:
    put:
      summary: Reset a live stream
      description: This operation resets a live stream.
      operationId: resetLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/reset"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/reset';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: resetting
                        enum:
                          - started
                          - stopped
                          - starting
                          - stopping
                          - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/regenerate_connection_code:
    put:
      summary: Regenerate the connection code for a live stream
      description: This operation regenerates the connection code of a live stream.
      operationId: regenerateConnectionCodeLiveStream
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/regenerate_connection_code"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/live_streams/2adffc17/regenerate_connection_code';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      connection_code:
                        type: string
                        description: >-
                          A six-character, alphanumeric string that allows
                          certain encoders, including Wowza Streaming Engine and
                          the Wowza GoCoder app, to connect with Wowza Video.
                          The code can be used once and expires 24 hours after
                          it's created.
                        example: 0cd2e8
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/thumbnail_url:
    get:
      summary: Fetch the thumbnail URL of a live stream
      description: This operation shows the thumbnail URL of a started live stream.
      operationId: showLiveStreamThumbnailUrl
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/thumbnail_url"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/thumbnail_url';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      thumbnail_url:
                        type: string
                        description: The URL to receive the preview thumbnail.
                        example: >-
                          https://cloud.wowza.com/proxy/stats/?target=10.11.12.13&app=app-B8P6K226&stream=99b62146@130135.stream&media=json
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /live_streams/{id}/state:
    get:
      summary: Fetch the state of a live stream
      description: This operation shows the current state of a live stream.
      operationId: showLiveStreamState
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/state"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/state';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      ip_address:
                        type: string
                        description: >-
                          The IP address of the live stream instance. If the
                          live stream *state* is anything other than
                          **started**, the *ip_address* is **0.0.0.0**.
                        example: 0.0.0.0
                      state:
                        type: string
                        description: The state of the live stream.
                        example: stopped
                        enum:
                          - started
                          - stopped
                          - starting
                          - stopping
                          - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /live_streams/{id}/stats:
    get:
      summary: Fetch metrics for an active live stream
      description: >-
        This operation returns a hash of metrics keys, each of which identifies
        a status, text description, unit, and value.
      operationId: showLiveStreamStats
      tags:
        - live_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/live_streams/2adffc17/stats"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/live_streams/2adffc17/stats';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the live stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/shm_metrics'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /players:
    get:
      summary: Fetch all players
      description: >-
        This operation shows limited details for all of your players. For
        detailed information, fetch a single player.
      operationId: listPlayers
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/players"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/players'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /players/{id}:
    get:
      summary: Fetch a player
      description: This operation shows details of a specific player.
      operationId: showPlayer
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/players/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - player
                properties:
                  player:
                    $ref: '#/components/schemas/player'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a player
      description: This operation updates a player.
      operationId: updatePlayer
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/players/2adffc17" \
              -d $'{
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/player_update_input'
        description: >-
          Provide the details of the player to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - player
                properties:
                  player:
                    $ref: '#/components/schemas/player'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /players/{id}/rebuild:
    post:
      summary: Rebuild player code
      description: This operation rebuilds the player with the current configuration.
      operationId: requestPlayerRebuild
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/players/2adffc17/rebuild"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/rebuild';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - player
                properties:
                  player:
                    type: object
                    title: player
                    properties:
                      state:
                        type: string
                        description: The state of the player.
                        example: requested
                        enum:
                          - requested
                          - already_requested
                          - activated
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /players/{id}/state:
    get:
      summary: Fetch the state of a player
      description: This operation shows the current state of a player.
      operationId: showPlayerState
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/players/2adffc17/state"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/state';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - player
                properties:
                  player:
                    type: object
                    title: player
                    properties:
                      state:
                        type: string
                        description: The state of the player.
                        example: activated
                        enum:
                          - requested
                          - activated
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /players/{player_id}/urls:
    post:
      summary: Create a player URL
      description: This operation creates a new player URL.
      operationId: createPlayerUrl
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/players/2adffc17/urls" \
              -d $'{
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/urls';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: player_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/url_create_input'
        description: >-
          Provide the details of the player URL to create in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                properties:
                  url:
                    $ref: '#/components/schemas/url'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all player URLs
      description: This operation shows the details of all player URLs.
      operationId: listPlayerUrls
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/players/2adffc17/urls"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/urls';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: player_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/urls'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /players/{player_id}/urls/{id}:
    get:
      summary: Fetch a player URL
      description: This operation shows the details of a player URL.
      operationId: showPlayerUrl
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/players/2adffc17/urls/1acfg43d"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/urls/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: player_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player URL.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                properties:
                  url:
                    $ref: '#/components/schemas/url'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a player URL
      description: This operation updates a player URL.
      operationId: updatePlayerUrl
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/players/2adffc17/urls/1acfg43d" \
              -d $'{
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/urls/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "player": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: player_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player URL.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/url_update_input'
        description: >-
          Provide the details of the player URL to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                properties:
                  url:
                    $ref: '#/components/schemas/url'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a player URL
      description: 'This operation deletes a player URL. '
      operationId: deletePlayerUrl
      tags:
        - players
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/players/2adffc17/urls/1acfg43d"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/players/2adffc17/urls/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: player_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the player URL.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /assets:
    post:
      summary: Create an asset
      description: >-
        This operation creates an asset. You can only upload MP4 format and
        H.264 and AAC encoded files. Any files with unsupported codecs are
        rejected.
      operationId: createAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/assets" \
              -d $'{
              "asset": {
                "name": "My New Asset"
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "asset": {
                "name": "My New Asset"
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_create_input'
        description: Provide the details of the asset to create in the body of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_create_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all assets
      description: >-
        This operation shows limited details for all of your assets. For
        detailed information, fetch a single asset.
      operationId: listAssets
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/assets"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: filter
          in: query
          required: false
          description: >-
            Restricts the data that gets returned by filtering on one or more
            values associated with a field. For more information and examples,
            see the technical article [How to get filtered query results with
            the Wowza Video REST
            API](https://www.wowza.com/docs/how-to-get-filtered-query-results-with-the-wowza-video-rest-api).


            Example:

            **filter[0][field]=created_at&filter[0][gte]=2021-07-14T17:47:45.000Z**
          schema:
            type: string
        - name: query
          in: query
          required: false
          description: >-
            Restricts the data that gets returned by querying on one or more
            values associated with a set of fields. For more information and
            examples, see the technical article [How to get filtered query
            results with the Wowza Video REST
            API](https://www.wowza.com/docs/how-to-get-filtered-query-results-with-the-wowza-video-rest-api).


            Example:

            **sort_direction=desc&sort_column=created_at&per_page=30&state=completed&query=sample**
          schema:
            type: string
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assets'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /assets/{id}:
    get:
      summary: Fetch an asset
      description: >-
        This operation shows the details of a specific asset.


        The fields returned vary depending on when you send this request. For
        example, if a resource hasn't been created yet during the processing
        state, you won't see **available_renditions** in the response.


        **Tip**: If your original upload URL expired and you need a new one for
        an asset, send this request and the response will contain a new upload
        URL.
      operationId: showAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/assets/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update an asset
      description: >-
        This operation updates an asset. Assets must be uploaded and complete
        processing before they can be updated.


        The fields returned vary depending on when you send this request. For
        example, if a stream doesn't have unique viewer data, you won't see
        **unique_viewers** in the response.
      operationId: updateAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/assets/2adffc17" \
              -d $'{
              "asset": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "asset": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_update_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_update_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
    delete:
      summary: Delete an asset
      description: >-
        This operation deletes an asset, including all assigned outputs and
        targets.
      operationId: deleteAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/assets/2adffc17"
        - lang: JavaScript
          source: |-
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
  /assets/{id}/live_streams:
    post:
      summary: Restream an asset
      description: >-
        This operation returns a live stream ID you can use to re-stream an
        uploaded asset.
      operationId: restreamAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \

              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/assets/2adffc17/live_streams"
        - lang: JavaScript
          source: |-
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17/live_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/asset_restream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
  /asset_tags:
    get:
      summary: Fetch all asset tags
      description: >-
        This operation retrieves a list of all of the tags that have been used
        previously by an organization.
      operationId: asset_tags
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/asset_tags"
        - lang: JavaScript
          source: |-
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/asset_tags';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asset_tags'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /assets/{id}/upload_completed:
    patch:
      summary: Report asset as uploaded
      description: >-
        This operation reports that an asset was successfully uploaded to
        storage.
      operationId: reportUploadedAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \

              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/assets/2adffc17/upload_completed" \
              -d $'{
              "asset": {
                "file_size": "1570024",
                "duration": "9241"
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17/upload_completed';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "asset": {
                "file_size": 1570024,
                "duration": 9241
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_report_uploaded_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_report_uploaded_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /assets/{id}/upload_failed:
    patch:
      summary: Report asset upload as failed
      description: >-
        This operation reports that an asset uploaded to storage failed. You can
        only upload MP4 format and H.264 and AAC encoded files. Any files with
        unsupported codecs are rejected.
      operationId: reportUploadFailedAsset
      tags:
        - assets
      x-code-samples:
        - lang: Shell
          source: |-
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/assets/2adffc17/upload_failed"
        - lang: JavaScript
          source: |-
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/assets/2adffc17/upload_failed';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the asset.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_report_upload_failed_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_report_upload_failed_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /recordings:
    get:
      summary: Fetch all recordings
      description: >-
        This operation shows limited details for all of your recordings. For
        detailed information, fetch a single recording.
      operationId: listRecordings
      tags:
        - recordings
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/recordings"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/recordings';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/recordings'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /recordings/{id}:
    get:
      summary: Fetch a recording
      description: This operation shows the details of a specific recording.
      operationId: showRecording
      tags:
        - recordings
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/recordings/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/recordings/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the recording.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - recording
                properties:
                  recording:
                    $ref: '#/components/schemas/recording'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    delete:
      summary: Delete a recording
      description: >-
        This operation deletes a recording. <br><br><b>Note</b>: You can't
        remove recordings that have an asset_id. Assets must be removed by
        sending a DEL request to the /assets endpoint. 
      operationId: deleteRecording
      tags:
        - recordings
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/recordings/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/recordings/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the recording.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /recordings/{id}/state:
    get:
      summary: Fetch the state of a recording
      description: This operation shows the current state of a recording.
      operationId: showRecordingState
      tags:
        - recordings
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/recordings/2adffc17/state"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/recordings/2adffc17/state';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the recording.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - recording
                properties:
                  recording:
                    type: object
                    title: recording
                    properties:
                      state:
                        type: string
                        description: The state of the recording.
                        example: completed
                        enum:
                          - uploading
                          - converting
                          - removing
                          - completed
                          - failed
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /schedules:
    post:
      summary: Create a schedule
      description: This operation creates a schedule.
      operationId: createSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/schedules" \
              -d $'{
              "schedule": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "schedule": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/schedule_create_input'
        description: >-
          Provide the details of the schedule to create in the body of the
          request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    $ref: '#/components/schemas/schedule'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all schedules
      description: This operation shows the details of all of your schedules.
      operationId: listSchedules
      tags:
        - schedules
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/schedules"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schedules'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /schedules/{id}:
    get:
      summary: Fetch a schedule
      description: This operation shows the details of a specific schedule.
      operationId: showSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    $ref: '#/components/schemas/schedule'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a schedule
      description: This operation updates a schedule.
      operationId: updateSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17" \
              -d $'{
              "schedule": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "schedule": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/schedule_update_input'
        description: >-
          Provide the details of the schedule to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    $ref: '#/components/schemas/schedule'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a schedule
      description: This operation deletes a schedule.
      operationId: deleteSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /schedules/{id}/enable:
    put:
      summary: Enable a schedule
      description: This operation enables a schedule.
      operationId: enableSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17/enable"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17/enable';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    type: object
                    title: schedule
                    properties:
                      state:
                        type: string
                        description: >-
                          A schedule must be **enabled** to run. Specify
                          **enabled** to run the schedule or **disabled** to
                          turn off the schedule so that it doesn't run.
                        example: enabled
                        enum:
                          - enabled
                          - disabled
                          - expired
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /schedules/{id}/disable:
    put:
      summary: Disable a schedule
      description: This operation disables a schedule.
      operationId: disableSchedule
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17/disable"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17/disable';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    type: object
                    title: schedule
                    properties:
                      state:
                        type: string
                        description: >-
                          A schedule must be **enabled** to run. Specify
                          **enabled** to run the schedule or **disabled** to
                          turn off the schedule so that it doesn't run.
                        example: disabled
                        enum:
                          - enabled
                          - disabled
                          - expired
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /schedules/{id}/state:
    get:
      summary: Fetch the state of a schedule
      description: This operation shows the current state of a schedule.
      operationId: showScheduleState
      tags:
        - schedules
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/schedules/2adffc17/state"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/schedules/2adffc17/state';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the schedule.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedule
                properties:
                  schedule:
                    type: object
                    title: schedule
                    properties:
                      state:
                        type: string
                        description: >-
                          A schedule must be **enabled** to run. Specify
                          **enabled** to run the schedule or **disabled** to
                          turn off the schedule so that it doesn't run.
                        example: enabled
                        enum:
                          - enabled
                          - disabled
                          - expired
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /stream_sources:
    get:
      summary: Fetch all stream sources
      description: >-
        This operation shows limited details for all of your stream sources. For
        detailed information, fetch a single stream source of the appropriate
        type.
      operationId: listStreamSources
      tags:
        - stream_sources
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_sources"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_sources'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /stream_sources/wowza:
    post:
      summary: Create a Wowza stream source
      description: >-
        (Available from version 1.4) This operation creates a Wowza stream
        source.  A Wowza stream source enables automatic transcoder start, stop,
        and broadcast location detection.
      operationId: createWowzaStreamSource
      tags:
        - stream_sources
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/stream_sources/wowza" \
              -d $'{
              "stream_source_wowza": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources/wowza';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_source_wowza": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/wowza_stream_source_create_input'
        description: >-
          Provide the details of the stream source to add in the body of the
          request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_source_wowza
                properties:
                  stream_source_wowza:
                    $ref: '#/components/schemas/stream_source_wowza'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all Wowza stream sources
      description: >-
        (Available from version 1.4) This operation shows limited details for
        all of your Wowza stream sources. A Wowza stream source enables
        automatic transcoder start, stop, and broadcast location detection. For
        detailed information, fetch a single Wowza stream source.
      operationId: listWowzaStreamSources
      tags:
        - stream_sources
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_sources/wowza"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources/wowza';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_sources_wowza'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /stream_sources/wowza/{id}:
    get:
      summary: Fetch a Wowza stream source
      description: >-
        (Available from version 1.4) This operation shows details of a specific
        Wowza stream source. A Wowza stream source enables automatic transcoder
        start, stop, and broadcast location detection.
      operationId: showWowzaStreamSource
      tags:
        - stream_sources
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_sources/wowza/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources/wowza/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_source_wowza
                properties:
                  stream_source_wowza:
                    $ref: '#/components/schemas/stream_source_wowza'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a Wowza stream source
      description: >-
        (Available from version 1.4) This operation updates a Wowza stream
        source. A Wowza stream source enables automatic transcoder start, stop,
        and broadcast location detection. 
      operationId: updateWowzaStreamSource
      tags:
        - stream_sources
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/stream_sources/wowza/2adffc17" \
              -d $'{
              "stream_source_wowza": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources/wowza/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_source_wowza": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/wowza_stream_source_update_input'
        description: >-
          Provide the details of the stream source to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_source_wowza
                properties:
                  stream_source_wowza:
                    $ref: '#/components/schemas/wowza_stream_source_patch_response'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a Wowza stream source
      description: >-
        (Available from version 1.4) This operation deletes a Wowza stream
        source.
      operationId: deleteWowzaStreamSource
      tags:
        - stream_sources
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/stream_sources/wowza/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_sources/wowza/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets:
    get:
      summary: Fetch all stream targets
      description: >-
        This operation lists limited details for custom stream targets and Wowza
        CDN on Fastly stream targets. For detailed information, fetch a single
        stream target of a specific type.
      operationId: listStreamTargets
      tags:
        - stream_targets
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_targets'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /stream_targets/custom:
    post:
      summary: Create a custom stream target
      description: >-
        This operation creates a custom stream target for an external,
        third-party destination.
      operationId: createCustomStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/stream_targets/custom" \
              -d $'{
              "stream_target_custom": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/custom';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_target_custom": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/custom_stream_target_create_input'
        description: >-
          Provide the details of the custom stream target to create in the body
          of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  stream_target_custom:
                    $ref: '#/components/schemas/stream_target_custom'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all custom stream targets
      description: >-
        This operation lists limited details for all of your custom stream
        targets. For detailed information, fetch a single custom stream target.
      operationId: listCustomStreamTargets
      tags:
        - stream_targets
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/custom"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/custom';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_targets_custom'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /stream_targets/custom/{id}:
    get:
      summary: Fetch a custom stream target
      description: This operation shows the details of a specific custom stream target.
      operationId: showCustomStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/custom/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/custom/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  stream_target_custom:
                    $ref: '#/components/schemas/stream_target_custom'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a custom stream target
      description: This operation updates a custom stream target.
      operationId: updateCustomStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/stream_targets/custom/2adffc17" \
              -d $'{
              "stream_target_custom": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/custom/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_target_custom": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/custom_stream_target_update_input'
        description: >-
          Provide the details of the custom stream target to update in the body
          of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  stream_target_custom:
                    $ref: '#/components/schemas/custom_stream_target_patch_response'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a custom stream target
      description: >-
        This operation deletes a custom stream target. <br><br><b>Note</b>: You
        can't remove stream targets that have an asset_id. Assets must be
        removed by sending a DEL request to the /assets endpoint. 
      operationId: deleteCustomStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/stream_targets/custom/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/custom/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets/fastly:
    post:
      summary: Create a Wowza CDN on Fastly stream target
      description: >-
        (Available from version 1.4) This operation creates a Wowza CDN on
        Fastly stream target to deliver your stream using the Wowza CDN on
        Fastly.
      operationId: createFastlyStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly" \
              -d $'{
              "stream_target_fastly": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_target_fastly": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fastly_stream_target_create_input'
        description: >-
          Provide the details of the Wowza CDN on Fastly stream target to create
          in the body of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target_fastly
                properties:
                  stream_target_fastly:
                    $ref: '#/components/schemas/stream_target_fastly'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all Wowza CDN on Fastly stream targets
      description: >-
        (Available from version 1.4) This operation lists limited details for
        all of your Wowza CDN on Fastly stream targets. For detailed
        information, fetch a single target.
      operationId: listFastlyStreamTargets
      tags:
        - stream_targets
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_targets_fastly'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /stream_targets/fastly/{id}:
    get:
      summary: Fetch a Wowza CDN on Fastly stream target
      description: >-
        (Available from version 1.4) This operation shows the details of a
        specific Wowza CDN on Fastly stream target.
      operationId: showFastlyStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target_fastly
                properties:
                  stream_target_fastly:
                    $ref: '#/components/schemas/stream_target_fastly'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a Wowza CDN on Fastly stream target
      description: >-
        (Available from version 1.4) This operation updates a Wowza CDN on
        Fastly stream target.
      operationId: updateFastlyStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17" \
              -d $'{
              "stream_target_fastly": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "stream_target_fastly": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fastly_stream_target_update_input'
        description: >-
          Provide the details of the Wowza CDN on Fastly stream target to update
          in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target_fastly
                properties:
                  stream_target_fastly:
                    $ref: '#/components/schemas/fastly_stream_target_patch_response'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a Wowza CDN on Fastly stream target
      description: >-
        (Available from version 1.4) This operation deletes a Wowza CDN on
        Fastly stream target.  <br><br><b>Note</b>: You can't remove stream
        targets that have an asset_id. Assets must be removed by sending a DEL
        request to the /assets endpoint. 
      operationId: deleteFastlyStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets/fastly/{id}/vod_streams:
    get:
      summary: Fetch all VOD streams for a Fastly stream target
      description: >-
        (Available from version 1.5) This operation shows the details of all VOD
        streams associated to a specific Fastly stream target.
      operationId: listFastlyStreamTargetVODStreams
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17/vod_streams"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/fastly/2adffc17/vod_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vod_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets/{id}/regenerate_connection_code:
    put:
      summary: Regenerate the connection code for any stream target
      description: >-
        This operation regenerates the connection code of any kind of stream
        target.
      operationId: regenerateConnectionCodeStreamTarget
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/stream_targets/2adffc17/regenerate_connection_code"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/stream_targets/2adffc17/regenerate_connection_code';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target
                properties:
                  stream_target:
                    type: object
                    title: stream_target
                    properties:
                      connection_code:
                        type: string
                        description: >-
                          A six-character, alphanumeric string that allows
                          select encoders, such as Wowza Streaming Engine or the
                          Wowza GoCoder app, to send an encoded stream to a
                          stream target in Wowza Video. The code can be used
                          once and expires 24 hours after it's created.
                        example: 0cd2e8
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets/{stream_target_id}/properties:
    post:
      summary: Configure a property for a stream target
      description: >-
        This operation configures a property for a stream target. The properties
        available will depend on the *provider* you are using and are noted in
        the key descriptions below. For example, if you are using the provider
        **Wowza CDN on Fastly**, look for that in the descriptions.


        For a comprehensive resource describing the use of advanced properties,
        see [Set advanced properties with the Wowza Video REST
        API](https://www.wowza.com/docs/how-to-set-advanced-properties-by-using-the-wowza-video-rest-api).
      operationId: createStreamTargetProperty
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties" \
              -d $'{
              "property": {
                "key": "chunkSize",
                "section": "hls",
                "value": 6
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/2adffc17/properties';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "property": {
                "key": "chunkSize",
                "section": "hls",
                "value": 6
              }
            }));
            req.end();
      parameters:
        - name: stream_target_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/stream_target_property_create_input'
                - $ref: '#/components/schemas/stream_target_properties_create_input'
        description: >-
          Provide the details of the property or properties to configure in the
          body of the request. You must include either *property* or
          *properties* in the request as the root object.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: >-
                      #/components/schemas/stream_target_property_create_input_repsonse
                  - $ref: >-
                      #/components/schemas/stream_target_properties_create_input_response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all properties of a stream target
      description: >-
        This operation shows the details of all of the properties assigned to a
        specific stream target. The properties returned will depend on the
        *provider* you are using and are noted in the key descriptions below.


          For a comprehensive resource describing the use of advanced properties, see [Set advanced properties with the Wowza Video
          REST API](https://www.wowza.com/docs/how-to-set-advanced-properties-by-using-the-wowza-video-rest-api).
      operationId: listStreamTargetProperties
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/stream_targets/2adffc17/properties';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: stream_target_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_target_properties'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /stream_targets/{stream_target_id}/properties/{id}:
    get:
      summary: Fetch a property of a stream target
      description: >-
        This operation shows the details of a specific property assigned to a
        specific stream target. The properties returned will depend on the
        *provider* you are using and are noted in the key descriptions below. 


          For a comprehensive resource describing the use of advanced properties, see [Set advanced properties with the Wowza Video
          REST API](https://www.wowza.com/docs/how-to-set-advanced-properties-by-using-the-wowza-video-rest-api).
      operationId: showStreamTargetProperty
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: stream_target_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: >-
            The unique string that identifies the stream target property. The
            string contains the *section* and the *key*, connected by a dash.
            For example, **hls-chunkSize**.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/stream_target_property_create_input_repsonse
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    delete:
      summary: Delete a stream target property
      description: This operation removes a property from a stream target.
      operationId: deleteStreamTargetProperty
      tags:
        - stream_targets
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: stream_target_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: >-
            The unique string that identifies the stream target property. The
            string contains the *section* and the *key*, connected by a dash.
            For example, **hls-chunkSize**.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders:
    post:
      summary: Create a transcoder
      description: This operation creates a transcoder.
      operationId: createTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/transcoders" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/transcoder_create_input'
        description: >-
          Provide the details of the transcoder to create in the body of the
          request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all transcoders
      description: >-
        This operation shows limited details for all of your transcoders. For
        detailed information, fetch a single transcoder.
      operationId: listTranscoders
      tags:
        - transcoders
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transcoders'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /transcoders/{id}:
    get:
      summary: Fetch a transcoder
      description: This operation shows the details of a specific transcoder.
      operationId: showTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    patch:
      summary: Update a transcoder
      description: This operation updates a transcoder.
      operationId: updateTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/transcoder_update_input'
        description: >-
          Provide the details of the transcoder to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a transcoder
      description: >-
        This operation deletes a transcoder, including all of its assigned
        output renditions and stream targets. <br><br><b>Note</b>: You can't
        remove transcoders that have an asset_id. Assets must be removed by
        sending a DEL request to the /assets endpoint. 
      operationId: deleteTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/enable_all_stream_targets:
    put:
      summary: Enable a transcoder's stream targets
      description: >-
        This operation enables all of the stream targets assigned to a specific
        transcoder.
      operationId: enableAllStreamTargetsTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/enable_all_stream_targets"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/enable_all_stream_targets';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    required:
                      - stream_targets
                    properties:
                      stream_targets:
                        type: object
                        title: stream_targets
                        properties:
                          state:
                            type: string
                            description: The state of the transcoder's stream targets.
                            example: enabled
                            enum:
                              - enabled
                              - disabled
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/disable_all_stream_targets:
    put:
      summary: Disable a transcoder's stream targets
      description: >-
        This operation disables all of the stream targets assigned to a specific
        transcoder.
      operationId: disableAllStreamTargetsTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/disable_all_stream_targets"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/disable_all_stream_targets';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    required:
                      - stream_targets
                    properties:
                      stream_targets:
                        type: object
                        title: stream_targets
                        properties:
                          state:
                            type: string
                            description: The state of the transcoder's stream targets.
                            example: enabled
                            enum:
                              - enabled
                              - disabled
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/start:
    put:
      summary: Start a transcoder
      description: This operation starts a transcoder.
      operationId: startTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/start"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/start';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: starting
                        enum:
                          - starting
                          - stopping
                          - started
                          - stopped
                          - resetting
                      uptime_id:
                        type: string
                        description: >-
                          The unique identifier associated with a specific
                          uptime period of a transcoder.
                        example: abcd1234
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/stop:
    put:
      summary: Stop a transcoder
      description: This operation stops a transcoder.
      operationId: stopTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/stop"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/stop';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: starting
                        enum:
                          - starting
                          - stopping
                          - started
                          - stopped
                          - resetting
                      uptime_id:
                        type: string
                        description: >-
                          The unique identifier associated with a specific
                          uptime period of a transcoder.
                        example: abcd1234
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/reset:
    put:
      summary: Reset a transcoder
      description: This operation resets a transcoder.
      operationId: resetTranscoder
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/reset"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/reset';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: resetting
                        enum:
                          - starting
                          - stopping
                          - started
                          - stopped
                          - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/start_recording:
    put:
      summary: Start recording
      description: >-
        This operation starts the recording of a transcoder after the transcoder
        has started.

        If you want the recording to start and stop automatically when you start
        or stop the transcoder instead, set _recording_ to **true** when you
        create a transcoder or update a transcoder.
      operationId: startTranscoderRecording
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/start_recording"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/start_recording';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      recording:
                        type: object
                        description: The recording for the transcoder.
                        properties:
                          state:
                            type: string
                            description: The state of video capture for the transcoder.
                            example: started
                            enum:
                              - started
                              - stopped
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/stop_recording:
    put:
      summary: Stop recording
      description: >-
        This operation stops the recording of a transcoder before the transcoder
        has stopped. Wowza Video begins converting the recording to an MP4 file
        after the transcoder has stopped. You can use this operation to manually
        stop recording even if _recording_ is set to **true** on the transcoder,
        meaning the recording was automatically started at transcoder start.

        If you want the recording to start and stop automatically when you start
        and stop the transcoder, set _recording_ to **true** when you create a
        transcoder or  update a transcoder and then don't use the manual stop
        recording operation.
      operationId: stopTranscoderRecording
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/stop_recording"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/stop_recording';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      recording:
                        type: object
                        description: The recording for the transcoder.
                        properties:
                          state:
                            type: string
                            description: The state of video capture for the transcoder.
                            example: stopped
                            enum:
                              - started
                              - stopped
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{id}/recordings:
    get:
      summary: Fetch a transcoder's recordings
      description: >-
        This operation shows limited details of all of the recordings for a
        specific transcoder. For detailed information about a recording, use the
        recording ID to fetch a recording.
      operationId: listTranscoderRecordings
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/recordings"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/recordings';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - recordings
                properties:
                  recordings:
                    type: array
                    description: >-
                      Array of recordings of this transcoder. See /recordings
                      for more details.
                    items:
                      $ref: '#/components/schemas/index_recordings'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{id}/schedules:
    get:
      summary: Fetch transcoder's schedules
      description: >-
        This operation shows the details of all of the schedules for a specific
        transcoder.
      operationId: listTranscoderSchedules
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/schedules"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/schedules';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - schedules
                properties:
                  schedules:
                    type: array
                    description: >-
                      Array of schedules of this transcoder. See /schedules for
                      more details.
                    items:
                      $ref: '#/components/schemas/schedule'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{id}/thumbnail_url:
    get:
      summary: Fetch the thumbnail URL of a transcoder
      description: This operation shows the thumbnail URL of a started transcoder.
      operationId: showTranscoderThumbnailUrl
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/thumbnail_url"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/thumbnail_url';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      thumbnail_url:
                        type: string
                        description: The URL to receive the preview thumbnail.
                        example: >-
                          https://cloud.wowza.com/proxy/stats/?target=10.11.12.13&app=app-B8P6K226&stream=99b62146@130135.stream&media=json
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{id}/state:
    get:
      summary: Fetch the state and uptime ID of a transcoder
      description: This operation shows the current state and uptime ID of a transcoder.
      operationId: showTranscoderState
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/state"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/state';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      ip_address:
                        type: string
                        description: >-
                          The IP address of the transcoder instance. If the
                          transcoder *state* is anything other than **started**,
                          the *ip_address* is **0.0.0.0**.
                        example: 1.2.3.4
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: started
                        enum:
                          - starting
                          - stopping
                          - started
                          - stopped
                          - resetting
                      uptime_id:
                        type: string
                        description: >-
                          The unique identifier associated with a specific
                          uptime period of a transcoder.
                        example: abcd1234
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{id}/stats:
    get:
      summary: Fetch statistics for a current transcoder
      description: >-
        This operation responds with a hash of metrics (keys) for a currently
        running transcoder. Each key has a **status**, **text** (description),
        **units**, and **value**.
      operationId: showTranscoderStats
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/stats"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/stats';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/shm_metrics'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{id}/vod_streams:
    get:
      summary: Fetch all VOD streams for a transcoder
      description: >-
        (Available from version 1.5) This operation shows the details of all VOD
        streams associated to a specific transcoder.
      operationId: listTranscoderVODStreams
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/vod_streams"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/vod_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vod_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/uptimes:
    get:
      summary: Fetch all uptime records for a transcoder
      description: >-
        This operation shows all of the uptime records for a specific
        transcoder. An *uptime record* identifies a specific transcoding
        session.
      operationId: indexUptimes
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/uptimes"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/uptimes';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uptimes'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/uptimes/{id}:
    get:
      summary: Fetch an uptime record
      description: >-
        This operation shows the details of a specific uptime record for a
        specific transcoder. An *uptime record* identifies a transcoding
        session.
      operationId: showUptime
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the uptime record.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - uptime
                properties:
                  uptime:
                    $ref: '#/components/schemas/uptime'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/uptimes/{id}/metrics/current:
    get:
      summary: Fetch current stream health metrics for an active transcoder
      description: >-
        This operation returns a snapshot of the current source connection and
        processing details of an active (running) transcoder.
      operationId: showUptimeMetricsCurrent
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d/metrics/current"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d/metrics/current';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the uptime record.
          schema:
            type: string
        - name: fields
          in: query
          required: false
          description: A comma-separated list of fields to return.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - current
                  - limits
                properties:
                  current:
                    $ref: '#/components/schemas/shm_metrics'
                  limits:
                    type: object
                    title: limits
                    required:
                      - fields
                    properties:
                      fields:
                        type: string
                        title: fields
                        description: >-
                          A comma-separated list of fields that were returned in
                          the request.
                example:
                  current:
                    audio_codec:
                      status: normal
                      text: ''
                      units: ''
                      value: aac
                    bits_in_rate:
                      status: normal
                      text: ''
                      units: Kbps
                      value: 317.3
                    bits_out_rate:
                      status: normal
                      text: ''
                      units: Kbps
                      value: 856
                    bytes_in_rate:
                      status: normal
                      text: ''
                      units: KBps
                      value: 317.3
                    bytes_out_rate:
                      status: normal
                      text: ''
                      units: KBps
                      value: 856
                    configured_bytes_out_rate:
                      status: warning
                      text: >-
                        Outbound bitrate is lower than the configured bitrate.
                        There might be a problem with the stream targets.
                      value: 8192
                      units: Kbps
                    connected:
                      status: normal
                      text: ''
                      units: ''
                      value: 'Yes'
                    frame_size:
                      status: warning
                      text: >-
                        Configured frame size is different from what Wowza Video
                        is receiving from the source: 1280x720.
                      units: ''
                      value: 1280x720
                    frame_rate:
                      status: normal
                      text: ''
                      units: FPS
                      value: 30
                    height:
                      status: warning
                      text: >-
                        Configured height is different from what Wowza Video is
                        receiving from the source: 720.
                      units: px
                      value: 720
                    keyframe_interval:
                      status: normal
                      text: ''
                      units: GOP
                      value: 69
                    stream_target_status_OUTPUTIDX_STREAMTARGETIDX:
                      status: normal
                      text: ''
                      units: ''
                      value: Active
                    unique_views:
                      status: normal
                      text: ''
                      units: '%'
                      value: 1030
                    video_codec:
                      status: normal
                      text: ''
                      units: ''
                      value: h264
                    width:
                      status: warning
                      text: >-
                        Configured width is different from what Wowza Video is
                        receiving from the source: 1280.
                      units: px
                      value: 1280
                  limits:
                    fields:
                      - audio_codec
                      - bits_in_rate
                      - bits_out_rate
                      - bytes_in_rate
                      - bytes_out_rate
                      - configured_bytes_out_rate
                      - connected
                      - frame_size
                      - frame_rate
                      - height
                      - width
                      - keyframe_interval
                      - unique_views
                      - video_codec
                      - width
                      - stream_target_status_OUTPUTIDX_STREAMTARGETIDX
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/uptimes/{id}/metrics/historic:
    get:
      summary: Fetch historic stream health metrics for a transcoder
      description: >-
        This operation shows the historic source connection and processing
        details for a transcoding session (uptime record). The transcoder can be
        running or stopped. Metrics are recorded every 20 seconds.
      operationId: showUptimeMetricsHistoric
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d/metrics/historic"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/uptimes/1acfg43d/metrics/historic';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the uptime record.
          schema:
            type: string
        - name: fields
          in: query
          required: false
          description: A comma-separated list of fields to return.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time used to aggregate the metrics.
            Express the value by using the ISO 8601 standard of
            **YYYY-MM-DDTHH:MM:SSZ** where **HH** is a 24-hour clock in UTC.
          schema:
            type: string
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time used to aggregate the metrics. Express
            the value by using the ISO 8601 standard of **YYYY-MM-DDTHH:MM:SSZ**
            where **HH** is a 24-hour clock in UTC.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - historic
                  - limits
                properties:
                  historic:
                    type: array
                    items:
                      $ref: '#/components/schemas/shm_historic_metrics'
                  limits:
                    type: object
                    title: limits
                    required:
                      - fields
                      - from
                      - to
                    properties:
                      fields:
                        type: string
                        title: fields
                        description: >-
                          A comma-separated list of fields that were returned in
                          the request.
                      from:
                        type: string
                        title: from
                        description: >-
                          The start of range of time when the metrics were
                          aggregated for the query.
                        format: date-time
                      to:
                        type: string
                        title: to
                        description: >-
                          The end of the range of time when the metrics were
                          aggregated for the query.
                        format: date-time
                example:
                  historic:
                    - audio_codec:
                        status: normal
                        text: ''
                        units: ''
                        value: aac
                      bits_in_rate:
                        status: normal
                        text: ''
                        units: Kbps
                        value: 317.3
                      bits_out_rate:
                        status: normal
                        text: ''
                        units: Kbps
                        value: 856
                      frame_rate:
                        status: normal
                        text: ''
                        units: FPS
                        value: 30
                      height:
                        status: warning
                        text: >-
                          Configured height is different from what Wowza Video
                          is receiving from the source: 720.
                        units: px
                        value: 720
                      keyframe_interval:
                        status: normal
                        text: ''
                        units: GOP
                        value: 69
                      video_codec:
                        status: normal
                        text: ''
                        units: ''
                        value: h264
                      width:
                        status: warning
                        text: >-
                          Configured width is different from what Wowza Video is
                          receiving from the source: 1280.
                        units: px
                        value: 1280
                      created_at: '2017-07-06T14:20:00.000Z'
                    - audio_codec:
                        status: normal
                        text: ''
                        units: ''
                        value: aac
                      bits_in_rate:
                        status: normal
                        text: ''
                        units: Kbps
                        value: 317.3
                      bits_out_rate:
                        status: normal
                        text: ''
                        units: Kbps
                        value: 856
                      frame_rate:
                        status: normal
                        text: ''
                        units: FPS
                        value: 30
                      height:
                        status: warning
                        text: >-
                          Configured height is different from what Wowza Video
                          is receiving from the source: 720.
                        units: px
                        value: 720
                      keyframe_interval:
                        status: normal
                        text: ''
                        units: GOP
                        value: 69
                      video_codec:
                        status: normal
                        text: ''
                        units: ''
                        value: h264
                      width:
                        status: warning
                        text: >-
                          Configured width is different from what Wowza Video is
                          receiving from the source: 1280.
                        units: px
                        value: 1280
                      created_at: '2017-07-06T14:20:20.000Z'
                  limits:
                    fields:
                      - audio_codec
                      - bits_in_rate
                      - bits_out_rate
                      - frame_rate
                      - height
                      - keyframe_interval
                      - width
                      - video_codec
                    from: '2017-07-06T14:20:00.000Z'
                    to: '2017-07-06T14:20:20.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/outputs:
    post:
      summary: Create an output
      description: >-
        This operation creates an output rendition for a specific transcoder.
        You can create up to 10 outputs per transcoder.
      operationId: createTranscoderOutput
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/outputs';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/output_create_input'
        description: >-
          Provide the details of the output rendition to create in the body of
          the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - output
                properties:
                  output:
                    $ref: '#/components/schemas/output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all outputs of a transcoder
      description: >-
        This operation shows the details of all of the output renditions of a
        specific transcoder.
      operationId: listTranscoderOutputs
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/outputs';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outputs'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/outputs/{id}:
    get:
      summary: Fetch an output
      description: >-
        This operation shows the details of a specific output rendition for a
        specific transcoder.
      operationId: showTranscoderOutput
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - output
                properties:
                  output:
                    $ref: '#/components/schemas/output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update an output
      description: This operation updates an output rendition.
      operationId: updateTranscoderOutput
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/output_update_input'
        description: >-
          Provide the details of the output rendition to update in the body of
          the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - output
                properties:
                  output:
                    $ref: '#/components/schemas/output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete an output
      description: This operation deletes an output, including all of its assigned targets.
      operationId: deleteTranscoderOutput
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets:
    post:
      summary: Create an output stream target
      description: >-
        This operation creates an output stream target, assigning the stream
        target to the specified output rendition. 
      operationId: createTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));

            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/output_stream_target_create_input'
        description: >-
          Provide the details of the output stream target to create in the body
          of the request. 
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - output_stream_target
                properties:
                  output_stream_target:
                    $ref: '#/components/schemas/output_stream_target'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all output stream targets of an output of a transcoder
      description: >-
        This operation shows the details of all of the output stream targets of
        an output of a transcoder.
      operationId: listTranscoderOutputOutputStreamTargets
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/output_stream_targets'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
  /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}:
    get:
      summary: Fetch an output stream target
      description: This operation shows the details of an output stream target.
      operationId: showTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  output_stream_target:
                    $ref: '#/components/schemas/output_stream_target'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update an output stream target
      description: This operation updates an output stream target.
      operationId: updateTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77" \
              -d $'{
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.write(JSON.stringify({
              "transcoder": {
                "property": "My Value",
                "...": "..."
              }
            }));

            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/output_stream_target_update_input'
        description: >-
          Provide the details of the output stream target to update in the body
          of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - output_stream_target
                properties:
                  output_stream_target:
                    $ref: '#/components/schemas/output_stream_target'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete an output stream target
      description: >-
        This operation deletes an output stream target, including all of its
        assigned targets.
      operationId: deleteTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/enable:
    put:
      summary: Enable an output stream target
      description: This operation enables an output stream target.
      operationId: enableTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/enable"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/enable';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target
                properties:
                  stream_target:
                    type: object
                    title: stream_target
                    properties:
                      state:
                        type: string
                        description: The state of the output stream target.
                        example: enabled
                        enum:
                          - enabled
                          - disabled
                          - restarted
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/disable:
    put:
      summary: Disable an output stream target
      description: This operation disables an output stream target.
      operationId: disableTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/disable"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/disable';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target
                properties:
                  stream_target:
                    type: object
                    title: stream_target
                    properties:
                      state:
                        type: string
                        description: The state of the output stream target.
                        example: disabled
                        enum:
                          - enabled
                          - disabled
                          - restarted
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/restart:
    put:
      summary: Restart an output stream target
      description: This operation restarts an output stream target.
      operationId: restartTranscoderOutputOutputStreamTarget
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PUT" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/restart"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/restart';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'PUT',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });

            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: output_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the output rendition.
          schema:
            type: string
        - name: stream_target_id
          in: path
          required: true
          description: >-
            The unique alphanumeric string that identifies the stream target.


            **Tip:** If you're using both the primary and backup URL for a
            stream target, send *output_stream_target_id* in the path instead.
            *output_stream_target_id* was returned when you added the stream
            target to the ouput rendition. This allows you to differentiate
            between the primary and backup URL versions of the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - stream_target
                properties:
                  stream_target:
                    type: object
                    title: stream_target
                    properties:
                      state:
                        type: string
                        description: The state of the output stream target.
                        example: restarted
                        enum:
                          - enabled
                          - disabled
                          - restarted
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/properties:
    post:
      summary: Configure a property for a transcoder
      description: >-
        This operation configures a single property or an array of properties
        for a transcoder.


        For a comprehensive resource describing the use of advanced properties,
        see [Set advanced properties with the Wowza Video REST
        API](https://www.wowza.com/docs/how-to-set-advanced-properties-by-using-the-wowza-video-rest-api).
      operationId: createTranscoderProperty
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/properties" \
              -d $'{
              "property": {
                "key": "rtpIgnoreProfileLevelId",
                "section": "rtsp",
                "value": true
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/properties';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "property": {
                "key": "rtpIgnoreProfileLevelId",
                "section": "rtsp",
                "value": true
              }
            }));
            req.end();
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
                - property
                - properties
              oneOf:
                - $ref: '#/components/schemas/transcoder_property_create_input'
                - $ref: '#/components/schemas/transcoder_properties_create_input'
        description: >-
          Provide the details of the property or properties to configure in the
          body of the request. You must include either *property* or
          *properties* in the request as the root object.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                required:
                  - property
                  - properties
                oneOf:
                  - $ref: >-
                      #/components/schemas/transcoder_configure_property_post_response
                  - $ref: >-
                      #/components/schemas/transcoder_configure_properties_post_response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch a transcoder's properties
      description: This operation shows all of the properties of a specific transcoder.
      operationId: listTranscoderProperties
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/properties"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/transcoders/2adffc17/properties';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/transcoder_configure_properties_post_response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /transcoders/{transcoder_id}/properties/{id}:
    get:
      summary: Fetch a property for a transcoder
      description: >-
        This operation shows the details of a specific property for a specific
        transcoder.
      operationId: showTranscoderProperty
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/properties/rtsp-rtpIgnoreProfileLevelId"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/properties/rtsp-rtpIgnoreProfileLevelId';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: >-
            The unique string that identifies the transcoder property. The
            string contains the section and the key, connected by a dash. For
            example, **cupertino-aes128Secret**.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/transcoder_configure_property_post_response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    delete:
      summary: Delete a transcoder's property
      description: This operation deletes a specific property from a specific transcoder.
      operationId: deleteTranscoderProperty
      tags:
        - transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/transcoders/2adffc17/properties/cupertino-aes128Secret"
        - lang: JavaScript
          source: >
            // Using Node.js

            const https = require('https');

            const crypto = require('crypto');

            var hostname = 'api.video.wowza.com'

            var path =
            '/api/v1.10/transcoders/2adffc17/properties/cupertino-aes128Secret';

            //For security, never reveal API token in client-side code

            var wvJWT = 'Bearer [your JWT]';


            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };

            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: transcoder_id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: >-
            The unique string that identifies the transcoder property. The
            string contains the section and the key, connected by a dash. For
            example, **cupertino-aes128Secret**.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/accounts:
    get:
      summary: Fetch usage for an account
      description: >-
        (Available from version 1.8) This operation returns CDN usage details
        for the account related to the JSON web token used for API
        authentication. Defaults: from = last billing date, to = end of current
        day.
      operationId: showUsageAccountIndex
      tags:
        - usage_account
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/accounts"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/accounts';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: filter
          in: query
          required: false
          description: >-
            Restricts the data that gets returned by filtering on one or more
            values associated with a field. Construct a filter using a two-part
            expression that specifies the field on which to filter and the logic
            to use to filter.

            Keep in mind the following for account trend filters:
             <ul><li>The only valid filter is **resource**.</li>
             <li>The only valid filter operators are **eq** with values of **transcoders** or **vod_streams** or **in** with a value of **transcoders,vod_streams**. </li>
             <li>Filters use a zero-based index.</li></ul>

             For example:
              **filter[0][field]=resource&filter[0][eq]=vod_streams**
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_accounts'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/accounts/countries:
    get:
      summary: Fetch stream usage by country for an account
      description: >-
        (Available from version 1.8) This operation returns CDN usage details by
        country for the account related to the JSON web token used for API
        authentication. *CDN usage* is the amount of data that went through
        every Fastly stream target, including unique viewers, viewing time, and
        bytes of content.
      operationId: usageAccountByCountry
      tags:
        - usage_account
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/accounts/countries"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/accounts/countries';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: filter
          in: query
          required: false
          description: >-
            Restricts the data that gets returned by filtering on one or more
            values associated with a field. Construct a filter using a two-part
            expression that specifies the field on which to filter and the logic
            to use to filter.

            Keep in mind the following for account trend filters:
             <ul><li>The only valid filter is **resource**.</li>
             <li>The only valid filter operators are **eq** with values of **transcoders** or **vod_streams** or **in** with a value of **transcoders,vod_streams**. </li>
             <li>Filters use a zero-based index.</li></ul>

             For example:
              **filter[0][field]=resource&filter[0][eq]=vod_streams**
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_accounts_countries'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/accounts/trend:
    get:
      summary: Fetch trend data for an account
      description: >-
        (Available from version 1.8) This operation returns trend data for the
        CDN usage of the account related to the JSON web token used for API
        authentication.

          The granularity of sampled data changes based on the from and to query values you use:


          1) Requests made for data within the past 30 days, return the following sample intervals:
            <ul><li>0 minutes to 3 hours - Samples returned per minute</li>
            <li>3 hours, 1 second to 24 hours - Samples returned per hour</li>
            <li>24 hours, 1 second to 90 days - Samples returned per day</li></ul>

          2) Requests made for data beyond the past 30 days, always return sample intervals per hour.

        <strong>Defaults</strong>: from = last billing date, to = end of current
        day, filter = transcoder and vod streams
      operationId: showUsageAccountTrend
      tags:
        - usage_account
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/accounts/trend"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/accounts/trend';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: filter
          in: query
          required: false
          description: >-
            Restricts the data that gets returned by filtering on one or more
            values associated with a field. Construct a filter using a two-part
            expression that specifies the field on which to filter and the logic
            to use to filter.

            Keep in mind the following for account trend filters:
             <ul><li>The only valid filter is **resource**.</li>
             <li>The only valid filter operators are **eq** with values of **transcoders** or **vod_streams** or **in** with a value of **transcoders,vod_streams**. </li>
             <li>Filters use a zero-based index.</li></ul>

             For example:
              **filter[0][field]=resource&filter[0][eq]=vod_streams**
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_accounts_trend'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/accounts/live:
    get:
      summary: Fetch live viewer data for an account
      description: >-
        (Available from version 1.8) This operation returns the number of
        current viewers between all streams, live and VOD, for the account
        related to the JSON web token used for API authentication.  
      operationId: liveUsageAccount
      tags:
        - usage_account
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/accounts/live"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/accounts/live';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_accounts_viewer_data'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders:
    get:
      summary: Fetch usage for all transcoders
      description: >-
        This operation shows the amount of usage (egress) for all transcoders in
        the account. The default time frame is *from* the last billing date *to*
        the end of the current day.
      operationId: usageTranscodersIndex
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoders'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders/{id}:
    get:
      summary: Fetch usage for a single transcoder
      description: >-
        (Available from version 1.4) This operation shows the amount of usage
        (egress) for a specific transcoder. The default time frame is *from* the
        last billing date *to* the end of the current day.
      operationId: showUsageTranscoder
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders/{id}/countries:
    get:
      summary: Fetch transcoder usage by country
      description: >-
        (Available from version 1.8) This operation returns CDN usage details
        for a specific transcoder by country. *CDN usage* is the amount of data
        that went through every Fastly stream target, including unique viewers,
        viewing time, and bytes of content.
      operationId: usageTranscoderByCountry
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders/2adffc17/countries"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders/2adffc17/countries';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoder_countries'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders/summary:
    get:
      summary: Fetch transcoder usage summary
      description: >-
        (Available from version 1.4) This operation shows a summary of the
        amount of usage (egress) for all transcoders in the account. The default
        time frame is *from* the last billing date *to* the end of the current
        day.
      operationId: summaryUsageTranscoder
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders/summary"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders/summary';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoder_summary'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders/{id}/trend:
    get:
      summary: Fetch trend data for a transcoder
      description: >-
        (Available from version 1.8) This operation returns trend data for the
        CDN usage of a transcoder.

          The granularity of sampled data changes based on the from and to query values you use:


          1) Requests made for data within the past 30 days, return the following sample intervals:
            <ul><li>0 minutes to 3 hours - Samples returned per minute</li>
            <li>3 hours, 1 second to 24 hours - Samples returned per hour</li>
            <li>24 hours, 1 second to 90 days - Samples returned per day</li></ul>

          2) Requests made for data beyond the past 30 days, always return sample intervals per hour.

        <strong>Defaults</strong>: from = last billing date, to = end of current
        day
      operationId: showUsageTranscoderTrend
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders/2adffc17/trend"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders/2adffc17/trend';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoder_trend'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/transcoders/{id}/live:
    get:
      summary: Fetch transcoder live viewer data
      description: >-
        (Available from version 1.8) This operation returns the number of
        current viewers for a transcoder.
      operationId: liveUsageTranscoder
      tags:
        - usage_transcoders
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/transcoders/2adffc17/live"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/transcoders/2adffc17/live';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the transcoder.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_transcoders_viewer_data'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets:
    get:
      summary: Fetch usage for all stream targets
      description: >-
        (Available from version 1.4) This operation returns detailed CDN usage
        data for all stream targets in the account. Defaults: from = last
        billing date, to = end of current day.
      operationId: usageStreamTargetsIndex
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter. T


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/next_page_key'
        - $ref: '#/components/parameters/per_page_2.0'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_targets'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets/{id}:
    get:
      summary: Fetch usage for a single stream target
      description: >-
        (Available from version 1.4) This operation returns CDN usage details
        for a specific stream target. Defaults: from = last billing date, to =
        end of current day.
      operationId: showUsageStreamTarget
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_target'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets/summary:
    get:
      summary: Fetch stream target usage summary
      description: >-
        (Available from version 1.4) This operation returns a summary of CDN
        usage for all stream targets in the account. Defaults: from = last
        billing date, to = end of current day.
      operationId: summmaryUsageStreamTarget
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets/summary"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets/summary';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_target_summary'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets/{id}/countries:
    get:
      summary: Fetch stream target usage by country
      description: >-
        (Available from version 1.4) This operation returns CDN usage details
        for a specific stream target by country. Defaults: from = last billing
        date, to = end of current day.
      operationId: usageStreamTargetByCountry
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets/2adffc17/countries"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets/2adffc17/countries';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_target_countries'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets/{id}/renditions:
    get:
      summary: Fetch stream target usage by rendition
      description: >-
        (Available from version 1.4) This operation returns CDN usage details
        for a specific stream target by output rendition. Defaults: from = last
        billing date, to = end of current day.
      operationId: usageStreamTargetByRendition
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets/2adffc17/renditions"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets/2adffc17/renditions';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_target_renditions'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/stream_targets/{id}/live:
    get:
      summary: Fetch stream target live viewer data
      description: >-
        (Available from version 1.4) This operation returns the number of
        current viewers for a stream via a specific stream target. 
         #  
         > **Note:** This operation currently supports stream targets with a *type* of **fastly** only.
      operationId: liveUsageStreamTarget
      tags:
        - usage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/stream_targets/2adffc17/live"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/stream_targets/2adffc17/live';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_stream_target_viewer_data'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/storage/peak:
    get:
      summary: Fetch peak storage
      description: >-
        This operation shows the amount of peak storage used for the account.
        The default time frame is *from* the last billing date *to* the end of
        the current day.
      operationId: usageStoragePeakRecordingIndex
      tags:
        - storage
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/storage/peak"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/storage/peak';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:MM:SS** where **HH** is a 24-hour clock in UTC.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:MM:SS** where **HH** is a 24-hour clock in UTC.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_storage_peak'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /usage/vod_streams:
    get:
      summary: Fetch usage for all VOD streams
      description: >-
        (Available from version 1.5) This operation returns detailed CDN usage
        data for all VOD streams in the account. *CDN usage* is the amount of
        data that went through every Fastly stream target, including unique
        viewers, viewing time, and bytes of content.
      operationId: usageVODStreamsIndex
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/next_page_key'
        - $ref: '#/components/parameters/per_page_2.0'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/egress:
    get:
      summary: Fetch egress for all VOD streams
      description: >-
        (Available from version 1.7) This operation returns egress usage for all
        VOD streams in the account. For VOD streams, *egress* is the traffic
        generated by Wowza CDN on Fastly pulling the VOD asset from storage.
      operationId: usageVODStreamsEgressIndex
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \

              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/egress"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/egress';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/next_page_key'
        - $ref: '#/components/parameters/per_page_2.0'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_streams_egress'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/{id}:
    get:
      summary: Fetch usage for a single VOD stream
      description: >-
        (Available from version 1.5) This operation returns CDN usage details
        for a specific VOD stream. *CDN usage* is the amount of data that went
        through every Fastly stream target, including unique viewers, viewing
        time, and bytes of content.
      operationId: showUsageVODStream
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/1ndgfc11"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/1ndgfc11';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/egress/{id}:
    get:
      summary: Fetch egress for a single VOD stream
      description: >-
        (Available from version 1.7) This operation returns egress usage for a
        specific VOD stream. For VOD streams, *egress* is the traffic generated
        by Wowza CDN on Fastly pulling the VOD asset from storage.
      operationId: showUsageVODStreamEgress
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/egress/1ndgfc11"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/egress/1ndgfc11';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_egress'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/summary:
    get:
      summary: Fetch VOD stream usage summary
      description: >-
        (Available from version 1.5) This operation returns a summary of CDN
        usage for all VOD streams in the account. *CDN usage* is the amount of
        data that went through every Fastly stream target, including unique
        viewers, viewing time, and bytes of content.
      operationId: summmaryUsageVODStream
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/summary"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/summary';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_summary'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/{id}/countries:
    get:
      summary: Fetch VOD stream usage by country
      description: >-
        (Available from version 1.5) This operation returns CDN usage details
        for a specific VOD stream by country. *CDN usage* is the amount of data
        that went through every Fastly stream target, including unique viewers,
        viewing time, and bytes of content.
      operationId: usageVODStreamByCountry
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/1ndgfc11/countries"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/1ndgfc11/countries';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter. T


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_countries'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/{id}/renditions:
    get:
      summary: Fetch VOD stream usage by rendition
      description: >-
        (Available from version 1.5) This operation returns CDN usage details
        for a specific VOD stream by output rendition. *CDN usage* is the amount
        of data that went through every Fastly stream target, including unique
        viewers, viewing time, and bytes of content.
      operationId: usageVODStreamByRendition
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/1ndgfc11/renditions"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/1ndgfc11/renditions';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_renditions'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/real_time_streams:
    get:
      summary: Fetch usage for all real-time streams
      description: >-
        (Available from version 1.9) This operation returns detailed CDN usage
        data for all real-time streams in the account. Defaults: from = last
        billing date, to = end of current day.
      operationId: usageRealTimeStreamsIndex
      tags:
        - usage_real_time_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \

              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/real_time_streams"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/real_time_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter. T


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/next_page_key'
        - $ref: '#/components/parameters/per_page_2.0'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_real_time_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/real_time_streams/{id}:
    get:
      summary: Fetch usage for a single real-time stream
      description: >-
        (Available from version 1.9) This operation returns CDN usage details
        for a specific stream target. Defaults: from = last billing date, to =
        end of current day.
      operationId: showUsageRealTimeStream
      tags:
        - usage_real_time_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \

              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/real_time_streams/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/real_time_streams/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the stream target.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_real_time_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/egress/summary:
    get:
      summary: Fetch VOD stream egress summary
      description: >-
        (Available from version 1.7) This operation returns a summary of egress
        usage for all VOD streams in the account. For VOD streams, *egress* is
        the traffic generated by Wowza CDN on Fastly pulling the VOD asset from
        storage.
      operationId: summmaryUsageVODStreamEgress
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/egress/summary"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/egress/summary';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_egress_summary'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /vod_streams:
    get:
      summary: Fetch all VOD streams
      description: >-
        (Available from version 1.5) This operation shows limited details for
        VOD streams. For detailed information, fetch a single VOD stream.
      operationId: listVODStreams
      tags:
        - vod_streams
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/vod_streams
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/vod_streams';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vod_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /vod_streams/{id}:
    get:
      summary: Fetch a VOD stream
      description: >-
        (Available from version 1.5) This operation shows the details of a
        specific VOD stream.
      operationId: showVODStream
      tags:
        - vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/vod_streams/1kfgc39"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/vod_streams/1kfgc39';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - vod_stream
                properties:
                  vod_stream:
                    $ref: '#/components/schemas/vod_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a VOD stream
      description: (Available from version 1.5) This operation updates a VOD stream.
      operationId: updateVODStream
      tags:
        - vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/vod_streams/1kfgc39" \
              -d $'{
              "vod_stream": {
                "property": "My Value",
                "...": "..."
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/vod_streams/1kfgc39';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "vod_stream": {
                "property": "My Value",
                "...": "..."
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/vod_stream_update_input'
        description: >-
          Provide the details of the VOD stream to update in the body of the
          request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - vod_stream
                properties:
                  vod_stream:
                    $ref: '#/components/schemas/vod_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a VOD stream
      description: >-
        (Available from version 1.5) This operation deletes a VOD stream.
        <br><br><b>Note</b>: You can't remove VOD streams that have an asset_id.
        Assets must be removed by sending a DEL request to the /assets
        endpoint. 
      operationId: deleteVODStream
      tags:
        - vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/vod_streams/1kfgc39"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/vod_streams/1kfgc39';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/{id}/trend:
    get:
      summary: Fetch trend data for a VOD stream
      description: >-
        (Available from version 1.8) This operation returns trend data for the
        CDN usage of a VOD stream.

          The granularity of sampled data changes based on the from and to query values you use:


          1) Requests made for data within the past 30 days, return the following sample intervals:
            <ul><li>0 minutes to 3 hours - Samples returned per minute</li>
            <li>3 hours, 1 second to 24 hours - Samples returned per hour</li>
            <li>24 hours, 1 second to 90 days - Samples returned per day</li></ul>

          2) Requests made for data beyond the past 30 days, always return sample intervals per hour.

        <strong>Defaults</strong>: from = last billing date, to = end of current
        day
      operationId: showUsageVODTrend
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_stream/2adffc17/trend"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/2adffc17/trend';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            The start of the range of time you want to view. Specify
            **YYYY-MM-DD HH:00:00** where **HH** is a 24-hour clock in UTC. The
            range doesn't include minutes and seconds and rounds minutes up to
            the hour. The maximum difference between **from** and **to** is 90
            days. If you set the **from** query parameter without setting the
            **to** query parameter, the data returned will reflect 90 days
            starting at the **from** date, or data up to to the current day,
            whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: last billing date
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: >-
            The end of the range of time you want to view. Specify **YYYY-MM-DD
            HH:00:00** where **HH** is a 24-hour clock in UTC. The range doesn't
            include minutes and seconds and rounds minutes up to the hour. The
            maximum difference between **from** and **to** is 90 days. If you
            set the **to** query parameter without setting the **from** query
            parameter, the data returned will be from the past 90 days or from
            your last invoice date, whichever is shorter.


            You can also specify **last_bill_date**.


            **Default**: end of the current day
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_stream_trend'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /usage/vod_streams/{id}/live:
    get:
      summary: Fetch VOD stream live viewer data
      description: >-
        (Available from version 1.8) This operation returns the number of
        current viewers for a VOD stream.
      operationId: liveUsageVODStream
      tags:
        - usage_vod_streams
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/usage/vod_streams/2adffc17/live"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/usage/vod_streams/2adffc17/live';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the VOD stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/usage_vod_streams_viewer_data'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /real_time:
    post:
      summary: Create a real-time stream
      description: This operation creates a real-time stream.
      operationId: createRealTimeStream
      tags:
        - real_time
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "POST" \
              "${WV_HOST}/api/v1.10/real_time" \
              -d $'{
              "real_time_stream": {
                "name": "My Real-Time Stream"
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/real_time';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'POST',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "real_time_stream": {
                "name": "My Real-Time Stream"
              }
            }));
            req.end();
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/real_time_stream_create'
        description: >-
          Provide the details of the real-time stream to create in the body of
          the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - real_time_stream
                properties:
                  real_time_stream:
                    $ref: '#/components/schemas/real_time_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all real-time streams
      description: >-
        This operation shows limited details for all of your real-time streams.
        For detailed information, fetch a single real-time stream.
      operationId: listRealTimeStreams
      tags:
        - real_time
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/real_time"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/real_time';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/real_time_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /real_time/{id}:
    get:
      summary: Fetch a real-time stream
      description: This operation shows the details of a specific real-time stream.
      operationId: showRealTimeStream
      tags:
        - real_time
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "GET" \
              "${WV_HOST}/api/v1.10/real_time/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/real_time/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              var body = '';
              res.on('data', function(data){
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the real-time stream.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - real_time_stream
                properties:
                  real_time_stream:
                    $ref: '#/components/schemas/real_time_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a real-time stream
      description: This operation updates a real-time stream.
      operationId: updateRealTimeStream
      tags:
        - real_time
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "PATCH" \
              "${WV_HOST}/api/v1.10/real_time/2adffc17" \
              -d $'{
              "real_time_stream": {
                "name": "MyRealTimeStream"
              }
            }'
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/real_time/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname',
              path: path,
              method: 'PATCH',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            const req = https.request(options, function(res) {
              var body = '';
              res.on('data', function(data) {
                body += data;
              });
              res.on('end', function() {
                console.log(JSON.parse(body));
              });
            }).on('error', function(e) {
              console.log(e.message);
            });
            req.write(JSON.stringify({
              "real_time_stream": {
                "name": "MyRealTimeStream"
              }
            }));
            req.end();
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the real-time stream.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/real_time_stream_update'
        description: >-
          Provide the details of the real-time stream to update in the body of
          the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - real_time_stream
                properties:
                  real_time_stream:
                    $ref: '#/components/schemas/real_time_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a real-time stream
      description: This operation deletes a real-time stream.
      operationId: deleteRealTimeStream
      tags:
        - real_time
      x-code-samples:
        - lang: Shell
          source: |
            // Using cURL
            curl -H "Authorization: Bearer ${WV_JWT}" \
              
              -H "Content-Type: application/json" \
              -X "DELETE" \
              "${WV_HOST}/api/v1.10/real_time/2adffc17"
        - lang: JavaScript
          source: |
            // Using Node.js
            const https = require('https');
            const crypto = require('crypto');
            var hostname = 'api.video.wowza.com'
            var path = '/api/v1.10/real_time/2adffc17';
            //For security, never reveal API token in client-side code
            var wvJWT = 'Bearer [your JWT]';

            const options = {
              hostname: hostname,
              path: path,
              method: 'DELETE',
              headers: {
                'Authorization': wvJWT,
                'Content-Type': 'application/json'
              }
            };
            https.get(options, function(res) {
              // no data being returned, just: 204 NO CONTENT
              console.log(res.statusCode);
            }).on('error', function(e) {
              console.log(e.message);
            });
      parameters:
        - name: id
          in: path
          required: true
          description: The unique alphanumeric string that identifies the real-time stream.
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
components:
  securitySchemes:
    WV_JWT:
      type: http
      scheme: bearer
      description: >-
        Your Wowza-generated access token, also called a JSON web token (JWT).
        Send it as a bearer token in the Authentication header of your requests.
        See
        [Authentication](https://www.wowza.com/docs/how-to-use-the-wowza-video-rest-api#authentication).
  parameters:
    filter:
      name: filter
      in: query
      description: >-
        Restricts the data that gets returned by filtering on one or more values
        associated with a field. Construct a filter using a two-part expression
        that specifies the field on which to filter and the logic to use to
        filter. Filters use a zero-based index.


        For valid filter operators and filter fields, see [How to get filtered
        query results with the Wowza Video REST
        API](https://www.wowza.com/docs/how-to-get-filtered-query-results-with-the-wowza-video-rest-api).


        Example:

        **filter[0][field]=state&filter[0][eq]=stopped**
      schema:
        type: string
    page:
      name: page
      in: query
      description: >-
        Returns a paginated view of results from the HTTP request. Specify a
        positive integer to indicate which page of the results should be
        displayed. The default is **1**. 

         For more information and examples, see [Get paginated query results with the Wowza Video REST API](https://www.wowza.com/docs/how-to-get-paginated-query-results-with-the-wowza-video-rest-api).
      schema:
        type: integer
    per_page:
      name: per_page
      in: query
      description: >-
        For use with the *page* parameter. Indicates how many records should be
        included in a page of results. A valid value is any positive integer.
        The default and maximum value is **1000**.
      schema:
        type: integer
    next_page_key:
      name: next_page_key
      in: query
      description: >-
        (Available from version 1.5) Returns a paginated view of results from
        the HTTP request. Specify a page key ID to indicate which page of the
        results should be displayed.
      schema:
        type: string
    per_page_2.0:
      name: per_page
      in: query
      description: >-
        For use with the *next_page_key* parameter. Indicates how many records
        should be included in a page of results. A valid value is any positive
        integer. The default and maximum value is **1000**.
      schema:
        type: integer
  schemas:
    index_live_stream:
      type: object
      title: live_streams
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the live stream was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the live stream.
          example: ''
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: ''
        updated_at:
          type: string
          description: The date and time that the live stream was updated.
          example: ''
          format: date-time
    live_streams:
      type: object
      description: ''
      required:
        - live_streams
      properties:
        live_streams:
          type: array
          items:
            $ref: '#/components/schemas/index_live_stream'
      example:
        live_streams:
          - id: wdjfqvsv
            name: My PAYG Transcoded WSE Live Stream
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T16:06:47.849Z'
          - id: KyxWKtHQ
            name: My 24x7 Passthrough GoCoder Live Stream
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T02:26:05.849Z'
          - id: Ly40ZDSg
            name: My PAYG Transcoded Teradek Cube Live Stream
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-30T18:13:18.849Z'
    Error401:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 401
            code: ERR-401-NoApiKey
            title: No API Key Error
            message: No API key sent in header.
            description: ''
            links: []
        Example Response 2:
          meta:
            status: 401
            code: ERR-401-NoAccessKey
            title: No Access Key Error
            message: No access key sent in header.
            description: ''
            links: []
        Example Response 3:
          meta:
            status: 401
            code: ERR-401-InvalidApiKey
            title: Invalid Api Key Error
            message: Invalid API key.
            description: ''
            links: []
        Example Response 4:
          meta:
            status: 401
            code: ERR-401-InvalidAccessKey
            title: Invalid Access Key Error
            message: Invalid access key.
            description: ''
            links: []
        Example Response 5:
          meta:
            status: 401
            code: ERR-401-BadAccountStatus
            title: Bad Account Status Error
            message: Your account's status doesn't allow this action.
            description: ''
            links: []
        Example Response 6:
          meta:
            status: 401
            code: ERR-401-FeatureNotEnabled
            title: Feature Not Enabled Error
            message: This feature isn't enabled.
            description: ''
            links: []
        Example Response 7:
          meta:
            status: 401
            code: ERR-401-TrialExceeded
            title: Bad Billing Status Error
            message: >-
              Your billing status needs attention. You can't start or add live
              streams until your billing status is updated.
            description: ''
            links: []
        Example Response 8:
          meta:
            status: 401
            code: ERR-401-ExpiredToken
            title: JWT is expired
            message: Token has exired.
            description: ''
            links: []
        Example Response 9:
          meta:
            status: 401
            code: ERR-401-InvalidToken
            title: JWT is invalid
            message: Token is invalid.
            description: ''
            links: []
    broadcast_location:
      type: string
      description: >-
        The location of your stream. Choose a location as close as possible to
        your video source.
      example: eu_germany
      enum:
        - asia_pacific_australia
        - asia_pacific_india
        - asia_pacific_japan
        - asia_pacific_singapore
        - asia_pacific_s_korea
        - asia_pacific_taiwan
        - eu_belgium
        - eu_germany
        - eu_ireland
        - south_america_brazil
        - us_central_iowa
        - us_east_s_carolina
        - us_east_virginia
        - us_west_california
        - us_west_oregon
    hosted_page_request_object:
      type: object
      description: Configuration of the hosted page.
      properties:
        enabled:
          type: boolean
          description: >-
            A web page hosted by Wowza Video that includes a player for the live
            stream. The default, **true**, creates a hosted page. Specify
            **false** to not create a hosted web page.


            **Example:** <code>"enabled": true</code>
          example: ''
        description:
          type: string
          description: >-
            A description that appears on the hosted page below the player.
            Can't include custom HTML, JavaScript, or other tags.


            **Example:** <code>"description": "My Hosted Page
            Description"</code>
          example: ''
        logo_image:
          type: string
          description: >-
            A Base64-encoded string representation of a GIF, JPEG, or PNG logo
            file that that appears in the upper-left corner of the hosted page.
            Logo file must be 2.5 MB or smaller.


            **Example:** <code>"logo_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>
          example: '[Base64-encoded string representation of GIF, JPEG, or PNG file]'
        remove_logo_image:
          type: boolean
          description: >-
            If **true**, removes the logo file from the output. The default is
            **false**.


            **Example:** <code>"remove_logo_image": true</code>
          example: true
        sharing_icons:
          type: boolean
          description: >-
            Icons that let viewers share the stream on Facebook, Google+,
            Twitter, and by email. The default, **true**, includes sharing icons
            on the hosted page. Specify **false** to omit sharing icons.


            **Example:** <code>"sharing_icons": false</code>
          example: ''
        title:
          type: string
          description: >-
            A title for the page that appears above the player. Can't include
            custom HTML, JavaScript, or other tags.


            **Example:** <code>"title": "My Hosted Page"</code>
          example: ''
    hosted_page_request_object_create:
      type: object
      description: Configuration of the hosted page.
      properties:
        enabled:
          type: boolean
          description: >-
            A web page hosted by Wowza Video that includes a player for the live
            stream. The default, **true**, creates a hosted page. Specify
            **false** to not create a hosted web page.


            **Example:** <code>"enabled": true</code>
          example: ''
        description:
          type: string
          description: >-
            A description that appears on the hosted page below the player.
            Can't include custom HTML, JavaScript, or other tags.


            **Example:** <code>"description": "My Hosted Page
            Description"</code>
          example: ''
        logo_image:
          type: string
          description: >-
            A Base64-encoded string representation of a GIF, JPEG, or PNG logo
            file that that appears in the upper-left corner of the hosted page.
            Logo file must be 2.5 MB or smaller.


            **Example:** <code>"logo_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>
          example: '[Base64-encoded string representation of GIF, JPEG, or PNG file]'
        sharing_icons:
          type: boolean
          description: >-
            Icons that let viewers share the stream on Facebook, Google+,
            Twitter, and by email. The default, **true**, includes sharing icons
            on the hosted page. Specify **false** to omit sharing icons.


            **Example:** <code>"sharing_icons": false</code>
          example: ''
        title:
          type: string
          description: >-
            A title for the page that appears above the player. Can't include
            custom HTML, JavaScript, or other tags.


            **Example:** <code>"title": "My Hosted Page"</code>
          example: ''
    player_request_object:
      type: object
      description: Configuration of the player.
      properties:
        countdown:
          type: boolean
          description: >-
            A clock that appears in the player before the event and counts down
            to the start of the stream. Specify **true** to display the
            countdown clock. The default is **false**.


            **Example:** <code>"countdown": false</code>
          example: ''
        countdown_at:
          type: string
          description: >-
            The date and time that the event starts, used by the countdown
            clock. Specify **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour
            clock in UTC.


            **Example:** <code>"countdown_at": "2020-02-01T17:00:00.000Z"</code>
          example: ''
        logo_image:
          type: string
          description: >-
            A Base64-encoded string representation of a GIF, JPEG, or PNG logo 
            file that appears partially transparent in a corner of the player
            throughout playback. Logo file must be 2.5 MB or smaller.


            **Example:** <code>"logo_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>   
          example: ''
        logo_position:
          type: string
          description: >-
            The corner of the player in which you want the player logo to
            appear. The default is **top-left**.


            **Example:** <code>"logo_position": "top-right"</code>
          example: ''
          enum:
            - top-left
            - top-right
            - bottom-left
            - bottom-right
        remove_logo_image:
          type: boolean
          description: >-
            If **true**, removes the logo file from the player. The default is
            **false**.


            **Example:** <code>"remove_logo_image": true</code>
          example: true
        remove_video_poster_image:
          type: boolean
          description: |-
            If **true**, removes the poster image. The default is **false**.

            **Example:** <code>"remove_video_poster_image": true</code>
          example: true
        responsive:
          type: boolean
          description: >-
            A player whose size adjusts according to the device on which it's
            being viewed. If **true**, creates a responsive player. If
            **false**, specify a *player_width*.


             **Example:** <code>"type": false</code>
          example: ''
        type:
          type: string
          description: >-
            The player you want to use.


            **Wowza Video subscribers**</br> Wowza Flowplayer (wowza_flowplayer)
            is the only valid option. You're a subscriber if you have access to
            Asset Management and Historic and Live Analytics in the user
            interface.


            The Wowza Flowplayer is an easy-to-use, commercial grade player
            designed for builders and developers. It provides HTML5, HLS, and
            MPEG-DASH playback and plays streams on any browser and device. It
            can be
            [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
            if you embed it in your site.


            **Other subscribers**</br> original _html5 and wowza_player are the
            only valid options and original_html5 is the default.
            **original_html5** provides HTML5 playback and falls back to Flash
            on older browsers. **wowza_player** requires that
            *target_delivery_protocol* be **hls-https** and
            *closed_caption_type* be **none**.


            **Example:** <code>"type": "wowza_flowplayer"</code>
          example: ''
        video_poster_image:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG poster image that appears in the
            player before the stream begins. Poster image files must be 2.5 MB
            or smaller.


            **Example:** <code>"video_poster_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>
          example: ''
        width:
          type: integer
          description: >-
            The width, in pixels, of a fixed-size player. The default is
            **640**.


            **Example:** <code>"width": 640</code>
          example: ''
          format: int32
    player_request_object_create:
      type: object
      description: Configuration of the player.
      properties:
        countdown:
          type: boolean
          description: >-
            A clock that appears in the player before the event and counts down
            to the start of the stream. Specify **true** to display the
            countdown clock. The default is **false**.


            **Example:** <code>"countdown": false</code>
          example: ''
        countdown_at:
          type: string
          description: >-
            The date and time that the event starts, used by the countdown
            clock. Specify **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour
            clock in UTC.


            **Example:** <code>"countdown_at": "2020-02-01T17:00:00.000Z"</code>
          example: ''
        logo_image:
          type: string
          description: >-
            A Base64-encoded string representation of a GIF, JPEG, or PNG logo 
            file that appears partially transparent in a corner of the player
            throughout playback. Logo file must be 2.5 MB or smaller.


            **Example:** <code>"logo_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>   
          example: ''
        logo_position:
          type: string
          description: >-
            The corner of the player in which you want the player logo to
            appear. The default is **top-left**.


            **Example:** <code>"logo_position": "top-right"</code>
          example: ''
          enum:
            - top-left
            - top-right
            - bottom-left
            - bottom-right
        responsive:
          type: boolean
          description: >-
            A player whose size adjusts according to the device on which it's
            being viewed. If **true**, creates a responsive player. If
            **false**, specify a *player_width*.


             **Example:** <code>"type": false</code>
          example: ''
        type:
          type: string
          description: >-
            The player you want to use.


            **Wowza Video subscribers**</br> Wowza Flowplayer (wowza_flowplayer)
            is the only valid option. You're a subscriber if you have access to
            Asset Management and Historic and Live Analytics in the user
            interface.


            The Wowza Flowplayer is an easy-to-use, commercial grade player
            designed for builders and developers. It provides HTML5, HLS, and
            MPEG-DASH playback and plays streams on any browser and device. It
            can be
            [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
            if you embed it in your site.


            **Other subscribers**</br> original _html5 and wowza_player are the
            only valid options and original_html5 is the default.
            **original_html5** provides HTML5 playback and falls back to Flash
            on older browsers. **wowza_player** requires that
            *target_delivery_protocol* be **hls-https** and
            *closed_caption_type* be **none**.


            **Example:** <code>"type": "wowza_flowplayer"</code>
          example: ''
        video_poster_image:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG poster image that appears in the
            player before the stream begins. Poster image files must be 2.5 MB
            or smaller.


            **Example:** <code>"video_poster_image": "[Base64-encoded string
            representation of GIF, JPEG, or PNG file]"</code>
          example: ''
        width:
          type: integer
          description: >-
            The width, in pixels, of a fixed-size player. The default is
            **640**.


            **Example:** <code>"width": 640</code>
          example: ''
          format: int32
    live_stream_create_input:
      type: object
      description: ''
      required:
        - live_stream
      properties:
        live_stream:
          type: object
          title: live_stream
          description: ''
          required:
            - name
            - transcoder_type
            - billing_mode
            - broadcast_location
            - encoder
            - aspect_ratio_width
            - aspect_ratio_height
          properties:
            aspect_ratio_height:
              type: integer
              description: >-
                The height, in pixels, of the video source. Should correspond to
                a widescreen (16:9) or standard (4:3) aspect ratio and be
                divisible by 8. Combined with **aspect_ratio_width**, makes up
                the input resolution.
              example: 1080
              format: int32
            aspect_ratio_width:
              type: integer
              description: >-
                The width, in pixels, of the video source. Should correspond to
                a widescreen (16:9) or standard (4:3) aspect ratio and be
                divisible by 8. Combined with **aspect_ratio_height**, makes up
                the input resolution.
              example: 1920
              format: int32
            billing_mode:
              type: string
              description: >-
                The billing mode for the stream. The default is
                **pay_as_you_go**.



                **pay_as_you_go** — Billed as a single event. A single event is
                use-based and you incur charges for the time spent streaming.


                **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel
                is unlimited stream time for one channel. This billing mode
                doesn't incur overages, since it's unlimited.
              example: pay_as_you_go
              enum:
                - pay_as_you_go
                - twentyfour_seven
            broadcast_location:
              $ref: '#/components/schemas/broadcast_location'
            encoder:
              type: string
              description: >-
                The video source for the live stream. Choose the type of camera
                or encoder you're using to connect to the Wowza Video
                transcoder. If your specific device isn't listed, choose
                **ipcamera**, **other_rtmp**, or **other_rtsp**.
              example: other_webrtc
              enum:
                - wowza_clearcaster
                - wowza_gocoder
                - wowza_streaming_engine
                - media_ds
                - axis
                - epiphan
                - file
                - hauppauge
                - jvc
                - live_u
                - matrox
                - newtek_tricaster
                - osprey
                - sony
                - telestream_wirecast
                - teradek_cube
                - vmix
                - x_split
                - ipcamera
                - other_rtmp
                - other_rtsp
                - other_webrtc
                - other_udp
                - other_srt
            name:
              type: string
              description: A descriptive name for the live stream. Maximum 200 characters.
              example: My Live Stream
            transcoder_type:
              type: string
              description: >-
                The type of transcoder, either **transcoded** for streams that
                are transcoded into adaptive bitrate renditions or
                **passthrough** for streams that aren't processed by the
                transcoder. The default is **transcoded**.
              example: transcoded
              enum:
                - transcoded
                - passthrough
            closed_caption_type:
              type: string
              description: >-
                The type of closed caption data being passed from the source.
                The default, **none**, indicates that no data is being provided.
                **cea** indicates that a CEA closed captioning data stream is
                being provided. **on_text** indicates that an onTextData closed
                captioning data stream is being provided. **both** indicates
                that both CEA and onTextData closed captioning data streams are
                being provided.


                **Example:** <code>"closed_caption_type": "none"</code>
              example: none
              enum:
                - none
                - cea
                - on_text
                - both
            delivery_method:
              type: string
              description: >-
                The type of connection between the video source and the
                transcoder. The default, **push**, instructs the source to push
                the stream to the transcoder. **pull** instructs the transcoder
                to pull the video from the source. **cdn** uses a stream source
                to deliver the stream to the transcoder.


                Default: **push**


                **Example:** <code>"delivery_method": "pull"</code>
              example: push
              enum:
                - pull
                - cdn
                - push
            delivery_protocols:
              type: array
              description: >-
                An array of direct delivery protocols enabled for this live
                stream. By default, **rtmp**, **rtsp**, **webrtc**, and **wowz**
                are enabled.


                **Example:** See response body sample
              items:
                type: string
            disable_authentication:
              type: boolean
              description: >-
                Authentication is required by default for RTMP and RTSP push
                connections from a video source to Wowza Video. Specify **true**
                to disable authentication with the video source.


                **Example:** <code>"disable_authentication": false</code>
              example: false
            hosted_page:
              $ref: '#/components/schemas/hosted_page_request_object_create'
            low_latency:
              type: boolean
              description: >-
                For streams whose *target_delivery_protocol* is **hls-https**.
                If **true**, turns off incoming and sort packet buffers and
                delivers smaller video packets to the player, which can reduce
                latency as long as networks can handle the increased overhead.
                The default is **false**.


                 **Example:** <code>"low_latency": false</code>
              example: false
            password:
              type: string
              description: >-
                A password for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"password": 68332313</code>
              example: '68332313'
            player:
              $ref: '#/components/schemas/player_request_object_create'
            recording:
              type: boolean
              description: >-
                If **true**, creates a recording of the live stream. The
                recording starts when the live stream starts and stops
                automatically when the live stream stops.


                Recordings created from a live stream capture up to eight hours
                of content. If a live stream runs for longer than eight hours,
                the most recent eight hours are recorded. To record more than
                eight hours of a single broadcast, stop the live stream and
                start it again to create multiple recordings.


                Default: **false**


                > **Note**: If **save_asset** is **true**, that field overrides
                a true **recording** value and the asset is saved in Asset
                Management.


                **Example:** <code>"recording": true</code>
              example: true
            reference_id:
              type: string
              description: >-
                A unique, alphanumeric ID returned in transcoder webhook
                payloads. Setting a *reference_id* is useful if you have an ID
                in your system or application you want to associate with
                transcoder events that trigger webhooks. Maximum 70 characters.
                Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|


                You can't use brackets or quotation marks.


                See <a
                href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
                Video Webhook Event Reference Documentation</a> to learn about
                webhooks.


                Available from version 1.7.


                **Example:** <code>"reference_id": "mySystemID_01"</code>
              example: mySystemID_01
            save_asset:
              type: boolean
              description: >-
                If **true**, saves an MP4 recording and a VOD asset in Asset
                Management. The default is **false**. You can't set
                **save_asset** for a live stream created from re-streaming an
                asset in Asset Management.

                > **Note**: If this value is true, **recording** and/or
                **vod_stream** are set to false. You need a Wowza Video
                subscription to access Asset Management.


                Available from version 1.8.


                **Example:** <code>"save_asset": true</code>
              example: true
            source_url:
              type: string
              description: >-
                For the *delivery_method* **pull** or *encoder* **file**.


                For **pull**, enter the URL of an IP camera or video encoder
                using an RTMP and RTSP pull connection to Wowza Video. Consult
                the camera or encoder documentation for the URL syntax.


                For **file**, enter the source file URL, including the protocol
                (http, https, gs, s3).



                **Example:** <code>"source_url":
                "xyz.streamlock.net/vod/mp4:Movie.mov"</code>
              example: xyz.streamlock.net/vod/mp4:Movie.mov
            target_delivery_protocol:
              type: string
              description: >-
                The type of stream being delivered from Wowza Video. The default
                and only valid value is **hls-https**.


                **Example:** <code>"target_delivery_protocol":
                "hls-https"</code>
              example: hls-https
              enum:
                - hls-https
            use_stream_source:
              type: boolean
              description: >-
                If **true**, uses a stream source to deliver the stream to Wowza
                Video. The default, **false**, pushes directly to Wowza Video.


                **Example:** <code>"use_stream_source": false</code>
              example: false
            username:
              type: string
              description: >-
                A user name for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"username": "client2"</code>
              example: client2
            vod_stream:
              type: boolean
              description: >-
                If **true**, creates a VOD stream after the live stream ends.
                The default is **false**. VOD streams require a Fastly stream
                target with HLS as a delivery protocol.

                > **Note**: If **save_asset** is **true**, that field overrides
                a true **vod_stream** value and the asset is saved in Asset
                Management.


                **Example:** <code>"vod_stream": true</code>
              example: true
      example:
        live_stream:
          aspect_ratio_height: 720
          aspect_ratio_width: 1280
          billing_mode: pay_as_you_go
          broadcast_location: us_west_oregon
          encoder: other_webrtc
          name: My Live Stream
          transcoder_type: transcoded
    hosted_page_response_object:
      type: object
      description: Configuration of the hosted page.
      properties:
        enabled:
          type: boolean
          description: >-
            A web page hosted by Wowza Video that includes a player for the live
            stream. The default, **true**, creates a hosted page. Specify
            **false** to not create a hosted web page.
          example: ''
        description:
          type: string
          description: >-
            A description that appears on the hosted page below the player.
            Can't include custom HTML, JavaScript, or other tags.
          example: ''
        logo_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG logo file that appears in the
            upper-left corner of the hosted page. Logo file must be 2.5 MB or
            smaller.
        sharing_icons:
          type: boolean
          description: >-
            Icons that let viewers share the stream on Facebook, Google+,
            Twitter, and by email. The default, **true**, includes sharing icons
            on the hosted page. Specify **false** to omit sharing icons.
          example: ''
        title:
          type: string
          description: >-
            A title for the page that appears above the player. Can't include
            custom HTML, JavaScript, or other tags.
          example: ''
        url:
          type: string
          description: >-
            The URL of the Wowza Video-hosted webpage that viewers can visit to
            watch the stream.
          example: ''
    player_response_object:
      type: object
      description: Configuration of the player.
      properties:
        countdown:
          type: boolean
          description: >-
            A clock that appears in the player before the event and counts down
            to the start of the stream. Specify **true** to display the
            countdown clock. The default is **false**.
          example: ''
        countdown_at:
          type: string
          description: >-
            The date and time that the event starts, used by the countdown
            clock. Specify **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour
            clock in UTC.
          example: ''
        embed_code:
          type: string
          description: >-
            The HTML code that can be used in an external webpage to host the
            Wowza Flowplayer.
          example: ''
        hls_playback_url:
          type: string
          description: >-
            The address that can be used to configure playback of the stream
            using the HLS protocol.
          example: ''
        id:
          type: string
          description: The unique alphanumeric string that identifies the player.
          example: ''
        logo_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG logo file that appears partially
            transparent in a corner of the player throughout playback. Logo file
            must be 2.5 MB or smaller.
          example: ''
        logo_position:
          type: string
          description: >-
            The corner of the player in which you want the player logo to
            appear. The default is **top-left**.
          example: ''
          enum:
            - top-left
            - top-right
            - bottom-left
            - bottom-right
        responsive:
          type: boolean
          description: >-
            A player whose size adjusts according to the device on which it's
            being viewed. If **true**, creates a responsive player. If
            **false**, specify a *player_width*.
          example: ''
        type:
          type: string
          description: >-
            The player you want to use.


            **Wowza Video subscribers**</br> Wowza Flowplayer (wowza_flowplayer)
            is the only valid option. You're a subscriber if you have access to
            Asset Management and Historic and Live Analytics in the user
            interface.


            The Wowza Flowplayer is an easy-to-use, commercial grade player
            designed for builders and developers. It provides HTML5, HLS, and
            MPEG-DASH playback and plays streams on any browser and device. It
            can be
            [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
            if you embed it in your site.


            **Other subscribers**</br> original _html5 and wowza_player are the
            only valid options and original_html5 is the default.
            **original_html5** provides HTML5 playback and falls back to Flash
            on older browsers. **wowza_player** requires that
            *target_delivery_protocol* be **hls-https** and
            *closed_caption_type* be **none**.
          example: ''
        video_poster_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG poster image that appears in the
            player before the stream begins. Poster image files must be 2.5 MB
            or smaller.
          example: ''
        width:
          type: integer
          description: >-
            The width, in pixels, of a fixed-size player. The default is
            **640**.
          example: ''
          format: int32
    live_stream:
      type: object
      description: ''
      properties:
        aspect_ratio_height:
          type: integer
          description: >-
            The height, in pixels, of the video source. Should correspond to a
            widescreen (16:9) or standard (4:3) aspect ratio and be divisible by
            8. Combined with **aspect_ratio_width**, makes up the input
            resolution.
          example: ''
          format: int32
        aspect_ratio_width:
          type: integer
          description: >-
            The width, in pixels, of the video source. Should correspond to a
            widescreen (16:9) or standard (4:3) aspect ratio and be divisible by
            8. Combined with **aspect_ratio_height**, makes up the input
            resolution.
          example: ''
          format: int32
        asset_id:
          type: string
          description: >-
            Only applies to live streams created from re-streaming an asset in
            Asset Management. The id for the asset associated with the
            re-streamed live stream. You can manage this asset in Asset
            Management.
        billing_mode:
          type: string
          description: >-

            The billing mode for the stream. The default is **pay_as_you_go**.


                    
            **pay_as_you_go** — Billed as a single event. A single event is
            use-based and you incur charges for the time spent streaming.
                
            **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel is
            unlimited stream time for one channel. This billing mode doesn't
            incur overages, since it's unlimited.
          example: ''
          enum:
            - pay_as_you_go
            - twentyfour_seven
        broadcast_location:
          $ref: '#/components/schemas/broadcast_location'
        closed_caption_type:
          type: string
          description: >-
            The type of closed caption data being passed from the source. The
            default, **none**, indicates that no data is being provided. **cea**
            indicates that a CEA closed captioning data stream is being
            provided. **on_text** indicates that an onTextData closed captioning
            data stream is being provided. **both** indicates that both CEA and
            onTextData closed captioning data streams are being provided.
          example: ''
          enum:
            - none
            - cea
            - on_text
            - both
        connection_code:
          type: string
          description: >-
            A six-character, alphanumeric string that allows certain encoders,
            including Wowza Streaming Engine and the Wowza GoCoder app, to
            connect with Wowza Video. The code can be used once and expires 24
            hours after it's created.
          example: ''
        connection_code_expires_at:
          type: string
          description: The date and time that the *connection_code* expires.
          example: ''
          format: date-time
        created_at:
          type: string
          description: The date and time that the live stream was created.
          example: ''
          format: date-time
        delivery_method:
          type: string
          description: >-
            The type of connection between the video source and the transcoder.
            The default, **push**, instructs the source to push the stream to
            the transcoder. **pull** instructs the transcoder to pull the video
            from the source. **cdn** uses a stream source to deliver the stream
            to the transcoder.
          example: ''
          enum:
            - pull
            - cdn
            - push
        delivery_protocols:
          type: array
          description: >-
            An array of direct delivery protocols enabled for this live stream.
            By default, **rtmp**, **rtsp**, **webrtc**, and **wowz** are
            enabled.
          items:
            type: string
        direct_playback_urls:
          type: object
          description: >-
            A list of direct playback URLs for the live stream's delivery
            protocols. Each protocol has a URL for the source and a URL for each
            output rendition.
          properties:
            delivery_protocol:
              type: array
              description: The name of the direct playback protocol.
              items:
                type: object
                title: direct_playback_url
                properties:
                  name:
                    type: string
                    description: |-
                      The name of the playback URL: **source**, **default**,
                       or the output rendition's resolution.
                    example: ''
                  output_id:
                    type: string
                    description: >-
                      Only for output rendition-based playback URLs, not source
                      playback URLs. The unique alphanumeric string that
                      identifies the output rendition.
                    example: dcxq5q6c
                  url:
                    type: string
                    description: The playback URL for the source or output rendition.
                    example: >-
                      https://abcdef.dev.entrypoint.video.wowza.com/app-B8P6K226/ngrp:43a23e5a_all/playlist.m3u8
                  application_name:
                    type: string
                    description: (WebRTC only) The application name for the WebRTC output.
                    example: ''
                  stream_name:
                    type: string
                    description: >-
                      (WebRTC only) The stream name for the WebRTC output
                      rendition.
                    example: ''
        encoder:
          type: string
          description: >-
            The video source for the live stream. Choose the type of camera or
            encoder you're using to connect to the Wowza Video transcoder. If
            your specific device isn't listed, choose **ipcamera**,
            **other_rtmp**, or **other_rtsp**.
          example: ''
          enum:
            - wowza_clearcaster
            - wowza_gocoder
            - wowza_streaming_engine
            - media_ds
            - axis
            - epiphan
            - file
            - hauppauge
            - jvc
            - live_u
            - matrox
            - newtek_tricaster
            - osprey
            - sony
            - telestream_wirecast
            - teradek_cube
            - vmix
            - x_split
            - ipcamera
            - other_rtmp
            - other_rtsp
            - other_webrtc
            - other_udp
            - other_srt
        hosted_page:
          $ref: '#/components/schemas/hosted_page_response_object'
        id:
          type: string
          description: The unique alphanumeric string that identifies the live stream.
          example: ''
        low_latency:
          type: boolean
          description: >-
            For streams whose *target_delivery_protocol* is **hls-https**. If
            **true**, turns off incoming and sort packet buffers and delivers
            smaller video packets to the player, which can reduce latency as
            long as networks can handle the increased overhead. The default is
            **false**.
          example: ''
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: ''
        playback_stream_name:
          type: string
          description: The stream name used in the direct playback URL.
          example: ''
        player:
          $ref: '#/components/schemas/player_response_object'
        recording:
          type: boolean
          description: >-
            If **true**, creates a recording of the live stream. The recording
            starts when the live stream starts and stops automatically when the
            live stream stops.


            Recordings created from a live stream capture up to eight hours of
            content.

            If a live stream runs for longer than eight hours, the most recent
            eight hours are recorded. To record more than eight hours of a
            single broadcast, stop the live stream and start it again to create
            multiple recordings.


            Default: **false**.


            > **Note**: If **save_asset** is **true**, that field overrides a
            true **recording** value and the asset is saved in Asset Management.
          example: ''
        reference_id:
          type: string
          description: >-
            A unique, alphanumeric ID returned in transcoder webhook payloads.
            Setting a *reference_id* is useful if you have an ID in your system
            or application you want to associate with transcoder events that
            trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z
            0-9 !@#$%^&*()-_+=:;,.?~|


            You can't use brackets or quotation marks.


            See <a
            href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
            Video Webhook Event Reference Documentation</a> to learn about
            webhooks.


            Available from version 1.7.
          example: ''
        save_asset:
          type: boolean
          description: >-
            If **true**, saves an MP4 recording and a VOD asset in Asset
            Management. The default is **false**. You can't set **save_asset**
            for a live stream created from re-streaming an asset in Asset
            Management.

            > **Note**: If this value is true, **recording** and/or
            **vod_stream** are set to false. You need a Wowza Video subscription
            to access Asset Management.


            Available from version 1.8.
        source_connection_information:
          type: object
          description: >-
            Details that you can use to manually configure and connect a video
            source to the live stream.
          example: ''
        stream_source_id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the stream source, if
            a stream source is used.
          example: ''
        stream_targets:
          type: array
          description: >-
            An array of unique alphanumeric strings that identify the stream
            targets used by the live stream.
          items:
            type: object
            title: stream_targets
            properties:
              id:
                type: string
                description: >-
                  The unique alphanumeric string that identifies the stream
                  target.
                example: dcxq5q6c
        target_delivery_protocol:
          type: string
          description: >-
            The type of stream being delivered from Wowza Video. The default and
            only valid value is **hls-https**.
          example: ''
          enum:
            - hls-https
        transcoder_type:
          type: string
          description: >-
            The type of transcoder, either **transcoded** for streams that are
            transcoded into adaptive bitrate renditions or **passthrough** for
            streams that aren't processed by the transcoder. The default is
            **transcoded**.
          example: ''
          enum:
            - transcoded
            - passthrough
        updated_at:
          type: string
          description: The date and time that the live stream was updated.
          example: ''
          format: date-time
        use_stream_source:
          type: boolean
          description: >-
            If **true**, uses a stream source to deliver the stream to Wowza
            Video. The default, **false**, pushes directly to Wowza Video.
          example: ''
        vod_stream:
          type: boolean
          description: >-
            If **true**, creates a VOD stream after the live stream ends. The
            default is **false**. VOD streams require a Fastly stream target
            with HLS as a delivery protocol.

            > **Note**: If **save_asset** is **true**, that field overrides a
            true **vod_stream** value and the asset is saved in Asset
            Management.
          example: ''
      example:
        aspect_ratio_height: 1080
        aspect_ratio_width: 1920
        billing_mode: pay_as_you_go
        broadcast_location: us_west_california
        closed_caption_type: cea
        connection_code: 0e15cb
        connection_code_expires_at: '2020-11-30T17:16:21.956Z'
        created_at: '2020-01-29T17:16:21.956Z'
        delivery_method: push
        delivery_protocols:
          - rtmp
          - rtsp
          - wowz
          - webrtc
        direct_playback_urls:
          rtmp:
            - name: source
              url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream6
          rtsp:
            - name: source
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
          wowz:
            - name: source
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
          webrtc:
            - name: source
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead
            - name: webrtc
              output_id: dcxq5q6c
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream6
        encoder: other_rtmp
        hosted_page:
          enabled: true
          description: My Hosted Page Description
          logo_image_url: >-
            https://prod.s3.amazonaws.com/uploads/player/hosted_page_logo_image/23424/5bad28.jpg
          sharing_icons: true
          title: My Hosted Page
          url: https://player.video.wowza.com/hosted/e8dk5bf6/player.html
        id: wdjfqvsv
        name: My PAYG Transcoded WSE Live Stream
        playback_stream_name: wxyz6789
        player:
          countdown: true
          countdown_at: '2020-02-01T17:00:00.000Z'
          embed_code: null
          hls_playback_url: >-
            https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8
          id: kwb6pwnv
          logo_image_url: >-
            https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg
          logo_position: top-right
          responsive: false
          type: wowza_flowplayer
          video_poster_image_url: >-
            https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg
          width: 640
        recording: true
        reference_id: mySystemID_01
        save_asset: false
        stream_source_id: 5skrfpyf
        stream_targets:
          - id: klbmg2h8
          - id: bnjtdmmc
        target_delivery_protocol: hls-https
        transcoder_type: transcoded
        updated_at: '2020-01-31T06:12:39.956Z'
        use_stream_source: true
        vod_stream: true
    Error422:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 422
            code: ERR-422-RecordInvalid
            title: Record Invalid Error
            message: The request couldn't be processed. ... can't be blank
            description: ''
            links: []
        Example Response 2:
          meta:
            status: 422
            code: ERR-422-RecordInvalid
            title: Record Invalid Error
            message: >-
              The request couldn't be processed. Provider wowza_video is not
              allowed
            description: ''
            links: []
    Error403:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 403
            code: ERR-403-RecordUnaccessible
            title: Record Unaccessible Error
            message: The requested resource isn't accessible.
            description: ''
            links: []
    Error404:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 404
            code: ERR-404-RecordNotFound
            title: Record Not Found Error
            message: The requested resource couldn't be found.
            description: ''
            links: []
    Error410:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 410
            code: ERR-410-RecordDeleted
            title: Record Deleted Error
            message: The requested resource has been deleted.
            description: ''
            links: []
    live_stream_update_input:
      type: object
      description: ''
      required:
        - live_stream
      properties:
        live_stream:
          type: object
          title: live_stream
          description: ''
          properties:
            aspect_ratio_height:
              type: integer
              description: >-
                The height, in pixels, of the video source. Should correspond to
                a widescreen (16:9) or standard (4:3) aspect ratio and be
                divisible by 8. Combined with **aspect_ratio_width**, makes up
                the input resolution.


                **Example:** <code>"aspect_ratio_height": 1080</code>
              example: 1080
              format: int32
            aspect_ratio_width:
              type: integer
              description: >-
                The width, in pixels, of the video source. Should correspond to
                a widescreen (16:9) or standard (4:3) aspect ratio and be
                divisible by 8. Combined with **aspect_ratio_height**, makes up
                the input resolution.


                **Example:** <code>"aspect_ratio_width": 1920</code>
              example: 1920
              format: int32
            encoder:
              type: string
              description: >-
                The video source for the live stream. Choose the type of camera
                or encoder you're using to connect to the Wowza Video
                transcoder. If your specific device isn't listed, choose
                **ipcamera**, **other_rtmp**, or **other_rtsp**.


                **Example:** <code>"encoder": "other_rtmp"</code>
              example: other_rtmp
              enum:
                - wowza_clearcaster
                - wowza_gocoder
                - wowza_streaming_engine
                - media_ds
                - axis
                - epiphan
                - file
                - hauppauge
                - jvc
                - live_u
                - matrox
                - newtek_tricaster
                - osprey
                - sony
                - telestream_wirecast
                - teradek_cube
                - vmix
                - x_split
                - ipcamera
                - other_rtmp
                - other_rtsp
                - other_webrtc
                - other_udp
                - other_srt
            name:
              type: string
              description: |-
                A descriptive name for the live stream. Maximum 200 characters.

                **Example:** <code>"name": "My Updated Live Stream"</code>
              example: My Live Stream
            closed_caption_type:
              type: string
              description: >-
                The type of closed caption data being passed from the source.
                The default, **none**, indicates that no data is being provided.
                **cea** indicates that a CEA closed captioning data stream is
                being provided. **on_text** indicates that an onTextData closed
                captioning data stream is being provided. **both** indicates
                that both CEA and onTextData closed captioning data streams are
                being provided.


                **Example:** <code>"closed_caption_type": "cea"</code>
              example: cea
              enum:
                - none
                - cea
                - on_text
                - both
            delivery_method:
              type: string
              description: >-
                The type of connection between the video source and the
                transcoder. The default, **push**, instructs the source to push
                the stream to the transcoder. **pull** instructs the transcoder
                to pull the video from the source. **cdn** uses a stream source
                to deliver the stream to the transcoder.


                **Example:** <code>"delivery_method": "pull"</code>
              example: push
              enum:
                - pull
                - cdn
                - push
            delivery_protocols:
              type: array
              description: >-
                An array of direct delivery protocols enabled for this live
                stream. By default, **rtmp**, **rtsp**, **webrtc**, and **wowz**
                are enabled.


                **Example:** See response body sample
              items:
                type: string
            disable_authentication:
              type: boolean
              description: >-
                Authentication is required by default for RTMP and RTSP push
                connections from a video source to Wowza Video. Specify **true**
                to disable authentication with the video source.


                **Example:** <code>"disable_authentication": false</code>
              example: false
            hosted_page:
              $ref: '#/components/schemas/hosted_page_request_object'
            password:
              type: string
              description: >-
                A password for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"password": 68332313</code>
              example: '68332313'
            player:
              $ref: '#/components/schemas/player_request_object'
            recording:
              type: boolean
              description: >-
                If **true**, creates a recording of the live stream. The
                recording starts when the live stream starts and stops
                automatically when the live stream stops.


                Recordings created from a live stream capture up to eight hours
                of content. If a live stream runs for longer than eight hours,
                the most recent eight hours are recorded. To record more than
                eight hours of a single broadcast, stop the live stream and
                start it again to create multiple recordings.


                Default: **false**


                > **Note**: If **save_asset** is **true**, that field overrides
                a true **recording** value and the asset is saved in Asset
                Management.


                **Example:** <code>"recording": true</code>
              example: true
            reference_id:
              type: string
              description: >-
                A unique, alphanumeric ID returned in transcoder webhook
                payloads. Setting a *reference_id* is useful if you have an ID
                in your system or application you want to associate with
                transcoder events that trigger webhooks. Maximum 70 characters.
                Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|


                You can't use brackets or quotation marks.


                See <a
                href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
                Video Webhook Event Reference Documentation</a> to learn about
                webhooks.


                Available from version 1.7.


                **Example:** <code>"reference_id": "mySystemID_01"</code>
              example: mySystemID_01
            save_asset:
              type: boolean
              description: >-
                If **true**, saves an MP4 recording and a VOD asset in Asset
                Management. The default is **false**. You can't set
                **save_asset** for a live stream created from re-streaming an
                asset in Asset Management

                > **Note**: If this value is true, **recording** and/or
                **vod_stream** are set to false. You need a Wowza Video
                subscription to access Asset Management.


                Available from version 1.8.


                **Example:** <code>"save_asset": true</code>
            source_url:
              type: string
              description: >-
                For the *delivery_method* **pull** or *encoder* **file**.


                For **pull**, enter the URL of an IP camera or video encoder
                using an RTMP and RTSP pull connection to Wowza Video. Consult
                the camera or encoder documentation for the URL syntax.


                For **file**, enter the source file URL, including the protocol
                (http, https, gs, s3).



                **Example:** <code>"source_url":
                "xyz.streamlock.net/vod/mp4:Movie.mov"</code>
              example: xyz.streamlock.net/vod/mp4:Movie.mov
            target_delivery_protocol:
              type: string
              description: >-
                The type of stream being delivered from Wowza Video. The default
                and only valid value is **hls-https**.


                **Example:** <code>"target_delivery_protocol":
                "hls-https"</code>
              example: hls-https
              enum:
                - hls-https
            use_stream_source:
              type: boolean
              description: >-
                If **true**, uses a stream source to deliver the stream to Wowza
                Video. The default, **false**, pushes directly to Wowza Video.


                **Example:** <code>"use_stream_source": false</code>
              example: false
            username:
              type: string
              description: >-
                A user name for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"username": "client2"</code>
              example: client2
            vod_stream:
              type: boolean
              description: >-
                If **true**, creates a VOD stream after the live stream ends.
                The default is **false**.VOD streams require a Fastly stream
                target with HLS as a delivery protocol.

                > **Note**: If **save_asset** is **true**, that field overrides
                a true **vod_stream** value and the asset is saved in Asset
                Management.


                **Example:** <code>"vod_stream": true</code>
              example: true
      example:
        live_stream:
          name: My Updated Live Stream
          recording: true
    audio_codec_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: ''
        value:
          type: string
          description: The value of the associated key.
          example: aac
    bits_in_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: Kbps
        value:
          type: number
          description: The value of the associated key.
          example: 317.3
          format: float
    bits_out_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: Kbps
        value:
          type: number
          description: The value of the associated key.
          example: 856
          format: float
    bytes_in_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: KBps
        value:
          type: number
          description: The value of the associated key.
          example: 317.3
          format: float
    bytes_out_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: KBps
        value:
          type: number
          description: The value of the associated key.
          example: 856
          format: float
    configured_bytes_out_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: warning
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: >-
            Outbound bitrate is lower than the configured bitrate. There might
            be a problem with the stream targets.
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: Kbps
        value:
          type: integer
          description: The value of the associated key.
          example: 8192
    connected_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: ''
        value:
          type: string
          description: The value of the associated key.
          example: 'Yes'
    frame_size_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: warning
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: >-
            Configured frame size is different from what Wowza Video is
            receiving from the source: 1280x720.
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: ''
        value:
          type: string
          description: The value of the associated key.
          example: 1280x720
    frame_rate_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: FPS
        value:
          type: integer
          description: The value of the associated key.
          example: 30
    height_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: warning
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: >-
            Configured height is different from what Wowza Video is receiving
            from the source: 720.
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: px
        value:
          type: integer
          description: The value of the associated key.
          example: 720
    keyframe_interval_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: GOP
        value:
          type: integer
          description: The value of the associated key.
          example: 69
    stream_target_status_OUTPUTIDX_STREAMTARGETIDX_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: ''
        value:
          type: string
          description: The value of the associated key.
          example: Active
    unique_views_metric:
      type: object
      description: |-
        The number of unique viewers in the last 5 minutes.
        > **Note:** This parameter only returns data for Fastly stream targets.
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: '%'
        value:
          type: integer
          description: The value of the associated key.
          example: 1030
    video_codec_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: normal
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: ''
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: ''
        value:
          type: string
          description: >-
            The value of the associated key.


            <blockquote>Note: You might see avc1 or h264 returned
            interchangeably.</blockquote>
          example: h264
    width_metric:
      type: object
      description: ''
      properties:
        status:
          type: string
          description: >-
            The status of the current key. Possible values are **normal**
            (everything is fine), **warning** (something may be misconfigured),
            and **no_data** (no data was returned, perhaps because the instance
            isn't running).
          example: warning
        text:
          type: string
          description: >-
            A message related to the value and status of the current key.
            Usually blank unless there's a warning status.
          example: >-
            Configured width is different from what Wowza Video is receiving
            from the source: 1280.
        units:
          type: string
          description: >-
            The unit of the returned value, such as **Kbps**, **bps**, **%**,
            **FPS**, or **GOP**.
          example: px
        value:
          type: integer
          description: The value of the associated key.
          example: 1280
    shm_metrics:
      type: object
      description: ''
      properties:
        audio_codec:
          $ref: '#/components/schemas/audio_codec_metric'
        bits_in_rate:
          $ref: '#/components/schemas/bits_in_rate_metric'
        bits_out_rate:
          $ref: '#/components/schemas/bits_out_rate_metric'
        bytes_in_rate:
          $ref: '#/components/schemas/bytes_in_rate_metric'
        bytes_out_rate:
          $ref: '#/components/schemas/bytes_out_rate_metric'
        configured_bytes_out_rate:
          $ref: '#/components/schemas/configured_bytes_out_rate_metric'
        connected:
          $ref: '#/components/schemas/connected_metric'
        frame_size:
          $ref: '#/components/schemas/frame_size_metric'
        frame_rate:
          $ref: '#/components/schemas/frame_rate_metric'
        height:
          $ref: '#/components/schemas/height_metric'
        keyframe_interval:
          $ref: '#/components/schemas/keyframe_interval_metric'
        stream_target_status_OUTPUTIDX_STREAMTARGETIDX:
          $ref: >-
            #/components/schemas/stream_target_status_OUTPUTIDX_STREAMTARGETIDX_metric
        unique_views:
          $ref: '#/components/schemas/unique_views_metric'
        video_codec:
          $ref: '#/components/schemas/video_codec_metric'
        width:
          $ref: '#/components/schemas/width_metric'
    index_player:
      type: object
      title: players
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the player was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the player.
          example: ''
        transcoder_id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        type:
          type: string
          description: >-
            The player you want to use.


             **Wowza Video subscribers**</br>
            Wowza Flowplayer (wowza_flowplayer) is the only valid option. You're
            a subscriber if you have access to Asset Management and Historic and
            Live Analytics in the user interface.


            The Wowza Flowplayer is an easy-to-use, commercial grade player
            designed for builders and developers. It provides HTML5, HLS, and
            MPEG-DASH playback and plays streams on any browser and device. It
            can be
            [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
            if you embed it in your site.


            **Other subscribers**</br> original _html5 and wowza_player are the
            only valid options and original_html5 is the default.
            **original_html5** provides HTML5 playback and falls back to Flash
            on older browsers. **wowza_player** requires that
            *target_delivery_protocol* be **hls-https** and
            *closed_caption_type* be **none**.
          example: ''
        updated_at:
          type: string
          description: The date and time that the player was updated.
          example: ''
          format: date-time
    players:
      type: object
      description: ''
      required:
        - players
      properties:
        players:
          type: array
          description: ''
          example: ''
          items:
            $ref: '#/components/schemas/index_player'
      example:
        players:
          - created_at: '2020-01-29T17:16:21.968Z'
            id: e8dk5bf6
            transcoder_id: 6Qbymbbq
            type: wowza_flowplayer
            updated_at: '2020-01-31T07:42:03.968Z'
          - created_at: '2020-01-29T17:16:21.968Z'
            id: s3jmdnbl
            transcoder_id: 3kbb0hvf
            type: wowza_flowplayer
            updated_at: '2020-01-31T02:22:29.968Z'
    player:
      type: object
      description: ''
      properties:
        countdown:
          type: boolean
          description: >-
            A clock that appears in the player before the event and counts down
            to the start of the stream. Specify **true** to display the
            countdown clock. The default is **false**.
          example: ''
        countdown_at:
          type: string
          description: >-
            The date and time that the event starts, used by the countdown
            clock. Enter **YYYY-MM-DD HH:MM:SS** where **HH** is a 24-hour clock
            in UTC.
          example: ''
          format: date-time
        created_at:
          type: string
          description: The date and time that the player was created.
          example: ''
          format: date-time
        embed_code:
          type: string
          description: >-
            The HTML code that can be used in an external webpage to host the
            Wowza Flowplayer.
          example: ''
        hls_playback_url:
          type: string
          description: >-
            The address that can be used to configure playback of the stream
            using the HLS protocol.
          example: ''
        hosted_page:
          $ref: '#/components/schemas/hosted_page_response_object'
        id:
          type: string
          description: The unique alphanumeric string that identifies the player.
          example: ''
        logo_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG logo file that appears partially
            transparent in a corner of the player throughout playback. Logo file
            must be 2.5 MB or smaller.
          example: ''
        logo_position:
          type: string
          description: >-
            The corner of the player in which you want the player logo to
            appear. The default is **top-left**.
          example: ''
        responsive:
          type: boolean
          description: >-
            A player whose size adjusts according to the device on which it's
            being viewed. If **true**, creates a responsive player. If
            **false**, specify a **width**.
          example: ''
        transcoder_id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        type:
          type: string
          description: >-
            The player you want to use.


            **Wowza Video subscribers**</br> Wowza Flowplayer (wowza_flowplayer)
            is the only valid option. You're a subscriber if you have access to
            Asset Management and Historic and Live Analytics in the user
            interface.


            The Wowza Flowplayer is an easy-to-use, commercial grade player
            designed for builders and developers. It provides HTML5, HLS, and
            MPEG-DASH playback and plays streams on any browser and device. It
            can be
            [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
            if you embed it in your site.


            **Other subscribers**</br> original _html5 and wowza_player are the
            only valid options and original_html5 is the default.
            **original_html5** provides HTML5 playback and falls back to Flash
            on older browsers. **wowza_player** requires that
            *target_delivery_protocol* be **hls-https** and
            *closed_caption_type* be **none**.
          example: ''
        updated_at:
          type: string
          description: The date and time that the player was updated.
          example: ''
          format: date-time
        video_poster_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG poster image that appears in the
            player before the stream begins. Poster image files must be 2.5 MB
            or smaller.
          example: ''
        width:
          type: integer
          description: >-
            The width, in pixels, of a fixed-size player. The default is
            **640**.
          example: ''
          format: int32
      example:
        countdown: true
        countdown_at: '2020-02-01T17:00:00.000Z'
        created_at: '2020-01-29T17:16:21.968Z'
        embed_code: null
        hls_playback_url: >-
          https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8
        hosted_page:
          enabled: true
          description: My Hosted Page Description
          logo_image_url: >-
            https://prod.s3.amazonaws.com/uploads/player/hosted_page_logo_image/23424/5bad28.jpg
          sharing_icons: false
          title: My Hosted Page
          url: https://player.video.wowza.com/hosted/e8dk5bf6/player.html
        id: e8dk5bf6
        logo_image_url: >-
          https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg
        logo_position: top-right
        responsive: false
        transcoder_id: 6Qbymbbq
        type: wowza_flowplayer
        updated_at: '2020-01-31T16:08:26.990Z'
        video_poster_image_url: >-
          https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg
        width: 640
    player_update_input:
      type: object
      description: ''
      required:
        - player
      properties:
        player:
          type: object
          title: player
          description: ''
          properties:
            countdown:
              type: boolean
              description: >-
                A clock that appears in the player before the event and counts
                down to the start of the stream. Specify **true** to display the
                countdown clock. The default is **false**.


                **Example:** <code>"countdown": true</code>
              example: true
            countdown_at:
              type: string
              description: >-
                The date and time that the event starts, used by the countdown
                clock. Enter **YYYY-MM-DD HH:MM:SS** where **HH** is a 24-hour
                clock in UTC.


                **Example:** <code>"countdown_at":
                "2020-02-01T17:00:00.000Z"</code>
              example: '2020-02-01T17:00:00.000Z'
              format: date-time
            hosted_page:
              $ref: '#/components/schemas/hosted_page_request_object'
            logo_image:
              type: string
              description: >-
                A Base64-encoded string representation of a GIF, JPEG, or PNG
                logo file that appears partially transparent in a corner of the
                player throughout playback. Logo file must be 2.5 MB or smaller.


                **Example:** <code>"logo_image": "[Base64-encoded string
                representation of an image]"</code>
              example: '[Base64-encoded string representation of an image]'
            logo_position:
              type: string
              description: >-
                The corner of the player in which you want the player logo to
                appear. The default is **top-left**.


                **Example:** <code>"logo_position": "top-left"</code>
              example: top-left
            remove_logo_image:
              type: boolean
              description: >-
                If **true**, removes the logo file from the output. The default
                is **false**.


                **Example:** <code>"remove_logo_image": true</code>
              example: true
            remove_video_poster_image:
              type: boolean
              description: >-
                If **true**, removes the poster image from the output. The
                default is **false**.


                **Example:** <code>"remove_video_poster_image": true</code>
              example: true
            responsive:
              type: boolean
              description: >-
                A player whose size adjusts according to the device on which
                it's being viewed. If **true**, creates a responsive player. If
                **false**, specify a **width**.


                **Example:** <code>"responsive": true</code>
              example: false
            type:
              type: string
              description: >-
                The player you want to use.


                **Wowza Video subscribers**</br> Wowza Flowplayer
                (wowza_flowplayer) is the only valid option. You're a subscriber
                if you have access to Asset Management and Historic and Live
                Analytics in the user interface.


                The Wowza Flowplayer is an easy-to-use, commercial grade player
                designed for builders and developers. It provides HTML5, HLS,
                and MPEG-DASH playback and plays streams on any browser and
                device. It can be
                [customized](https://www.wowza.com/docs/embed-and-customize-wowza-flowplayer-in-your-site)
                if you embed it in your site.


                > **Note**: If you update a live stream from **original_html5**
                or **wowza_player** to **wowza_flowplayer**, it cannot be
                changed later.


                **Other subscribers**</br> original _html5 and wowza_player are
                the only valid options and original_html5 is the default.
                **original_html5** provides HTML5 playback and falls back to
                Flash on older browsers. **wowza_player** requires that
                *target_delivery_protocol* be **hls-https** and
                *closed_caption_type* be **none**.


                **Example:** <code>"type": "wowza_flowplayer"</code>
              example: wowza_flowplayer
            video_poster_image:
              type: string
              description: >-
                A Base64-encoded string representation of a GIF, JPEG, or PNG
                poster image that appears in the player before the stream
                begins. Poster image files must be 2.5 MB or smaller.


                **Example:** <code>"video_poster_image": "[Base64-encoded string
                representation of an image]"</code>
              example: '[Base64-encoded string representation of an image]'
            width:
              type: integer
              description: >-
                The width, in pixels, of a fixed-size player. The default is
                **640**.


                **Example:** <code>"width": 640</code>
              example: 640
              format: int32
      example:
        player:
          hosted_page:
            title: My Updated Hosted Page
          responsive: true
    url:
      type: object
      description: ''
      properties:
        bitrate:
          type: integer
          description: >-
            The video bitrate, in kilobits per second (Kbps), of the output
            rendition that will be played at the URL. May correspond to the
            bitrate of an output rendition being used by the live stream or
            transcoder. Must be greater than **0**.
          example: ''
          format: int32
        created_at:
          type: string
          description: The date and time that the player URL was created.
          example: ''
          format: date-time
        height:
          type: integer
          description: >-
            The height, in pixels, of the output rendition that will be played
            at the URL. May correspond to the height of an output rendition
            being used by the live stream or transcoder. Must be greater than
            **0**.
          example: ''
          format: int32
        id:
          type: string
          description: The unique alphanumeric string that identifies the player URL.
          example: ''
        label:
          type: string
          description: A descriptive name for the player URL. Maximum 255 characters.
          example: ''
        player_id:
          type: string
          description: The unique alphanumeric string that identifies the player.
          example: ''
        updated_at:
          type: string
          description: The date and time that the player URL was updated.
          example: ''
          format: date-time
        url:
          type: string
          description: >-
            The URL of the player. If using a Wowza CDN target, the URL format
            is
            `http://wowzasubdomain-f.akamaihd.net/i/stream_name_angle@stream_id/master.m3u8`
            for HLS playback.
          example: ''
        width:
          type: integer
          description: >-
            The width, in pixels, of the output rendition that will be played at
            the URL. May correspond to the width of an output rendition being
            used by the live stream or transcoder. Must be greater than **0**.
          example: ''
          format: int32
      example:
        bitrate: 4138
        height: 1080
        id: w9vJm3BJ
        label: '1920'
        player_id: Jm1tPblTJm1t
        url: http://someurl.com/some/path/to/a/stream.m3u8
        width: 1920
    urls:
      type: object
      description: ''
      required:
        - urls
      properties:
        urls:
          type: array
          items:
            $ref: '#/components/schemas/url'
      example:
        urls:
          - bitrate: 4138
            height: 1080
            id: w9vJm3BJ
            label: '1920'
            player_id: Jm1tPblTJm1t
            url: http://someurl.com/some/path/to/a/stream.m3u8
            width: 1920
          - bitrate: 4138
            height: 1080
            id: PPqV0kcm
            label: iPhone
            player_id: Jm1tPblTJm1t
            transcoder_id: yjCVYf5l
            url: http://someurl.com/some/path/to/a/stream.m3u8
            width: 1920
    url_input:
      type: object
      description: ''
      required:
        - url
      properties:
        url:
          type: object
          title: url
          description: ''
          properties:
            bitrate:
              type: integer
              description: >-
                The video bitrate, in kilobits per second (Kbps), of the output
                rendition that will be played at the URL. May correspond to the
                bitrate of an output rendition being used by the live stream or
                transcoder. Must be greater than **0**.
              example: 4128
              format: int32
            height:
              type: integer
              description: >-
                The height, in pixels, of the output rendition that will be
                played at the URL. May correspond to the height of an output
                rendition being used by the live stream or transcoder. Must be
                greater than **0**.
              example: 1080
              format: int32
            label:
              type: string
              description: A descriptive name for the player URL. Maximum 255 characters.
              example: '1920'
            url:
              type: string
              description: >-
                The URL of the player. If using a Wowza CDN target, the URL
                format is
                `http://wowzasubdomain-f.akamaihd.net/i/stream_name_angle@stream_id/master.m3u8`
                for HLS playback.
              example: http://somedomain.com/path/to/stream.m3u8
            width:
              type: integer
              description: >-
                The width, in pixels, of the output rendition that will be
                played at the URL. May correspond to the width of an output
                rendition being used by the live stream or transcoder. Must be
                greater than **0**.
              example: 1920
              format: int32
    url_create_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/url_input'
    url_update_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/url_input'
    index_asset:
      type: object
      title: assets
      description: ''
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the asset. Maximum 200 characters.
          example: MyAsset
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMT HH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_."
          example: ''
          format: date-time
        updated_at:
          type: string
          description: "The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMT HH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_."
          example: '2022-02-26T01:38:40.310Z'
          format: date-time
        playback_enabled:
          type: boolean
          description: Specifies whether playback is enabled for an asset.
        thumbnail_url:
          type: string
          description: The URL to receive the preview thumbnail.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg
        state:
          type: string
          description: The state of the asset.
          example: completed
          enum:
            - uploading
            - processing
            - completed
            - failed
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: '100.0'
        file_size:
          type: integer
          description: >-
            The file size of the asset in bytes. For example, 2372820 bytes
            equals 2.4 megabytes.
          example: ''
          format: int64
        playback_url:
          type: string
          description: The address that can be used to configure playback of the stream.
          example: ''
        download_url:
          type: string
          description: The URL that can be used to download the asset as a .MP4 file.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
        file_name:
          type: string
          description: >-
            The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
    assets:
      type: object
      description: ''
      required:
        - assets
      properties:
        assets:
          type: array
          items:
            $ref: '#/components/schemas/index_asset'
      example:
        assets:
          - id: wdjfqvsv
            name: MyAsset
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T16:06:47.849Z'
            playback_enabled: true
            thumbnail_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg.jpg
            state: completed
            processing_percentage: 0.1
            file_size: 1570024
            playback_url: >-
              https://wowzasubdomain/1/RmlPcnpsM0Z1Nzd2/SFhkUXlv/hls/live/playlist.m3u8
            download_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
            file_name: MyFile.mp4
          - id: KyxWKtHQ
            name: MyAsset2
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T02:26:05.849Z'
            playback_enabled: true
            thumbnail_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg.jpg
            state: completed
            processing_percentage: 0.3
            file_size: 70284
            playback_url: >-
              https://wowzasubdomain/1/U0VmOU90TmtvSzJP/Y2ltUkl2/hls/live/playlist.m3u8
            download_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset2.mp4
            file_name: MyFile2.mp4
          - id: Ly40ZDSg
            name: MyAsset3
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-30T18:13:18.849Z'
            playback_enabled: true
            thumbnail_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg.jpg
            state: completed
            processing_percentage: 0
            file_size: 882391
            playback_url: >-
              https://wowzasubdomain/1/PmlPcnpsM0Z1Nzd2/SFhkUXlv/hls/live/playlist.m3u8
            download_url: >-
              https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset3.mp4
            file_name: MyFile3.mp4
    asset_create_input:
      type: object
      description: ''
      properties:
        asset:
          type: object
          title: asset
          description: ''
          required:
            - file_name
          properties:
            file_name:
              type: string
              description: >-
                The name of the mp4 file you are uploading.


                <blockquote><strong>Note:</strong> To avoid file management
                issues in storage, Wowza Video removes or replaces special
                characters in file names.</blockquote>
              example: MyAsset.mp4
      example:
        asset:
          file_name: MyAsset.mp4
    asset_create_output:
      type: object
      description: ''
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the asset. Use this ID to perform other
            operations on the stream, like getting the details of the asset or
            deleting it.
          example: wdjfqvsv
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMT HH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset."
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        file_name:
          type: string
          description: >-
            The name of the mp4 file you are uploading.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
        upload_url:
          type: string
          description: >-
            The upload location for the asset. Use this URL to upload the .mp4
            assets to the Wowza Video Asset Manager.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/p/k9bGRcyPFPtdeQeTRgAVTByIVVS0Z_EKrLBu3TusTrRfBuIpoDyio_ZY3qJM55tp/n/a1b2c3d4e5f6/b/recordings-qa-S7I69eYn/o/uploads/recording_bry7vv0s/MyAsset.mp4
      example:
        id: 2adffc17
        created_at: '2021-06-30T18:02:20.000Z'
        file_name: MyAsset.mp4
        upload_url: >-
          https://objectstorage.us-ashburn-1.oraclecloud.com/p/k9bGRcyPFPtdeQeTRgAVTByIVVS0Z_EKrLBu3TusTrRfBuIpoDyio_ZY3qJM55tp/n/a1b2c3d4e5f6/b/recordings-qa-S7I69eYn/o/uploads/recording_bry7vv0s/MyAsset.mp4
    renditions:
      type: object
      description: ''
      properties:
        height:
          type: integer
          description: >-
            The height, in pixels, of the output rendition. Should correspond to
            a widescreen or standard aspect ratio and be divisible by 8. The
            default is **1080**.
          example: ''
          format: int32
        width:
          type: integer
          description: >-
            The width, in pixels, of the output rendition. Should correspond to
            a widescreen or standard aspect ratio and be divisible by 8. The
            default is **1920**.
          example: ''
          format: int32
        bitrate_kbps:
          type: integer
          description: >-
            The video bitrate, in kilobits per second (Kbps). Must be between
            **1** and **10240**. The default is **4000**.
          example: ''
          format: int32
      example:
        height: 480
        width: 848
        bitrate_kbps: 1600
    asset:
      type: object
      description: ''
      properties:
        available_renditions:
          type: array
          description: The renditions available for the asset.
          items:
            $ref: '#/components/schemas/renditions'
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: My Asset
        description:
          type: string
          description: A description of the asset. Maximum 16,000 characters.
          example: My Asset Description
        playback_enabled:
          type: boolean
          description: Specifies whether playback is enabled for an asset.
        tags:
          type: array
          description: A list of tags associated with the asset.
          example:
            - Tag1
            - Tag2
            - Tag3
        upload_url:
          type: string
          description: >-
            The upload location for the asset. Use this URL to upload the .mp4
            assets to the Wowza Video Asset Manager.


            Only returned when the asset is in the **uploading** state, and
            returns a new upload URL. Useful if the previous upload URL expired
            and you need a new one.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/p/k9bGRcyPFPtdeQeTRgAVTByIVVS0Z_EKrLBu3TusTrRfBuIpoDyio_ZY3qJM55tp/n/a1b2c3d4e5f6/b/recordings-qa-S7I69eYn/o/uploads/recording_bry7vv0s/MyAsset.mp4
        vod_stream_id:
          type: string
          description: >-
            An ID for the VOD. You can use this to fetch additional information
            about the VOD stream associated with the asset, such as the size of
            only the VOD stream.
          example: l9qsbwvf
        recording_id:
          type: string
          description: >-
            An ID for the recording. You can use this to fetch additional
            information about the recording associated with the asset.
          example: l8qsbwvu
        state:
          type: string
          description: The state of the asset.
          example: completed
          enum:
            - uploading
            - processing
            - completed
            - failed
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset."
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        updated_at:
          type: string
          description: "The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_"
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        download_url:
          type: string
          description: The URL that can be used to download the asset as a .MP4 file.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
        file_size:
          type: integer
          description: >-
            The file size of the asset in bytes. For example, 2372820 bytes
            equals 2.4 megabytes.
          example: 2372820
        duration:
          type: integer
          description: >-
            The length of an asset in seconds. For example, 9241 would represent
            9,241 seconds or roughly 2.5 hours.
          example: 9241
        thumbnail_url:
          type: string
          description: The URL to receive the preview thumbnail.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg
        unique_viewers:
          type: integer
          description: The number of unique viewers for the stream.
          example: 5986
        total_viewing_time:
          type: integer
          description: >-
            The total time that the asset has been viewed by anyone, in seconds.
            In this example 4492549 would equal 1,248 total hours of view time.
          example: 4492549
        average_view_time:
          type: integer
          description: >-
            The average time that the asset has been viewed in seconds. For
            example, 12580 seconds would be 3.5 hours.
          example: 12580
          format: time
        playback_url:
          type: string
          description: The HLS URL for the stream associated with the asset.
          example: >-
            https://cdn3-qa.wowza.com/2/T1R6V2hBV2hEdmJ0/ZnJUOE9q/hls/g7z7bwbz/playlist.m3u8
        total_storage_size:
          type: integer
          description: >-
            The total storage size for the asset in bytes. In this example,
            19513598 equals 19.5 megabytes.
          example: 19513598
        file_name:
          type: string
          description: >-
            The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: 100
    Error422_asset_not_available:
      type: object
      description: ''
      required:
        - meta
      properties:
        meta:
          type: object
          title: meta
          description: ''
          properties:
            status:
              type: integer
              description: ''
              example: ''
              format: int32
            code:
              type: string
              description: ''
              example: ''
            title:
              type: string
              description: ''
              example: ''
            message:
              type: string
              description: ''
              example: ''
            description:
              type: string
              description: ''
              example: ''
            links:
              type: array
              description: ''
              example: ''
              items: {}
      example:
        Example Response 1:
          meta:
            status: 422
            code: ERR-422-NotAvailable
            title: Asset Not Available
            message: >-
              The asset isn't available for editing, deleting, or restreaming.
              Wait until the processing for the asset is complete and try again.
            description: ''
            links: []
    asset_update_input:
      type: object
      description: ''
      required:
        - asset
      properties:
        asset:
          type: object
          title: asset
          description: ''
          properties:
            description:
              type: string
              description: >-
                A description of the asset. Maximum 16,000 characters.


                **Example:** <code>"description": "My updated asset
                description"</code>
              example: My Asset Description
            name:
              type: string
              description: |-
                A descriptive name for the live stream. Maximum 200 characters.

                **Example:** <code>"name": "My Updated Live Stream Asset"</code>
              example: My Live Stream
            playback_enabled:
              type: boolean
              description: |-
                Specifies whether playback is enabled for an asset.

                **Example:** <code>"playback_enabled": true</code>
            tags:
              type: array
              description: |-
                A list of tags associated with the asset.

                **Example:** <code>"tags": ["Tag1", "Tag2", "Tag3"]</code>
              example:
                - Tag1
                - Tag2
                - Tag3
    asset_update_output:
      type: object
      description: ''
      properties:
        available_renditions:
          type: array
          description: The renditions available for the asset.
          items:
            $ref: '#/components/schemas/renditions'
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: My Asset
        description:
          type: string
          description: A description of the asset. Maximum 16,000 characters.
          example: My Asset Description
        playback_enabled:
          type: boolean
          description: Specifies whether playback is enabled for an asset.
        tags:
          type: array
          description: A list of tags associated with the asset.
          example:
            - Tag1
            - Tag2
            - Tag3
        vod_stream_id:
          type: string
          description: >-
            An ID for the VOD. You can use this to fetch additional information
            about the VOD stream associated with the asset, such as the size of
            only the VOD stream.
          example: l9qsbwvf
        recording_id:
          type: string
          description: >-
            An ID for the recording. You can use this to fetch additional
            information about the recording associated with the asset.
          example: l8qsbwvu
        state:
          type: string
          description: The state of the asset.
          example: completed
          enum:
            - uploading
            - processing
            - completed
            - failed
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset."
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        updated_at:
          type: string
          description: "The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_"
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        download_url:
          type: string
          description: The URL that can be used to download the asset as a .MP4 file.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
        file_size:
          type: integer
          description: >-
            The file size of the asset in bytes. For example, 2372820 bytes
            equals 2.4 megabytes.
          example: 2372820
        duration:
          type: integer
          description: >-
            The length of an asset in seconds. For example, 9241 would represent
            9,241 seconds or roughly 2.5 hours.
          example: 9241
        thumbnail_url:
          type: string
          description: The URL to receive the preview thumbnail.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg
        unique_viewers:
          type: integer
          description: The number of unique viewers for the stream.
          example: 5986
        total_viewing_time:
          type: integer
          description: >-
            The total time that the asset has been viewed by anyone, in seconds.
            In this example 4492549 would equal 1,248 total hours of view time.
          example: 4492549
        average_view_time:
          type: integer
          description: >-
            The average time that the asset has been viewed in seconds. For
            example, 12580 seconds would be 3.5 hours.
          example: 12580
          format: time
        playback_url:
          type: string
          description: The HLS URL for the stream associated with the asset.
          example: >-
            https://cdn3-qa.wowza.com/2/T1R6V2hBV2hEdmJ0/ZnJUOE9q/hls/g7z7bwbz/playlist.m3u8
        total_storage_size:
          type: integer
          description: >-
            The total storage size for the asset in bytes. In this example,
            19513598 equals 19.5 megabytes.
          example: 19513598
        file_name:
          type: string
          description: >-
            The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: 100
    asset_restream:
      type: object
      description: ''
      title: assets_restream
      properties:
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the live stream
            associated with the asset.
          example: Yx6rTGKL
        name:
          type: string
          description: >-
            A name for the live stream assosicated with the asset. This is
            generated by Wowza Video.
          example: CMS Restreamed (ucknggax)
    asset_tags:
      type: object
      description: ''
      properties:
        asset_tags:
          type: array
          description: An array of asset tags the organization has created.
      example:
        asset_tags:
          - tag1
          - tag2
          - tag3
    asset_report_uploaded_input:
      description: ''
      required:
        - asset
      properties:
        asset:
          type: object
          title: asset
          description: ''
          required:
            - duration
          properties:
            duration:
              type: integer
              description: >-
                The length of an asset in seconds. In this example, 9241 would
                represent 9,241 seconds or roughly 2.5 hours.
              example: 9241
    asset_report_uploaded_output:
      type: object
      description: ''
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: My Asset
        tags:
          type: array
          description: A list of tags associated with the asset.
          example:
            - Tag1
            - Tag2
            - Tag3
        vod_stream_id:
          type: string
          description: >-
            An ID for the VOD. You can use this to fetch additional information
            about the VOD stream associated with the asset, such as the size of
            only the VOD stream.
          example: l9qsbwvf
        recording_id:
          type: string
          description: >-
            An ID for the recording. You can use this to fetch additional
            information about the recording associated with the asset.
          example: l8qsbwvu
        state:
          type: string
          description: The state of the asset.
          example: processing
          enum:
            - uploading
            - processing
            - completed
            - failed
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset."
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        updated_at:
          type: string
          description: "The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_"
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        download_url:
          type: string
          description: The URL that can be used to download the asset as a .MP4 file.
          example: >-
            https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
        file_size:
          type: integer
          description: >-
            The file size of the asset in bytes. For example, 2372820 bytes
            equals 2.4 megabytes.
          example: 2372820
        duration:
          type: integer
          description: >-
            The length of an asset in seconds. For example, 9241 would represent
            9,241 seconds or roughly 2.5 hours.
          example: 9241
        average_view_time:
          type: integer
          description: >-
            The average time that the asset has been viewed in seconds. For
            example, 12580 seconds would be 3.5 hours.
          example: 12580
          format: time
        file_name:
          type: string
          description: >-
            The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: 100
    asset_report_upload_failed_input:
      type: object
      description: ''
      required:
        - asset
      properties:
        asset:
          type: object
          title: asset
          description: ''
          required:
            - reason
            - status
          properties:
            reason:
              type: string
              description: A description of why the upload failed.
              example: Token expired
            status:
              type: string
              description: The status code returned by the server.
              example: 404
    asset_report_upload_failed_output:
      type: object
      description: ''
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: My Asset
        tags:
          type: array
          description: A list of tags associated with the asset.
          example:
            - Tag1
            - Tag2
            - Tag3
        recording_id:
          type: string
          description: >-
            An ID for the recording. You can use this to fetch additional
            information about the recording associated with the asset.
          example: l8qsbwvu
        state:
          type: string
          description: The state of the asset.
          example: failed
          enum:
            - uploading
            - processing
            - completed
            - failed
        created_at:
          type: string
          description: "The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset."
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        updated_at:
          type: string
          description: "The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows:\_YYYY-DD-MMTHH:MM:SSZ\_using 24-hour clock (\"military\") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.\_"
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        average_view_time:
          type: integer
          description: >-
            The average time that the asset has been viewed in seconds. For
            example, 12580 seconds would be 3.5 hours.
          example: 12580
          format: time
        file_name:
          type: string
          description: >-
            The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: MyAsset.mp4
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: 100
    index_recordings:
      type: object
      description: ''
      title: recordings
      properties:
        created_at:
          type: string
          description: The date and time that the recording was created.
          example: '2020-01-29T17:16:21.993Z'
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the recording.
          example: 4Jjzstdt
        asset_id:
          type: string
          description: >-
            Only applies to recordings created for Asset Management. The id for
            the asset associated with your recording. You can manage your asset
            in Asset Management.
          example: tk1plmzr
        file_name:
          type: string
          description: >-
            The file name of the recording.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: ''
        real_time_stream_id:
          type: string
          description: >-
            Only applies to Real-Time Streaming at Scale. The unique
            alphanumeric string that identifies the real-time stream that was
            recorded.
          example: cj39nmrt
        reason:
          type: string
          description: The reason that a recording has the state **failed**.
          example: ''
        state:
          type: string
          description: The state of the recording.
          example: completed
          enum:
            - uploading
            - converting
            - removing
            - completed
            - failed
        transcoder_id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the transcoder that
            was recorded.
          example: bjaplmrw
        updated_at:
          type: string
          description: The date and time that the recording was updated.
          example: '2020-01-31T14:14:01.993Z'
          format: date-time
    recordings:
      type: object
      description: ''
      required:
        - recordings
      properties:
        recordings:
          type: array
          items:
            $ref: '#/components/schemas/index_recordings'
      example:
        recordings:
          - id: 4Jjzstdt
            transcoder_id: bjaplmrw
            state: converting
            reason: ''
            file_name: 31a4f9f4.stream.0.mp4
            created_at: '2023-01-29T17:16:21.993Z'
            updated_at: '2023-01-31T10:37:57.993Z'
          - id: fFWxVsyj
            state: completed
            reason: ''
            file_name: my_rts_recording.mp4
            asset_id: thfsm6c2
            real_time_asset_id: xbzk91ts
            created_at: '2023-01-28T17:16:21.993Z'
            updated_at: '2023-01-30T21:34:45.993Z'
    recording:
      type: object
      description: ''
      properties:
        asset_id:
          type: string
          description: >-
            Only applies to recordings created for Asset Management. The id for
            the asset associated with your recording. You can manage your asset
            in Asset Management.
        created_at:
          type: string
          description: The date and time that the recording was created.
          example: ''
          format: date-time
        download_url:
          type: string
          description: The URL that can be used to download the recording.
          example: ''
        duration:
          type: integer
          description: The length of the recording, in hours, minutes, and seconds.
          example: ''
          format: int64
        file_name:
          type: string
          description: >-
            The file name of the recording.


            <blockquote><strong>Note:</strong> To avoid file management issues
            in storage, Wowza Video removes or replaces special characters in
            file names.</blockquote>
          example: ''
        file_size:
          type: integer
          description: The file size of the recording.
          example: ''
          format: int64
        id:
          type: string
          description: The unique alphanumeric string that identifies the recording.
          example: ''
        real_time_stream_id:
          type: string
          description: >-
            Only applies to Real-Time Streaming at Scale. The unique
            alphanumeric string that identifies the real-time stream that was
            recorded.
          example: cj39nmrt
        reason:
          type: string
          description: The reason that a recording has the state **failed**.
          example: ''
        starts_at:
          type: string
          description: The date and time that the recording started.
          example: ''
        state:
          type: string
          description: The state of the recording.
          example: ''
          enum:
            - uploading
            - converting
            - removing
            - completed
            - failed
        transcoder_id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the transcoder that
            was recorded.
          example: ''
        transcoder_name:
          type: string
          description: The descriptive name of the transcoder that was recorded.
          example: ''
        transcoding_uptime_id:
          type: string
          description: >-
            The unique identifier associated with the transcoding uptime for
            this recording.
          example: ''
          format: date-time
        updated_at:
          type: string
          description: The date and time that the recording was updated.
          example: ''
          format: date-time
      example:
        created_at: '2020-01-29T17:16:21.993Z'
        download_url: >-
          https://s3.amazonaws.com/prod-wse-recordings/transcoder_035163/64886_00a613bf@367500.stream.0.mp4
        duration: 362905
        file_name: 00a613bf@367500.stream.0.mp4
        file_size: 53113429
        id: 4Jjzstdt
        reason: ''
        starts_at: '2020-02-01T00:00:00.000Z'
        transcoding_uptime_id: vxyz9876
        state: completed
        transcoder_id: bjQplmRw
        transcoder_name: My Camera
        updated_at: '2020-01-30T17:22:20.993Z'
    schedule:
      type: object
      description: ''
      properties:
        action_type:
          type: string
          description: >-
            The type of action that the schedule should trigger on the
            transcoder. The default is **start**.
          example: start_stop
          enum:
            - start
            - stop
            - start_stop
        created_at:
          type: string
          description: The date and time that the schedule was created.
          example: '2020-01-29T17:16:21.995Z'
          format: date-time
        end_repeat:
          type: string
          description: >-
            The month, day, and year that a recurring schedule should stop
            running. Specify **YYYY-MM-DD**.
          example: '2020-02-29T00:00:00.000Z'
          format: date
        id:
          type: string
          description: The unique alphanumeric string that identifies the schedule.
          example: vhB0jSlB
        name:
          type: string
          description: A descriptive name for the schedule. Maximum 255 characters.
          example: Scheduled start for my camera
        recurrence_data:
          type: string
          description: The day or days of the week that a recurring schedule should run.
          example: monday,tuesday,wednesday,thursday,friday
          enum:
            - sunday
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
        recurrence_type:
          type: string
          description: >-
            A schedule can run one time only (**once**) or repeat (**recur**)
            until a specified *end_repeat* date. The default is **once**.
          example: recur
          enum:
            - once
            - recur
        start_repeat:
          type: string
          description: >-
            The month, day, and year that the recurring schedule should go into
            effect. Specify **YYYY-MM-DD**.
          example: '2020-02-01T00:00:00.000Z'
          format: date
        start_transcoder:
          type: string
          description: >-
            The month, day, year, and time of day that the *action_type*
            **start** should occur. Specify **YYYY-MM-DD HH:MM:SS** where **HH**
            is a 24-hour clock in UTC.
          example: '2020-02-01T00:00:00.000Z'
          format: date-time
        state:
          type: string
          description: >-
            A schedule must be **enabled** to run. Specify **enabled** to run
            the schedule or **disabled** to turn off the schedule so that it
            doesn't run.
          example: enabled
          enum:
            - enabled
            - disabled
            - expired
        stop_transcoder:
          type: string
          description: >-
            The month, day, year, and time of day that the *action_type*
            **stop** should occur. Specify **YYYY-MM-DD HH:MM:SS** where **HH**
            is a 24-hour clock in UTC.
          example: '2020-02-29T23:59:59.999Z'
          format: date-time
        transcoder_id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the transcoder being
            scheduled.
          example: P0NrTP7m
        transcoder_name:
          type: string
          description: The name of the transcoder being scheduled.
          example: My Camera
        updated_at:
          type: string
          description: The date and time that the schedule was updated.
          example: '2020-01-30T16:44:37.995Z'
          format: date-time
      example:
        action_type: start_stop
        begins_at: '2020-02-01T00:00:00.000Z'
        created_at: '2020-01-29T17:16:21.995Z'
        end_repeat: '2020-02-29T00:00:00.000Z'
        ends_at: '2020-02-29T23:59:59.999Z'
        id: 28bwb5WT
        name: Scheduled recurring start for my camera
        recurrence_data: monday,tuesday,wednesday,thursday,friday
        recurrence_type: recur
        start_repeat: '2020-02-01T00:00:00.000Z'
        state: disabled
        transcoder_id: VGB21JFJ
        transcoder_name: My Camera
        updated_at: '2020-01-31T07:00:48.995Z'
    schedules:
      type: object
      description: ''
      required:
        - schedules
      properties:
        schedules:
          type: array
          items:
            $ref: '#/components/schemas/schedule'
      example:
        schedules:
          - action_type: start_stop
            begins_at: '2020-02-01T00:00:00.000Z'
            created_at: '2020-01-29T17:16:21.995Z'
            end_repeat: '2020-02-29T00:00:00.000Z'
            ends_at: '2020-02-29T23:59:59.999Z'
            id: 28bwb5WT
            name: Scheduled recurring start for my camera
            recurrence_data: monday,tuesday,wednesday,thursday,friday
            recurrence_type: recur
            start_repeat: '2020-02-01T00:00:00.000Z'
            state: disabled
            transcoder_id: VGB21JFJ
            transcoder_name: My Camera
            updated_at: '2020-01-31T14:58:43.995Z'
          - action_type: stop
            begins_at: '2020-02-01T00:00:00.000Z'
            created_at: '2020-01-29T17:16:21.995Z'
            ends_at: '2020-02-29T23:59:59.999Z'
            id: 4RCWgfS5
            name: Scheduled stop for my live event
            recurrence_type: once
            state: enabled
            transcoder_id: Qjl5J38Z
            transcoder_name: Awesome Live Event
            updated_at: '2020-01-31T08:25:45.995Z'
    schedule_create_input:
      type: object
      description: ''
      required:
        - schedule
      properties:
        schedule:
          type: object
          title: schedule
          description: ''
          required:
            - name
            - transcoder_id
            - action_type
            - recurrence_type
          properties:
            action_type:
              type: string
              description: >-
                The type of action that the schedule should trigger on the
                transcoder. The default is **start**.
              example: start_stop
              enum:
                - start
                - stop
                - start_stop
            name:
              type: string
              description: A descriptive name for the schedule. Maximum 255 characters.
              example: Scheduled start for my camera
            recurrence_type:
              type: string
              description: >-
                A schedule can run one time only (**once**) or repeat
                (**recur**) until a specified *end_repeat* date. The default is
                **once**.
              example: recur
              enum:
                - once
                - recur
            transcoder_id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the transcoder
                being scheduled.
              example: km1FSSVL
            end_repeat:
              type: string
              description: >-
                The month, day, and year that a recurring schedule should stop
                running. Specify **YYYY-MM-DD**.


                **Example:** <code>"end_repeat":
                "2020-02-29T00:00:00.000Z"</code>
              example: '2020-02-29T00:00:00.000Z'
              format: date
            recurrence_data:
              type: string
              description: >-
                The day or days of the week that a recurring schedule should
                run.


                **Example:** <code>"recurrence_data":
                "monday,tuesday,wednesday,thursday,friday"</code>
              example: monday,tuesday,wednesday,thursday,friday
              enum:
                - sunday
                - monday
                - tuesday
                - wednesday
                - thursday
                - friday
                - saturday
            start_repeat:
              type: string
              description: >-
                The month, day, and year that the recurring schedule should go
                into effect. Specify **YYYY-MM-DD**.


                **Example:** <code>"start_repeat":
                "2020-02-01T00:00:00.000Z"</code>
              example: '2020-02-01T00:00:00.000Z'
              format: date
            start_transcoder:
              type: string
              description: >-
                The month, day, year, and time of day that the *action_type*
                **start** should occur. Specify **YYYY-MM-DD HH:MM:SS** where
                **HH** is a 24-hour clock in UTC.


                Required when **action_type** is **start** or **start_stop**.


                **Example:** <code>"start_transcoder":
                "2020-02-01T00:00:00.000Z"</code>
              example: '2020-02-01T00:00:00.000Z'
              format: date-time
            stop_transcoder:
              type: string
              description: >-
                The month, day, year, and time of day that the *action_type*
                **stop** should occur. Specify **YYYY-MM-DD HH:MM:SS** where
                **HH** is a 24-hour clock in UTC.


                Required when **action_type** is **stop** or **start_stop**.


                **Example:** <code>"start_transcoder":
                "2020-02-29T23:59:59.999Z"</code>
              example: '2020-02-29T23:59:59.999Z'
              format: date-time
    schedule_update_input:
      type: object
      description: ''
      required:
        - schedule
      properties:
        schedule:
          type: object
          title: schedule
          description: ''
          properties:
            action_type:
              type: string
              description: >-
                The type of action that the schedule should trigger on the
                transcoder. The default is **start**.


                **Example:** <code>"action_type": "stop"</code>
              example: start_stop
              enum:
                - start
                - stop
                - start_stop
            name:
              type: string
              description: |-
                A descriptive name for the schedule. Maximum 255 characters.

                **Example:** <code>"name": "My Updated Schedule"</code>
              example: Scheduled start for my camera
            end_repeat:
              type: string
              description: >-
                The month, day, and year that a recurring schedule should stop
                running. Specify **YYYY-MM-DD**.


                **Example:** <code>"end_repeat":
                "2020-02-29T00:00:00.000Z"</code>
              example: '2020-02-29T00:00:00.000Z'
              format: date
            recurrence_data:
              type: string
              description: >-
                The day or days of the week that a recurring schedule should
                run.


                **Example:** <code>"recurrence_data":
                "monday,tuesday,wednesday,thursday,friday"</code>
              example: monday,tuesday,wednesday,thursday,friday
              enum:
                - sunday
                - monday
                - tuesday
                - wednesday
                - thursday
                - friday
                - saturday
            start_repeat:
              type: string
              description: >-
                The month, day, and year that the recurring schedule should go
                into effect. Specify **YYYY-MM-DD**.


                **Example:** <code>"start_repeat":
                "2020-02-01T00:00:00.000Z"</code>
              example: '2020-02-01T00:00:00.000Z'
              format: date
            start_transcoder:
              type: string
              description: >-
                The month, day, year, and time of day that the *action_type*
                **start** should occur. Specify **YYYY-MM-DD HH:MM:SS** where
                **HH** is a 24-hour clock in UTC.


                **Example:** <code>"start_transcoder":
                "2020-02-01T00:00:00.000Z"</code>
              example: '2020-02-01T00:00:00.000Z'
              format: date-time
            stop_transcoder:
              type: string
              description: >-
                The month, day, year, and time of day that the *action_type*
                **stop** should occur. Specify **YYYY-MM-DD HH:MM:SS** where
                **HH** is a 24-hour clock in UTC.


                **Example:** <code>"start_transcoder":
                "2020-02-29T23:59:59.999Z"</code>
              example: '2020-02-29T23:59:59.999Z'
              format: date-time
    index_stream_source:
      type: object
      description: ''
      title: stream_sources
      properties:
        created_at:
          type: string
          description: The date and time that the stream source was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream source.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream source. Maximum 255 characters.
          example: ''
        type:
          type: string
          description: >-
            An **akamai** stream source is a Wowza Video edge resource that
            sends streams to a Wowza Video transcoder using the RTMP protocol. A
            **wowza** stream source enables automatic transcoder start, stop,
            and broadcast location detection.
          example: ''
          enum:
            - akamai
            - wowza
        updated_at:
          type: string
          description: The date and time that the stream source was updated.
          example: ''
          format: date-time
    stream_sources:
      type: object
      description: ''
      required:
        - stream_sources
      properties:
        stream_sources:
          type: array
          items:
            $ref: '#/components/schemas/index_stream_source'
      example:
        stream_sources:
          - id: cJYndjJt
            name: My region-based Stream Source
            type: wowza
            created_at: '2020-01-29T17:16:22.000Z'
            updated_at: '2020-01-31T02:37:48.000Z'
          - id: pvVWPLZC
            name: My IP address based Stream Source
            type: wowza
            created_at: '2020-01-28T17:16:22.000Z'
            updated_at: '2020-01-30T14:13:07.000Z'
    index_wowza_stream_source:
      type: object
      description: ''
      title: stream_sources_wowza
      properties:
        created_at:
          type: string
          description: The date and time that the Wowza stream source was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the Wowza stream source. Maximum 255
            characters.
          example: ''
        updated_at:
          type: string
          description: The date and time that the Wowza stream source was updated.
          example: ''
          format: date-time
    stream_sources_wowza:
      type: object
      description: ''
      required:
        - stream_sources_wowza
      properties:
        stream_sources_wowza:
          type: array
          items:
            $ref: '#/components/schemas/index_wowza_stream_source'
      example:
        stream_sources_wowza:
          - created_at: '2020-01-29T17:16:22.001Z'
            id: cJYndjJt
            name: My Wowza Stream Source
            updated_at: '2020-01-30T19:44:59.001Z'
          - created_at: '2020-01-28T17:16:22.001Z'
            id: pvVWPLZC
            name: My other Wowza Stream Source
            updated_at: '2020-01-31T01:17:45.001Z'
    wowza_stream_source_create_input:
      type: object
      description: ''
      required:
        - stream_source_wowza
      properties:
        stream_source_wowza:
          type: object
          title: stream_source_wowza
          description: ''
          example:
            name: My Wowza Stream Source
          required:
            - name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the Wowza stream source. Maximum 255
                characters.
              example: My region-based Akamai Stream Source
    stream_source_wowza:
      type: object
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the Wowza stream source was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the Wowza stream source. Maximum 255
            characters.
          example: ''
        primary_url:
          type: string
          description: The origin URL where you send your source stream.
          example: ''
        state:
          type: string
          description: The current state of the Wowza stream source.
          example: ''
          enum:
            - started
            - stopped
            - error
        stream_name:
          type: string
          description: >-
            The name of the stream that you can use to configure the source
            encoder to connect to the Wowza stream source.
          example: ''
        updated_at:
          type: string
          description: The date and time that the Wowza stream source was updated.
          example: ''
          format: date-time
      example:
        created_at: '2020-01-29T17:16:22.001Z'
        id: brcndjJt
        name: My Wowza Stream Source
        primary_url: rtmp://origin.cdn.wowza.com:1935/live
        state: stopped
        stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
        updated_at: '2020-01-31T07:32:43.001Z'
    wowza_stream_source_update_input:
      type: object
      description: ''
      required:
        - stream_source_wowza
      properties:
        stream_source_wowza:
          type: object
          title: stream_source_wowza
          description: ''
          required:
            - name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the Wowza stream source. Maximum 255
                characters.
              example: My Updated Wowza Stream Source
    wowza_stream_source_patch_response:
      type: object
      title: stream_source_wowza
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the Wowza stream source was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the Wowza stream
            source.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the Wowza stream source. Maximum 255
            characters.
          example: ''
        primary_url:
          type: string
          description: The origin URL where you send your source stream.
          example: ''
        state:
          type: string
          description: The current state of the Wowza stream source.
          example: ''
          enum:
            - started
            - stopped
            - error
        stream_name:
          type: string
          description: >-
            The name of the stream that you can use to configure the source
            encoder to connect to the Wowza stream source.
          example: ''
        updated_at:
          type: string
          description: The date and time that the Wowza stream source was updated.
          example: ''
          format: date-time
      example:
        created_at: '2020-01-29T17:16:22.001Z'
        id: brcndjJt
        name: My Updated Wowza Stream Source
        primary_url: rtmp://origin.cdn.wowza.com:1935/live
        state: stopped
        stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
        updated_at: '2020-01-31T14:56:21.001Z'
    index_stream_target:
      type: object
      description: ''
      title: stream_targets
      properties:
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        state:
          type: string
          description: The state of the stream target.
          example: activated
          enum:
            - activated
            - archived
        type:
          type: string
          description: >-
            **custom** is an external, third-party destination and **fastly** is
            a Wowza CDN on Fastly target. 
          example: ''
          enum:
            - custom
            - fastly
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
    stream_targets:
      type: object
      description: ''
      required:
        - stream_targets
      properties:
        stream_targets:
          type: array
          items:
            $ref: '#/components/schemas/index_stream_target'
      example:
        stream_targets:
          - created_at: '2020-01-29T17:16:22.007Z'
            id: qvvjyjjk
            name: My RTMP Stream Target
            state: deactivated
            type: wowza
            updated_at: '2020-01-31T02:05:18.007Z'
          - created_at: '2020-01-28T17:16:22.007Z'
            id: j75mlh3v
            name: My HLS Push Stream Target
            state: activated
            type: custom
            updated_at: '2020-01-31T11:02:53.007Z'
    index_custom_stream_target:
      type: object
      description: ''
      title: stream_targets_custom
      properties:
        created_at:
          type: string
          description: The date and time that the custom stream target was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the custom stream target. Maximum 255
            characters.
          example: ''
        updated_at:
          type: string
          description: The date and time that the custom stream target was updated.
          example: ''
          format: date-time
    stream_targets_custom:
      type: object
      description: ''
      required:
        - stream_targets_custom
      properties:
        stream_targets_custom:
          type: array
          items:
            $ref: '#/components/schemas/index_custom_stream_target'
      example:
        stream_targets_custom:
          - created_at: '2020-01-28T17:16:22.008Z'
            id: RMS45lfvx
            name: My Custom Stream Target
            updated_at: '2020-01-31T00:44:50.008Z'
          - created_at: '2020-01-28T17:16:22.008Z'
            id: ABC45lxyz
            name: My Second Custom Stream Target
            updated_at: '2020-01-31T02:05:33.008Z'
    custom_stream_target_input:
      type: object
      description: ''
      required:
        - stream_target_custom
      properties:
        stream_target_custom:
          type: object
          title: stream_target_custom
          description: ''
          required:
            - name
            - primary_url
            - provider
            - stream_name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the custom stream target. Maximum 255
                characters.
              example: My Custom Stream Target
            primary_url:
              type: string
              description: >-
                The primary RTMP ingest URL. Hostnames can't contain
                underscores.
              example: rtmp://p.ep337857.i.akamaientrypoint.net/EntryPoint
            provider:
              type: string
              description: The CDN for the target.
              example: rtmp
              enum:
                - akamai_cupertino
                - rtmp
                - rtmps
            stream_name:
              type: string
              description: >-
                The name of the stream as defined in the target's ingestion
                settings. The protocol, host name, and path components of the
                stream name URL must be 255 characters or less. The query
                strings and parameter components of the stream name URL must be
                1024 characters or less.
              example: c8467d50@337857
            backup_url:
              type: string
              description: >-
                The backup RTMP ingest URL of the custom stream target. Not all
                providers or third-party CDNs provide backup URLs. Not for use
                with the akamai_cuptertino custom *provider*.


                **Note:** When both the primary and backup URLs are used, Wowza
                Video sends the stream to both URLs, allowing a provider or 3rd
                party CDN to improve reliability and prevent playback
                disruption. If you want to use both URLs, make sure you add the
                stream target to the output rendition twice, once with
                *use_stream_target_backup_url* as **false** (the default) and
                once with *use_stream_target_backup_url* as **true**. See <a
                href="https://api.docs.video.wowza.com/index/current/tag/transcoders/#tag/transcoders/operation/createTranscoderOutputOutputStreamTarget">POST
                /transcoders/[ID]/outputs/[ID]/output_stream_targets</a> for
                more information.


                **Example:** <code>"backup_url":
                "rtmp://b.ep337857.i.akamaientrypoint.net/EntryPoint"</code>
              example: rtmp://b.ep337857.i.akamaientrypoint.net/EntryPoint
            playback_urls:
              type: object
              title: Hash of playback URLs
              description: >-
                Web addresses that the target uses to play streams. Available
                from version 1.7.


                **Example:** See response body sample
              properties:
                hls:
                  type: string
                  description: >-
                    Web address that the target uses to play HLS streams.
                    <br/><br/> The format is a hash where the key is **hls** and
                    the value is the playback URL. <br/>Example&#58;
                    "hls":&nbsp;"http&#58;//&lt;*domain*&gt;/master.m3u8"
                hds:
                  type: string
                  description: >-
                    Web address that the target uses to play HDS streams. Not
                    for use with the akamai_cupertino custom *provider*.
                    <br/><br/>The format is a hash where the key is **hds** and
                    the value is the playback URL. <br/>Example&#58;
                    "hds":&nbsp;"http&#58;//&lt;*domain*&gt;/manifest.f4m"
                rtmp:
                  type: string
                  description: >-
                    Web address that the target uses to play RTMP streams.
                    <br/><br/>The format is a hash where the key is **rtmp** and
                    the value is the playback URL. <br/>Example&#58;
                    "rtmp":&nbsp;"rtmp&#58;//cp319499.live.edgefcs.net/live/c9467d50@337857"
            password:
              type: string
              description: >-
                A *username* must also be present. The password associated with
                the target username for RTMP authentication. Not for use with
                the akamai_cupertino custom *provider*.

                **Example:** <code>"password": "cb1e77e98d"</code>
              example: cb1e77e98d
            username:
              type: string
              description: >-
                The username or ID that the target uses for RTMP authentication.
                Not for use with the akamai_cupertino custom *provider*.
              example: '319699'
    custom_stream_target_create_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/custom_stream_target_input'
      example:
        stream_target_custom:
          name: My Custom Stream Target
          primary_url: rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint
          provider: rtmp
          stream_name: c8467d50@123456
    stream_target_custom:
      type: object
      description: ''
      properties:
        backup_url:
          type: string
          description: >-
            The backup ingest URL for a custom stream target. Not for use with
            the akamai_cupertino custom *provider*.
          example: ''
        created_at:
          type: string
          description: The date and time that the custom stream target was created.
          example: ''
          format: date-time
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the custom stream target. Maximum 255
            characters.
          example: ''
        password:
          type: string
          description: >-
            A *username* must be present. The password associated with the
            target username for RTMP authentication. Not for use with the
            akamai_cupertino custom *provider*.
          example: ''
        playback_urls:
          type: object
          description: >-
            Web addresses that the target uses to play streams. Available from
            version 1.7.
          properties:
            hls:
              type: array
              description: Web address that the target uses to play HLS streams.
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            hds:
              type: array
              description: >-
                Web address that the target uses to play HDS streams. Not for
                use with the akamai_cupertino custom *provider*.
              items:
                type: object
                title: hds
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            rtmp:
              type: array
              description: Web address that the target uses to play RTMP streams.
              items:
                type: object
                title: rtmp
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        primary_url:
          type: string
          description: The primary ingest URL of the custom stream target.
          example: ''
        provider:
          type: string
          description: The CDN for the target.
          example: ''
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        updated_at:
          type: string
          description: The date and time that the custom stream target was updated.
          example: ''
          format: date-time
        username:
          type: string
          description: >-
            The username or ID that the target uses for RTMP authentication. Not
            for use with the akamai_cupertino custom *provider*.
          example: ''
      example:
        created_at: '2020-01-28T17:16:22.011Z'
        delivery_protocols:
          - rtmp
        id: RMS45lfvx
        name: My Custom Stream Target
        playback_urls:
          rtmp:
            - name: default
              url: rtmp://cp123456.live.edgefcs.net/live/[EVENT]@654321
        primary_url: rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint
        provider: rtmp
        stream_name: c8467d50@123456
        updated_at: '2020-01-30T19:14:11.011Z'
    custom_stream_target_update_input:
      type: object
      description: ''
      required:
        - stream_target_custom
      properties:
        stream_target_custom:
          type: object
          title: stream_target_custom
          description: ''
          properties:
            backup_url:
              type: string
              description: >-
                The backup RTMP ingest URL of the custom stream target. Not all
                providers or third-party CDNs provide backup URLs. Not for use
                with the akamai_cupertino custom *provider*.


                **Note:** When both the primary and backup URLs are used, Wowza
                Video sends the stream to both URLs, allowing a provider or 3rd
                party CDN to improve reliability and prevent playback
                disruption. If you want to use both URLs, make sure you add the
                stream target to the output rendition twice, once with
                *use_stream_target_backup_url* as **false** (the default) and
                once with *use_stream_target_backup_url* as **true**. See <a
                href="https://api.docs.video.wowza.com/index/current/tag/transcoders/#tag/transcoders/operation/createTranscoderOutputOutputStreamTarget">POST
                /transcoders/[ID]/outputs/[ID]/output_stream_targets</a> for
                more information.


                **Example:** <code>"backup_url":
                "rtmp://b.ep337857.i.akamaientrypoint.net/EntryPoint"</code>
              example: rtmp://b.ep337857.i.akamaientrypoint.net/EntryPoint
            name:
              type: string
              description: >-
                A descriptive name for the custom stream target. Maximum 255
                characters.


                **Example:** <code>"name": "My Updated Custom Stream
                Target"</code>
              example: My Updated Custom Stream Target
            password:
              type: string
              description: >-
                A *username* must be present. The password associated with the
                target username for RTMP authentication. Not for use with the
                akamai_cupertino custom *provider*.


                **Note:** If you want to clear both username and password for
                RTMP authentication,

                send an empty string for both username and password fields.


                **Example:** <code>"password": "cb1e77e98d"</code>
              example: cb1e77e98d
            playback_urls:
              type: object
              title: Hash of playback URLs
              description: >-
                Web addresses that the target uses to play streams. Available
                from version 1.7.



                **Example:** See response body sample
              properties:
                hls:
                  type: string
                  description: >-
                    Web address that the target uses to play HLS streams.
                    <br/><br/> The format is a hash where the key is **hls** and
                    the value is the playback URL. <br/>Example&#58;
                    "hls":&nbsp;"http&#58;//&lt;*domain*&gt;/master.m3u8"
                hds:
                  type: string
                  description: >-
                    Web address that the target uses to play HDS streams. Not
                    for use with the akamai_cupertino custom *provider*.
                    <br/><br/>The format is a hash where the key is **hds** and
                    the value is the playback URL. <br/>Example&#58;
                    "hds":&nbsp;"http&#58;//&lt;*domain*&gt;/manifest.f4m"
                rtmp:
                  type: string
                  description: >-
                    Web address that the target uses to play RTMP streams.
                    <br/><br/>The format is a hash where the key is **rtmp** and
                    the value is the playback URL. <br/>Example&#58;
                    "rtmp":&nbsp;"rtmp&#58;//cp319499.live.edgefcs.net/live/c9467d50@337857"
            primary_url:
              type: string
              description: >-
                The primary RTMP ingest URL. Hostnames can't contain
                underscores.


                **Example:** <code>"primary_url":
                "rtmp://b.ep337857.i.akamaientrypoint.net/EntryPoint"</code>
              example: rtmp://p.ep337857.i.akamaientrypoint.net/EntryPoint
            provider:
              type: string
              description: |-
                The CDN for the target.

                **Example:** <code>"provider": "akamai_cupertino"</code>
              example: rtmp
              enum:
                - akamai_cupertino
                - rtmp
                - rtmps
            stream_name:
              type: string
              description: >-
                The name of the stream as defined in the target's ingestion
                settings. The protocol, host name, and path components of the
                stream name URL must be 255 characters or less. The query
                strings and parameter components of the stream name URL must be
                1024 characters or less.


                **Example:** <code>"stream_name": "c8467d50@337857"</code>
              example: c8467d50@337857
            username:
              type: string
              description: >-
                The username or ID that the target uses for RTMP authentication.
                Not for use with the akamai_cupertino custom *provider*.


                **Note:** If you want to clear both username and password for
                RTMP authentication,

                send an empty string for both username and password fields.


                **Example:** <code>"username": "319699"</code>
              example: '319699'
          example:
            name: My Updated Custom Stream Target
    custom_stream_target_patch_response:
      type: object
      title: stream_target_custom
      description: ''
      properties:
        backup_url:
          type: string
          description: >-
            The backup ingest URL for a custom stream target. Not for use with
            the akamai_cupertino custom *provider*.
          example: ''
        created_at:
          type: string
          description: The date and time that the custom stream target was created.
          example: ''
          format: date-time
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the custom stream
            target.
          example: ''
        name:
          type: string
          description: >-
            A descriptive name for the custom stream target. Maximum 255
            characters.
          example: ''
        password:
          type: string
          description: >-
            A *username* must be present. The password associated with the
            target username for RTMP authentication. Not for use with the
            akamai_cupertino custom *provider*.
          example: ''
        playback_urls:
          type: object
          description: >-
            Web addresses that the target uses to play streams. Available from
            version 1.7.
          properties:
            hls:
              type: array
              description: Web address that the target uses to play HLS streams.
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            hds:
              type: array
              description: >-
                Web address that the target uses to play HDS streams. Not for
                use with the akamai_cupertino custom *provider*.
              items:
                type: object
                title: hds
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            rtmp:
              type: array
              description: Web address that the target uses to play RTMP streams.
              items:
                type: object
                title: rtmp
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        primary_url:
          type: string
          description: The primary ingest URL of the custom stream target.
          example: ''
        provider:
          type: string
          description: The CDN for the target.
          example: ''
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        updated_at:
          type: string
          description: The date and time that the custom stream target was updated.
          example: ''
          format: date-time
        username:
          type: string
          description: >-
            he username or ID that the target uses for RTMP authentication. Not
            for use with the akamai_cupertino custom *provider*.
          example: ''
      example:
        created_at: '2020-01-28T17:16:22.011Z'
        delivery_protocols:
          - rtmp
        id: RMS45lfvx
        name: My Updated Custom Stream Target
        playback_urls:
          rtmp:
            - name: default
              url: rtmp://cp123456.live.edgefcs.net/live/[EVENT]@654321
        primary_url: rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint
        provider: rtmp
        stream_name: c8467d50@123456
        updated_at: '2020-01-30T19:46:22.012Z'
    index_fastly_stream_target:
      type: object
      description: ''
      title: stream_targets_fastly
      properties:
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
    stream_targets_fastly:
      type: object
      description: ''
      required:
        - stream_targets_fastly
      properties:
        stream_targets_fastly:
          type: array
          items:
            $ref: '#/components/schemas/index_fastly_stream_target'
      example:
        stream_targets_fastly:
          - created_at: '2020-01-28T17:16:22.010Z'
            id: abc45lfyz
            name: My Wowza CDN on Fastly Stream Target
            updated_at: '2020-01-31T12:37:22.010Z'
          - created_at: '2020-01-28T17:16:22.010Z'
            id: rdm45lxyz
            name: My Second Wowza CDN on Fastly Stream Target
            updated_at: '2020-01-31T14:17:28.010Z'
    stream_target_property_fastly:
      type: object
      title: property
      description: ''
      required:
        - key
        - section
        - value
      properties:
        key:
          type: string
          description: >-
            The key of the property.


            The following table lists the available property keys.


            Key | Description

            ----------------|-------------

            **acao** | Explicitly specifies the origin that can access the
            stream. While most streams won't need the origin explicitly set, you
            might use this property for older players that don't send the
            Referer header in their stream request.

            **chunkSize** | Defines the duration of the time-based audio and
            video chunks that Wowza Video delivers to the target.

            **convertAMFData** | Determines whether Wowza Video converts
            incoming AMF data into ID3 tags.

            **playlistSeconds** | Defines the maximum allowable length of the
            playlist.

            **relativePlaylists** | Allows the viewer to watch the stream over
            HTTP and HTTPS, whichever protocol their browser calls.
          example: ''
          enum:
            - acao
            - chunkSize
            - convertAMFData
            - playlistSeconds
            - relativePlaylists
        section:
          type: string
          description: >-
            The section of the stream target configuration table that contains
            the

            property.



            Section | Valid keys for the section

            ----------------|-------------

            **hls** | **acao**, **chunkSize**, and **convertAMFData**

            **playlist** | **playlistSeconds** and **relativePlaylists**
          example: ''
          enum:
            - hls
            - playlist
        value:
          type: string
          description: >-

            The value of the property.


            The following table provides information about valid values for each
            property key.


            Key(s) | Values for the key

            ----------------|-------------

            **acao** | Displays as **http://&lt;_origin_&gt;**

            **chunkSize** | Valid values are the integers **2**, **4**, **6**,
            **8**, and **10**.

            <ul><li>**convertAMFData**</li><li>**relativePlaylists**</li></ul> |
            Valid values are the Booleans **true** and **false**.

            **playlistSeconds** | Valid values are any integer between **6** and
            **28800** (8 hours).
          example: ''
      example:
        key: chunkSize
        section: hls
        value: 6
    fastly_stream_target_input:
      type: object
      description: ''
      required:
        - stream_target_fastly
      properties:
        stream_target_fastly:
          type: object
          title: stream_target_fastly
          description: ''
          required:
            - name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the stream target. Maximum 255
                characters.
              example: My Fastly Stream Target
            custom_origin_region:
              type: string
              description: >-
                The region where your Wowza Streaming Engine instance is
                located. Available from version 1.6.


                Valid values:
                   * **us** - United States
                   * **eu** - Europe
                   * **asia** - Asia
                   * **sa** - South America
                   * **india** - India


                **Example:** <code>"custom_origin_region": "us"</code>
            custom_origin_url:
              type: string
              description: >-
                The Wowza Streaming Engine instance's domain or IP address
                starting with http:// or https://. Available from version 1.6.


                **Note:** You can find the **Host - Server** address on the home
                page of Wowza Streaming Engine under **Application Connection
                Settings**.
            delivery_protocols:
              type: array
              description: >-
                Specifies the protocols sent to the stream target. Valid values
                are **hls** and **dash** (MPEG-DASH). The default is **hls**.
                Available from version 1.7.


                **Note:** If you enable more than one protocol, you'll incur
                egress charges for each protocol you select.


                See <a
                href="https://www.wowza.com/docs/protect-streams-for-google-widevine-and-microsoft-playready-devices-with-ezdrm-and-the-wowza-video-rest-api">Protect
                streams for Google Widevine and Microsoft PlayReady devices with
                EZDRM and the Wowza Video REST API</a> for an example of setting
                MPEG-DASH as a delivery protocol for digital rights management
                (DRM) use.


                **Example:** See response body sample
              items:
                type: string
                properties:
                  hls:
                    type: string
                    description: Sends an HLS stream to the stream target.
                  dash:
                    type: string
                    description: Sends a MPEG-DASH stream to the target.
            force_ssl_playback:
              type: boolean
              description: >-
                If **true**, requires users to play the stream over HTTPS. If
                **false**, the default, users can play the stream over HTTPS or
                HTTP.


                **Example:** <code>"force_ssl_playback": true</code>
              example: ''
            geoblock_enabled:
              type: boolean
              description: >-
                If **true**, controls access to the stream from specific
                locations and, optionally, IP addresses. The default is
                **false**.


                **Example:** <code>"geoblock_enabled": true</code>
              example: ''
            geoblock_by_location:
              type: string
              description: >-
                Specifies whether to **allow** or **deny** access to the stream
                from specific locations. The default is **disabled**.


                **Example:** <code>"geoblock_location": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
                - disabled
            geoblock_country_codes:
              type: string
              description: >-
                Required when *geoblock_by_location* is **allow** or **deny**.
                The locations affected by the geo-blocking. Enter a
                comma-separated list of capitalized two-letter ISO 3166-1
                country codes. For a list, see [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.


                **Example:** <code>"geoblock_country_codes": "CA, DE"</code>
              example: ''
            geoblock_ip_override:
              type: string
              description: >-
                Specifies whether specific IP addresses can override the
                locations that are allowed or restricted. **allow** permits
                access from IP addresses within a location that's been blocked,
                while **deny** restricts access from IP addresses within
                locations that are allowed. The default is **disabled**.


                **Example:** <code>"geoblock_ip_override": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
                - disabled
            geoblock_ip_addresses:
              type: string
              description: >-
                Required when *geoblock_ip_override* is **allow** or **deny**.
                Addresses that can access or restrict the stream even if they're
                within a specified geo-blocked location. Enter a comma-separated
                list of up to about 40 IPv4 and IPv6 IP addresses that always
                allow or deny streaming based on the *geoblock_ip_override*
                value. 


                <blockquote><strong>Troubleshooting:</strong> The limit of 40 IP
                addresses is approximate because  all the security information
                (SSL playback, geoblocking countries and IP addresses, referer
                header,  and token auth) count toward an overall metadata limit.
                If you have fewer than 40 IP addresses and  still receive a 422:
                Invalid Record (Geoblock IP addresses) error, see <a
                href="https://www.wowza.com/docs/geo-block-wowza-cdn-on-fastly-stream-targets-with-the-wowza-video-rest-api#troubleshooting">Geo-block
                Wowza CDN on Fastly stream targets with the Wowza Video REST
                API</a>  for more ways to lower the character
                count.</blockquote>


                **Example:** <code>"geoblock_ip_addresses": "77.12.34.567,
                78.23.45.678"</code>
              example: ''
            properties:
              type: array
              description: >-
                Configures one or more stream target properties. The property
                configuration consists of a key/value pair and the section of
                the stream target configuration table the key/value pair is
                stored in. Available from version 1.7.


                **Example:** See response body sample
              items:
                $ref: '#/components/schemas/stream_target_property_fastly'
            referer_enabled:
              type: boolean
              description: >-
                If **true**, controls access to the stream from specific
                domains. The client or player requesting access to the stream
                must send the Referer header so the origin of the request can be
                validated. The default is **false**.


                **Note:** If you change *referer_enabled* to **false** after
                configuring the referer policy, then later re-enable it, you'll
                need to re-configure the other referer policy values as well.


                Available from version 1.7.


                For more information about the Referer header, see the [HTTP
                specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).


                **Example:** <code>"referer_enabled": true</code>
              example: ''
            referer_allow_empty:
              type: boolean
              description: >-
                The Referer header sent by the client or player can be empty and
                not identify the origin of the request. The default is **false**
                when *referer_enabled* is **true**. While less secure, if you
                know you'll have viewers with a client or player that won't send
                a Referer header, you can specify **true** to allow an empty
                Referer header so those viewers can still access the stream.


                Available from version 1.7.


                **Example:** <code>"referer_allow_empty": true</code>
              example: ''
            referer_policy:
              type: string
              description: >-
                Specifies whether to **allow** or **deny** access to the stream
                from specific domains. The default is **allow** when
                *referer_enabled* is **true**. Specify the domains to allow or
                deny in *referer_domains*.


                Available from version 1.7.


                **Example:** <code>"referer_policy": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
            referer_domains:
              type: string
              description: >-
                Domains that are either allowed or blocked from accessing the
                stream. Enter a comma-separated list of domains that are always
                allowed or denied access based on the *referer_policy* value.
                Required when *referer_enabled* is **true**.


                We recommend you enter the simplest form of the domain as
                possible, but you do need to build out the domain to the level
                of subdomains you want to allow or deny. You can fully express
                to the subdomain (_mysubdomain.example.com_) to specify that
                single, specific subdomain or you can use a wildcard (&#42;) to
                cover all subdomains at a specific level (_&#42;.example.com_).


                **Example:** _example.com, *.example.com,
                *.mysubdomain.example.com_


                If you entered the above example value for *referer_domains*,
                and *referer_policy* is **allow**, the following domains are
                allowed access to the stream: <ul> <li>https://example.com</li>
                <li>https://subdomain.example.com,
                https://subdomain2.example.com, etc.</li>
                <li>https://subdomainA.mysubdomain.example.com,
                https://subdomainB.mysubdomain.example.com, etc.</li> </ul>


                Available from version 1.7.


                **Example:** <code>"referer_domains": "example.com,
                example2.com"</code>
              example: ''
            token_auth_enabled:
              type: boolean
              description: >-
                If **true**, token authentication protects the stream by
                ensuring that it's delivered only to authorized viewers and
                can't be shared by unauthorized links or player hijacking
                attacks. The default is **false**.


                **Example:** <code>"token_auth_enabled": true</code>
              example: ''
            token_auth_shared_secret:
              type: string
              description: >-
                The shared secret of the token authentication. Must contain only
                hexadecimal characters and be an even number of total characters
                not exceeding 32.


                **Example:** <code>"token_auth_shared_secret":
                "12345678ABCDEF"</code>
              example: ''
            token_auth_playlist_only:
              type: boolean
              description: >-
                If **true**, Wowza Video uses token authentication to protect
                the master playlist only and leaves individual media playlists
                and media segments unprotected. This feature enables playback
                compatibility with media players that don’t support the
                *withCredentials* property. It may also be useful when
                addressing token auth compatibility issues with specific
                browsers. The default is **false**.



                **Note**: If you've enabled MPEG-DASH on your stream target,
                `token_auth_playlist_only` applies to both the `playlist.m3u8`
                for HLS and `manifest.mpd` for MPEG-DASH.



                **Example:** <code>"token_auth_playlist_only": true</code>
              example: ''
    fastly_stream_target_create_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/fastly_stream_target_input'
      example:
        stream_target_fastly:
          name: My Wowza CDN on Fastly Stream Target
    stream_target_fastly:
      type: object
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        custom_origin_region:
          type: string
          description: >-
            The region where your Wowza Streaming Engine instance is located.
            Available from version 1.6.
          example: ''
          format: string
        custom_origin_url:
          type: string
          description: >-
            The Wowza Streaming Engine instance's domain or IP address.
            Available from version 1.6.
          example: ''
          format: string
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        force_ssl_playback:
          type: boolean
          description: >-
            If **true**, requires users to play the stream over HTTPS. If
            **false**, the default, users can play the stream over HTTPS or
            HTTP.
          example: ''
        geoblock_enabled:
          type: boolean
          description: >-
            If **true**, controls access to the stream from specific locations
            and, optionally, IP addresses. The default is **false**.
          example: ''
        geoblock_by_location:
          type: string
          description: >-
            Specifies whether to **allow** or **deny** access to the stream from
            specific locations. The default is **disabled**.
          example: ''
          enum:
            - allow
            - deny
            - disabled
        geoblock_country_codes:
          type: string
          description: >-
            Required when *geoblock_by_location* is **allow** or **deny**. The
            locations affected by the geo-blocking. Enter a comma-separated list
            of capitalized two-letter ISO 3166-1 country codes. For a list, see
            [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.
          example: ''
        geoblock_ip_override:
          type: string
          description: >-
            Specifies whether specific IP addresses can override the locations
            that are allowed or restricted. **allow** permits access from IP
            addresses within a location that's been blocked, while **deny**
            restricts access from IP addresses within locations that are
            allowed. The default is **disabled**.
          example: ''
          enum:
            - allow
            - deny
            - disabled
        geoblock_ip_addresses:
          type: string
          description: >-
            Required when *geoblock_ip_override* is **allow** or **deny**.
            Addresses that can access or restrict the stream even if they're
            within a specified geo-blocked location. Enter a comma-separated
            list of IPv4 and IPv6 IP addresses that always allow or deny
            streaming based on the *geoblock_ip_override* value.
          example: ''
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        playback_urls:
          type: object
          description: Web addresses that the target uses to play streams.
          properties:
            hls:
              type: array
              description: Web address that the target uses to play HLS streams.
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        state:
          type: string
          description: The state of the stream target.
          example: ''
          enum:
            - activated
            - archived
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        referer_enabled:
          type: boolean
          description: >-
            If **true**, controls access to the stream from specific domains.
            The client or player requesting access to the stream must send the
            Referer header so the origin of the request can be validated. The
            default is **false**.


            **Note:** If you change *referer_enabled* to **false** after
            configuring the referer policy, then later re-enable it, you'll need
            to re-configure the other referer policy values as well.

            Available from version 1.7. For more information about the Referer
            header, see the [HTTP
            specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).
          example: ''
        referer_allow_empty:
          type: boolean
          description: >-
            The Referer header sent by the client or player can be empty and not
            identify the origin of the request. The default is **false** when
            *referer_enabled* is **true**. While less secure, if you know you'll
            have viewers with a client or player that won't send a Referer
            header, you can specify **true** to allow an empty Referer header so
            those viewers can still access the stream.


            Available from version 1.7.
          example: ''
        referer_policy:
          type: string
          description: >-
            Specifies whether to **allow** or **deny** access to the stream from
            specific domains. The default is **allow** when *referer_enabled* is
            **true**. Specify the domains to allow or deny in *referer_domains*.


            Available from version 1.7.
          example: ''
          enum:
            - allow
            - deny
        referer_domains:
          type: string
          description: >-
            Domains that are either allowed or blocked from accessing the
            stream. Enter a comma-separated list of domains that are always
            allowed or denied access based on the *referer_policy* value.
            Required when *referer_enabled* is **true**.


            We recommend you enter the simplest form of the domain as possible,
            but you do need to build out the domain to the level of subdomains
            you want to allow or deny. You can fully express to the subdomain
            (_mysubdomain.example.com_) to specify that single, specific
            subdomain or you can use a wildcard (&#42;) to cover all subdomains
            at a specific level (_&#42;.example.com_).


            **Example:** _example.com, *.example.com, *.mysubdomain.example.com_


            If you entered the above example value for *referer_domains*, and
            *referer_policy* is **allow**, the following domains are allowed
            access to the stream: <ul> <li>https://example.com</li>
            <li>https://subdomain.example.com, https://subdomain2.example.com,
            etc.</li> <li>https://subdomainA.mysubdomain.example.com,
            https://subdomainB.mysubdomain.example.com, etc.</li> </ul>


            Available from version 1.7.
          example: ''
        token_auth_enabled:
          type: boolean
          description: >-
            If **true**, token authentication protects the stream by ensuring
            that it's delivered only to authorized viewers and can't be shared
            by unauthorized links or player hijacking attacks. The default is
            **false**.
          example: ''
        token_auth_shared_secret:
          type: string
          description: >-
            The shared secret of the token authentication. Must contain only
            hexadecimal characters and be an even number of total characters not
            exceeding 32.
          example: ''
        token_auth_playlist_only:
          type: boolean
          description: >-
            If **true**, Wowza Video uses token authentication to protect the
            master playlist only and leaves individual media playlists and
            media  segments unprotected. This feature enables playback
            compatibility with media players that don’t support the
            *withCredentials* property.  It may also be useful when addressing
            token auth compatibility issues with specific browsers. The default
            is **false**.


            **Note**: If you've enabled MPEG-DASH on your stream target,
            `token_auth_playlist_only` applies to both the `playlist.m3u8` for
            HLS and `manifest.mpd` for MPEG-DASH.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
      example:
        id: abc45lfyz
        name: My Wowza CDN on Fastly Stream Target
        state: activated
        stream_name: 9a00105a
        delivery_protocols:
          - hls
        playback_urls:
          hls:
            - name: default
              url: >-
                https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8
        token_auth_enabled: false
        token_auth_playlist_only: false
        geoblock_enabled: true
        geoblock_by_location: allow
        geoblock_country_codes: DE, US
        geoblock_ip_override: deny
        geoblock_ip_addresses: 77.12.34.567, 78.23.45.678
        referer_enabled: true
        referer_allow_empty: false
        referer_policy: allow
        referer_domains: example.com, example2.com
        force_ssl_playback: false
        created_at: '2020-01-28T17:16:22.086Z'
        updated_at: '2020-01-30T15:33:43.086Z'
    fastly_stream_target_update_input:
      type: object
      description: ''
      required:
        - stream_target_fastly
      properties:
        stream_target_fastly:
          type: object
          title: stream_target_fastly
          description: ''
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the stream target. Maximum 255
                characters.


                **Example:** <code>"name": "My Updated Fastly Stream
                Target"</code>
              example: My Updated Fastly Stream Target
            custom_origin_region:
              type: string
              description: >-
                The region where your Wowza Streaming Engine instance is
                located. Available from version 1.6.


                Valid values:
                   * **us** - United States
                   * **eu** - Europe
                   * **asia** - Asia
                   * **sa** - South America
                   * **india** - India


                **Example:** <code>"custom_origin_region": "us"</code>
            custom_origin_url:
              type: string
              description: >-
                The Wowza Streaming Engine instance's domain or IP address
                starting with http:// or https://. Available from version 1.6.


                **Note:** You can find the **Host - Server** address on the home
                page of Wowza Streaming Engine under **Application Connection
                Settings**.
            delivery_protocols:
              type: array
              description: >-
                Specifies the protocols sent to the stream target. Valid values
                are **hls** and **dash** (MPEG-DASH). The default is **hls**.
                Available from version 1.7.


                **Note:** If you enable more than one protocol, you'll incur
                egress charges for each protocol you select.


                See <a
                href="https://www.wowza.com/docs/protect-streams-for-google-widevine-and-microsoft-playready-devices-with-ezdrm-and-the-wowza-video-rest-api">Protect
                streams for Google Widevine and Microsoft PlayReady devices with
                EZDRM and the Wowza Video REST API</a> for an example of setting
                MPEG-DASH as a delivery protocol for digital rights management
                (DRM) use.


                **Example:** See response body sample
              items:
                type: string
                properties:
                  hls:
                    type: string
                    description: Sends an HLS stream to the stream target.
                  dash:
                    type: string
                    description: Sends a MPEG-DASH stream to the target.
            force_ssl_playback:
              type: boolean
              description: >-
                If **true**, requires users to play the stream over HTTPS. If
                **false**, the default, users can play the stream over HTTPS or
                HTTP.


                **Example:** <code>"force_ssl_playback": true</code>
              example: ''
            geoblock_enabled:
              type: boolean
              description: >-
                If **true**, controls access to the stream from specific
                locations and, optionally, IP addresses. The default is
                **false**.


                **Example:** <code>"geoblock_enabled": true</code>
              example: ''
            geoblock_by_location:
              type: string
              description: >-
                Specifies whether to **allow** or **deny** access to the stream
                from specific locations. The default is **disabled**.


                **Example:** <code>"geoblock_location": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
                - disabled
            geoblock_country_codes:
              type: string
              description: >-
                Required when *geoblock_by_location* is **allow** or **deny**.
                The locations affected by the geo-blocking. Enter a
                comma-separated list of capitalized two-letter ISO 3166-1
                country codes. For a list, see [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.


                **Example:** <code>"geoblock_country_codes": "CA, DE"</code>
              example: ''
            geoblock_ip_override:
              type: string
              description: >-
                Specifies whether specific IP addresses can override the
                locations that are allowed or restricted. **allow** permits
                access from IP addresses within a location that's been blocked,
                while **deny** restricts access from IP addresses within
                locations that are allowed. The default is **disabled**.


                **Example:** <code>"geoblock_ip_override": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
                - disabled
            geoblock_ip_addresses:
              type: string
              description: >-
                Required when *geoblock_ip_override* is **allow** or **deny**.
                Addresses that can access or restrict the stream even if they're
                within a specified geo-blocked location. Enter a comma-separated
                list of up to about 40 IPv4 and IPv6 IP addresses that always
                allow or deny streaming based on the *geoblock_ip_override*
                value.


                <blockquote><strong>Troubleshooting:</strong> The limit of 40 IP
                addresses is approximate because  all the security information
                (SSL playback, geoblocking countries and IP addresses, referer
                header,  and token auth) count toward an overall metadata limit.
                If you have fewer than 40 IP addresses and  still receive a 422:
                Invalid Record (Geoblock IP addresses) error, see <a
                href="https://www.wowza.com/docs/geo-block-wowza-cdn-on-fastly-stream-targets-with-the-wowza-video-rest-api#troubleshooting">Geo-block
                Wowza CDN on Fastly stream targets with the Wowza Video REST
                API</a>  for more ways to lower the character
                count.</blockquote>


                **Example:** <code>"geoblock_ip_addresses": "77.12.34.567,
                78.23.45.678"</code>
              example: ''
            properties:
              type: array
              description: >-
                Configures one or more stream target properties. The property
                configuration consists of a key/value pair and the section of
                the stream target configuration table the key/value pair is
                stored in. Available from version 1.7.


                **Example:** See response body sample
              items:
                $ref: '#/components/schemas/stream_target_property_fastly'
            referer_enabled:
              type: boolean
              description: >-
                If **true**, controls access to the stream from specific
                domains. The client or player requesting access to the stream
                must send the Referer header so the origin of the request can be
                validated. The default is **false**.


                **Note:** If you change *referer_enabled* to **false** after
                configuring the referer policy, then later re-enable it, you'll
                need to re-configure the other referer policy values as well.


                Available from version 1.7. For more information about the
                Referer header, see the [HTTP
                specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).


                **Example:** <code>"referer_enabled": true</code>
              example: ''
            referer_allow_empty:
              type: boolean
              description: >-
                The Referer header sent by the client or player can be empty and
                not identify the origin of the request. The default is **false**
                when *referer_enabled* is **true**. While less secure, if you
                know you'll have viewers with a client or player that won't send
                a Referer header, you can specify **true** to allow an empty
                Referer header so those viewers can still access the stream.


                Available from version 1.7.


                **Example:** <code>"referer_allow_empty": true</code>
              example: ''
            referer_policy:
              type: string
              description: >-
                Specifies whether to **allow** or **deny** access to the stream
                from specific domains. The default is **allow** when
                *referer_enabled* is **true**. Specify the domains to allow or
                deny in *referer_domains*.


                Available from version 1.7.


                **Example:** <code>"referer_policy": "allow"</code>
              example: ''
              enum:
                - allow
                - deny
            referer_domains:
              type: string
              description: >-
                Domains that are either allowed or blocked from accessing the
                stream. Enter a comma-separated list of domains that are always
                allowed or denied access based on the *referer_policy* value.
                Required when *referer_enabled* is **true**.


                We recommend you enter the simplest form of the domain as
                possible, but you do need to build out the domain to the level
                of subdomains you want to allow or deny. You can fully express
                to the subdomain (_mysubdomain.example.com_) to specify that
                single, specific subdomain or you can use a wildcard (&#42;) to
                cover all subdomains at a specific level (_&#42;.example.com_).


                **Example:** _example.com, *.example.com,
                *.mysubdomain.example.com_


                If you entered the above example value for *referer_domains*,
                and *referer_policy* is **allow**, the following domains are
                allowed access to the stream: <ul> <li>https://example.com</li>
                <li>https://subdomain.example.com,
                https://subdomain2.example.com, etc.</li>
                <li>https://subdomainA.mysubdomain.example.com,
                https://subdomainB.mysubdomain.example.com, etc.</li> </ul>

                Available from version 1.7.


                **Example:** <code>"referer_domains": "example.com,
                example2.com"</code>
              example: ''
            token_auth_enabled:
              type: boolean
              description: >-
                If **true**, token authentication protects the stream by
                ensuring that it's delivered only to authorized viewers and
                can't be shared by unauthorized links or player hijacking
                attacks. The default is **false**.


                **Example:** <code>"token_auth_enabled": true</code>
              example: ''
            token_auth_shared_secret:
              type: string
              description: >-
                The shared secret of the token authentication. Must contain only
                hexadecimal characters and be an even number of total characters
                not exceeding 32.


                **Example:** <code>"token_auth_shared_secret":
                "12345678ABCDEF"</code>
              example: ''
            token_auth_playlist_only:
              type: boolean
              description: >-
                If **true**, Wowza Video uses token authentication to protect
                the master playlist only and leaves individual media playlists
                and media segments unprotected. This feature enables playback
                compatibility with media players that don’t support the
                *withCredentials* property. It may also be useful when
                addressing token auth compatibility issues with specific
                browsers. The default is **false**.



                **Note**: If you've enabled MPEG-DASH on your stream target,
                `token_auth_playlist_only` applies to both the `playlist.m3u8`
                for HLS and `manifest.mpd` for MPEG-DASH.



                **Example:** <code>"token_auth_playlist_only": true</code>
              example: ''
          example:
            name: My Updated Wowza CDN on Fastly Stream Target
    fastly_stream_target_patch_response:
      type: object
      title: stream_target_fastly
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        custom_origin_region:
          type: string
          description: >-
            The region where your Wowza Streaming Engine instance is located.
            Available from version 1.6.
          example: ''
          format: string
        custom_origin_url:
          type: string
          description: >-
            The Wowza Streaming Engine instance's domain or IP address.
            Available from version 1.6.
          example: ''
          format: string
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        force_ssl_playback:
          type: boolean
          description: >-
            If **true**, requires users to play the stream over HTTPS. If
            **false**, the default, users can play the stream over HTTPS or
            HTTP.
          example: ''
        geoblock_enabled:
          type: boolean
          description: >-
            If **true**, controls access to the stream from specific locations
            and, optionally, IP addresses. The default is **false**.
          example: ''
        geoblock_by_location:
          type: string
          description: >-
            Specifies whether to **allow** or **deny** access to the stream from
            specific locations. The default is **disabled**.
          example: ''
          enum:
            - allow
            - deny
            - disabled
        geoblock_country_codes:
          type: string
          description: >-
            Required when *geoblock_by_location* is **allow** or **deny**. The
            locations affected by the geo-blocking. Enter a comma-separated list
            of capitalized two-letter ISO 3166-1 country codes. For a list, see
            [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.
          example: ''
        geoblock_ip_override:
          type: string
          description: >-
            Specifies whether specific IP addresses can override the locations
            that are allowed or restricted. **allow** permits access from IP
            addresses within a location that's been blocked, while **deny**
            restricts access from IP addresses within locations that are
            allowed. The default is **disabled**.
          example: ''
          enum:
            - allow
            - deny
            - disabled
        geoblock_ip_addresses:
          type: string
          description: >-
            Required when *geoblock_ip_override* is **allow** or **deny**.
            Addresses that can access or restrict the stream even if they're
            within a specified geo-blocked location. Enter a comma-separated
            list of IPv4 and IPv6 IP addresses that always allow or deny
            streaming based on the *geoblock_ip_override* value.
          example: ''
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        playback_urls:
          type: object
          description: Web addresses that the target uses to play streams.
          properties:
            hls:
              type: array
              description: Web address that the target uses to play HLS streams.
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        referer_enabled:
          type: boolean
          description: >-
            If **true**, controls access to the stream from specific domains.
            The client or player requesting access to the stream must send the
            Referer header so the origin of the request can be validated. The
            default is **false**.


            **Note:** If you change *referer_enabled* to **false** after
            configuring the referer policy, then later re-enable it, you'll need
            to re-configure the other referer policy values as well.


            Available from version 1.7. For more information about the Referer
            header, see the [HTTP
            specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).
          example: ''
        referer_allow_empty:
          type: boolean
          description: >-
            The Referer header sent by the client or player can be empty and not
            identify the origin of the request. The default is **false** when
            *referer_enabled* is **true**. While less secure, if you know you'll
            have viewers with a client or player that won't send a Referer
            header, you can specify **true** to allow an empty Referer header so
            those viewers can still access the stream.


            Available from version 1.7.
          example: ''
        referer_policy:
          type: string
          description: >-
            Specifies whether to **allow** or **deny** access to the stream from
            specific domains. The default is **allow** when *referer_enabled* is
            **true**. Specify the domains to allow or deny in *referer_domains*.


            Available from version 1.7.
          example: ''
          enum:
            - allow
            - deny
        referer_domains:
          type: string
          description: >-
            Domains that are either allowed or blocked from accessing the
            stream. Enter a comma-separated list of domains that are always
            allowed or denied access based on the *referer_policy* value.
            Required when *referer_enabled* is **true**.


            We recommend you enter the simplest form of the domain as possible,
            but you do need to build out the domain to the level of subdomains
            you want to allow or deny. You can fully express to the subdomain
            (_mysubdomain.example.com_) to specify that single, specific
            subdomain or you can use a wildcard (&#42;) to cover all subdomains
            at a specific level (_&#42;.example.com_).


            **Example:** _example.com, *.example.com, *.mysubdomain.example.com_


            If you entered the above example value for *referer_domains*, and
            *referer_policy* is **allow**, the following domains are allowed
            access to the stream: <ul> <li>https://example.com</li>
            <li>https://subdomain.example.com, https://subdomain2.example.com,
            etc.</li> <li>https://subdomainA.mysubdomain.example.com,
            https://subdomainB.mysubdomain.example.com, etc.</li> </ul>


            Available from version 1.7.
          example: ''
        state:
          type: string
          description: The state of the stream target.
          example: ''
          enum:
            - activated
            - archived
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        token_auth_enabled:
          type: boolean
          description: >-
            If **true**, token authentication protects the stream by ensuring
            that it's delivered only to authorized viewers and can't be shared
            by unauthorized links or player hijacking attacks. The default is
            **false**.
          example: ''
        token_auth_shared_secret:
          type: string
          description: >-
            The shared secret of the token authentication. Must contain only
            hexadecimal characters and be an even number of total characters not
            exceeding 32.
          example: ''
        token_auth_playlist_only:
          type: boolean
          description: >-
            If **true**, Wowza Video uses token authentication to protect the
            master playlist only and leaves individual media playlists and media
            segments unprotected. This feature enables playback compatibility
            with media players that don’t support the *withCredentials*
            property. It may also be  useful when addressing token auth
            compatibility issues with specific browsers. The default is
            **false**.


            **Note**: If you've enabled MPEG-DASH on your stream target,
            `token_auth_playlist_only` applies to both the `playlist.m3u8` for
            HLS and `manifest.mpd` for MPEG-DASH.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
      example:
        id: abc45lfyz
        name: My Updated Wowza CDN on Fastly Stream Target
        state: activated
        stream_name: 9a00105a
        delivery_protocols:
          - hls
        playback_urls:
          hls:
            - name: default
              url: >-
                https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8
        token_auth_enabled: false
        token_auth_playlist_only: false
        geoblock_enabled: false
        referer_enabled: false
        force_ssl_playback: false
        created_at: '2020-01-28T17:16:22.086Z'
        updated_at: '2020-01-30T18:13:55.087Z'
    vod_streams:
      type: object
      description: ''
      required:
        - vod_streams
      properties:
        vod_streams:
          type: array
          items:
            type: object
            title: vod_streams
            description: ''
            properties:
              id:
                type: string
                description: The unique alphanumeric string that identifies the VOD stream.
                example: ''
              name:
                type: string
                description: A descriptive name for the VOD stream. Maximum 200 characters.
                example: ''
              state:
                type: string
                description: The state of the VOD stream.
                example: ''
                enum:
                  - processing
                  - completed
                  - failed
              playback_enabled:
                type: boolean
                description: Specifies whether playback is enabled for the VOD stream.
                example: ''
                enum:
                  - true
                  - false
              created_at:
                type: string
                description: The date and time that the VOD stream was created.
                example: ''
              updated_at:
                type: string
                description: The date and time that the VOD stream was updated.
                example: ''
      example:
        vod_streams:
          - id: wdjfqvsv
            name: My VOD Stream 1
            state: failed
            playback_enabled: false
            created_at: '2020-02-25T17:16:25.849Z'
            updated_at: '2020-01-28T16:06:47.849Z'
          - id: XyxZKqHO
            name: My VOD Stream 2
            state: completed
            playback_enabled: true
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T02:26:05.849Z'
          - id: Pz21DRSt
            name: My VOD Stream 3
            state: completed
            playback_enabled: true
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-30T18:13:18.849Z'
    index_wowza_akamai_stream_target:
      type: object
      description: ''
      title: stream_targets_akamai
      properties:
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
    stream_targets_akamai:
      type: object
      description: ''
      required:
        - stream_targets_akamai
      properties:
        stream_targets_akamai:
          type: array
          items:
            $ref: '#/components/schemas/index_wowza_akamai_stream_target'
      example:
        stream_targets_akamai:
          - created_at: '2020-01-28T17:16:22.009Z'
            id: ABC45lfyz
            name: My Wowza Stream Target
            updated_at: '2020-01-30T20:12:11.010Z'
          - created_at: '2020-01-28T17:16:22.010Z'
            id: RDM45lxyz
            name: My Second Wowza Stream Target
            updated_at: '2020-01-30T15:24:23.010Z'
    stream_target_akamai:
      type: object
      description: ''
      properties:
        backup_url:
          type: string
          description: >-
            The backup RTMP ingest URL of the Wowza Stream Target. Not for use
            with the akamai_cupertino custom *provider*.


            **Note:** When both the primary and backup URLs are used, Wowza
            Video sends the stream to both URLs, allowing a provider or 3rd
            party CDN to improve reliability and prevent playback disruption. If
            you want to use both URLs, make sure you add the stream target to
            the output rendition twice, once with *use_stream_target_backup_url*
            as **false** (the default) and once with
            *use_stream_target_backup_url* as **true**. See <a
            href="https://api.docs.video.wowza.com/index/current/tag/transcoders/#tag/transcoders/operation/createTranscoderOutputOutputStreamTarget">POST
            /transcoders/[ID]/outputs/[ID]/output_stream_targets</a> for more
            information.
          example: ''
        connection_code:
          type: string
          description: >-
            A six-character, alphanumeric string that allows Wowza Streaming
            Engine to send a transcoded stream to a Wowza stream target. The
            code can be used once and expires 24 hours after it's created.
          example: ''
        connection_code_expires_at:
          type: string
          description: The date and time that the *connection_code* expires.
          example: ''
          format: date-time
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        location:
          type: string
          description: >-
            Choose a location as close as possible to your video source. Not for
            use with the akamai_cupertino custom *provider*.
          example: ''
          enum:
            - asia_pacific_australia
            - asia_pacific_japan
            - asia_pacific_s_korea
            - asia_pacific_singapore
            - asia_pacific_taiwan
            - eu_belgium
            - eu_germany
            - eu_ireland
            - south_america_brazil
            - us_central_iowa
            - us_east_s_carolina
            - us_east_virginia
            - us_west_california
            - us_west_oregon
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        playback_urls:
          type: object
          description: Web addresses that the target uses to play streams.
          properties:
            hls:
              type: array
              description: >-
                Web address that the target uses to play HLS streams. Only for
                targets whose *provider* is **akamai_cupertino**.
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            hds:
              type: array
              description: Web address that the target uses to play HDS streams.
              items:
                type: object
                title: hds
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        primary_url:
          type: string
          description: The primary ingest URL of the target.
          example: ''
        provider:
          type: string
          description: The CDN for the target.
          example: ''
        secure_ingest_query_param:
          type: string
          description: >-
            Only for targets whose *use_secure_ingest* is **true**. The query
            parameter needed for secure stream delivery between the transcoder
            and the target.
          example: ''
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
        use_cors:
          type: boolean
          description: >-
            Only for Wowza custom stream targets whose *provider* is
            **akamai_cupertino**. CORS, or cross-origin resource sharing, allows
            streams to be safely delivered across domains.
          example: ''
        use_secure_ingest:
          type: boolean
          description: >-
            Only for Wowza custom stream targets whose *provider* is
            **akamai_cupertino**. If **true**, generates a
            *secure_ingest_query_param* to securely deliver the stream from the
            transcoder to the provider.
          example: ''
      example:
        created_at: '2020-01-28T17:16:22.086Z'
        id: ABC45lfyz
        name: My Wowza Stream Target
        provider: akamai_cupertino
        delivery_protocols:
          - hls
        use_secure_ingest: false
        use_cors: false
        stream_name: 9a00105a
        primary_url: http://post.wowzasandbox3-i.akamaihd.net/252232/9a00105a
        playback_urls:
          hls:
            - name: default
              url: >-
                https://wowzasandbox3-i.akamaihd.net/hls/live/252232/9a00105a/playlist.m3u8
        connection_code: 456fcc
        connection_code_expires_at: '2020-02-01T17:16:22.086Z'
        updated_at: '2020-01-31T05:08:12.086Z'
    stream_target_property_akamai:
      type: object
      title: property
      description: ''
      required:
        - key
        - section
        - value
      properties:
        key:
          type: string
          description: >-
            The key of the property.


            The following table lists the available property keys.


            Key | Description

            ----------------|-------------

            **chunkSize** | Defines the duration of the time-based audio and
            video chunks that Wowza Video delivers to the target.

            **convertAMFData** | Determines whether Wowza Video converts
            incoming AMF data into ID3 tags.

            **playlistSeconds** | Defines the maximum allowable length of the
            playlist.

            **playSSL** | Determines whether Wowza Video sends the stream from
            the target to the player by using SSL (HTTPS).

            **sendSSL** | Determines whether Wowza Video sends the stream from
            the transcoder to the target by using SSL (HTTPS).

            **redundantChunklists** | Determines whether Wowza Video creates
            redundant chunklists within a playlist. If a primary chunklist
            within a playlist fails, players that support redundancy during
            playback can switch to the redundant chunklist. <br/><br/> **Note:**
            Enabling **redundantChunklists** increases playback reliability but
            doubles egress data usage and associated charges.

            **relativePlaylists** | Allows the viewer to watch the stream over
            HTTP and HTTPS, whichever protocol their browser calls. 
          example: ''
          enum:
            - chunkSize
            - convertAMFData
            - sendSSL
            - playSSL
            - playlistSeconds
            - redundantChunklists
            - relativePlaylists
        section:
          type: string
          description: >-
            The section of the stream target configuration table that contains
            the

            property.



            Section | Valid keys for the section

            ----------------|-------------

            **hls** | **chunkSize**, **convertAMFData**, and **sendSSL**

            **playlist** | **playSSL**, **playlistSeconds**,
            **redundantChunklists**, and **relativePlaylists**
          example: ''
          enum:
            - hls
            - playlist
        value:
          type: string
          description: >-

            The value of the property.


            The following table provides information about valid values for each
            property key.


            Key(s) | Values for the key

            ----------------|-------------

            **chunkSize** | Valid values are the integers **2**, **4**, **6**,
            **8**, and **10**.

            <ul><li>**convertAMFData**</li><li> **playSSL**</li><li>
            **sendSSL**</li><li>**redundantChunklists**</li><li>**relativePlaylists**</li></ul>
            | Valid values are the Booleans **true** and **false**.

            **playlistSeconds** | Valid values are any integer between **6** and
            **28800** (8 hours).
          example: ''
      example:
        key: chunkSize
        section: hls
        value: 6
    wowza_akamai_stream_target_update_input:
      type: object
      description: ''
      required:
        - stream_target_akamai
      properties:
        stream_target_akamai:
          type: object
          title: stream_target_akamai
          description: ''
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the stream target. Maximum 255
                characters.
              example: My Wowza Stream Target
            properties:
              type: array
              description: >-
                Configures one or more stream target properties for a Wowza
                stream target whose provider is **akamai_cupertino**. The
                property configuration consists of a key/value pair and the
                section of the stream target configuration table the key/value
                pair is stored in. Available from version 1.7.
              items:
                $ref: '#/components/schemas/stream_target_property_akamai'
            provider:
              type: string
              description: The CDN for the target.
              example: akamai
              enum:
                - akamai
                - akamai_cupertino
                - akamai_legacy_rtmp
          example:
            name: My Updated Wowza Stream Target
    wowza_akamai_stream_target_patch_response:
      type: object
      title: stream_target_akamai
      description: ''
      properties:
        backup_url:
          type: string
          description: >-
            The backup RTMP ingest URL of the Wowza Stream Target. Not for use
            with the akamai_cupertino custom *provider*.


            **Note:** When both the primary and backup URLs are used, Wowza
            Video sends the stream to both URLs, allowing a provider or 3rd
            party CDN to improve reliability and prevent playback disruption. If
            you want to use both URLs, make sure you add the stream target to
            the output rendition twice, once with *use_stream_target_backup_url*
            as **false** (the default) and once with
            *use_stream_target_backup_url* as **true**. See <a
            href="https://api.docs.video.wowza.com/index/current/tag/transcoders/#tag/transcoders/operation/createTranscoderOutputOutputStreamTarget">POST
            /transcoders/[ID]/outputs/[ID]/output_stream_targets</a> for more
            information.
          example: ''
        connection_code:
          type: string
          description: >-
            A six-character, alphanumeric string that allows Wowza Streaming
            Engine to send a transcoded stream to a Wowza stream target. The
            code can be used once and expires 24 hours after it's created.
          example: ''
        connection_code_expires_at:
          type: string
          description: The date and time that the *connection_code* expires.
          example: ''
          format: date-time
        created_at:
          type: string
          description: The date and time that the stream target was created.
          example: ''
          format: date-time
        delivery_protocols:
          type: array
          description: >-
            An array of the delivery protocols available for this stream target.
            Available from version 1.7.
          example: ''
          items:
            type: string
        id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        location:
          type: string
          description: >-
            Choose a location as close as possible to your video source. Not for
            use with the akamai_cupertino custom *provider*.
          example: ''
          enum:
            - asia_pacific_australia
            - asia_pacific_japan
            - asia_pacific_s_korea
            - asia_pacific_singapore
            - asia_pacific_taiwan
            - eu_belgium
            - eu_germany
            - eu_ireland
            - south_america_brazil
            - us_central_iowa
            - us_east_s_carolina
            - us_east_virginia
            - us_west_california
            - us_west_oregon
        name:
          type: string
          description: A descriptive name for the stream target. Maximum 255 characters.
          example: ''
        playback_urls:
          type: object
          description: >-
            Web addresses that the target uses to play streams. Available from
            version 1.7.
          properties:
            hls:
              type: array
              description: >-
                Web address that the target uses to play HLS streams. Only for
                targets whose *provider* is **akamai_cupertino*
              items:
                type: object
                title: hls
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
            hds:
              type: array
              description: Web address that the target uses to play HDS streams.
              items:
                type: object
                title: hds
                properties:
                  name:
                    type: string
                    description: The name of the playback URL.
                    example: default
                  url:
                    type: string
                    description: The playback URL.
                    example: ''
        primary_url:
          type: string
          description: The primary ingest URL of the target.
          example: ''
        provider:
          type: string
          description: The CDN for the target.
          example: ''
        secure_ingest_query_param:
          type: string
          description: >-
            Only for targets whose *use_secure_ingest* is **true**. The query
            parameter needed for secure stream delivery between the transcoder
            and the target.
          example: ''
        stream_name:
          type: string
          description: The name of the stream being ingested into the target.
          example: ''
        updated_at:
          type: string
          description: The date and time that the stream target was updated.
          example: ''
          format: date-time
        use_cors:
          type: boolean
          description: >-
            Only for Wowza stream targets whose *provider* is
            **akamai_cupertino**. CORS, or cross-origin resource sharing, allows
            streams to be safely delivered across domains.
          example: ''
        use_secure_ingest:
          type: boolean
          description: >-
            Only for Wowza stream targets whose *provider* is
            **akamai_cupertino**. If **true**, generates a
            *secure_ingest_query_param* to securely deliver the stream from the
            transcoder to the provider.
          example: ''
      example:
        created_at: '2020-01-28T17:16:22.086Z'
        id: ABC45lfyz
        name: My Updated Wowza Stream Target
        provider: akamai_cupertino
        delivery_protocols:
          - hls
        use_secure_ingest: false
        use_cors: false
        stream_name: 9a00105a
        primary_url: http://post.wowzasandbox3-i.akamaihd.net/252232/9a00105a
        playback_urls:
          hls:
            - name: default
              url: >-
                https://wowzasandbox3-i.akamaihd.net/hls/live/252232/9a00105a/playlist.m3u8
        connection_code: 456fcc
        connection_code_expires_at: '2020-02-01T17:16:22.086Z'
        updated_at: '2020-01-31T13:04:44.086Z'
    stream_target_property:
      type: object
      title: property
      description: >-
        A stream target property. The property configuration consists of a
        key/value pair and the section of the stream target configuration table
        the key/value pair is stored in.
      required:
        - key
        - section
        - value
      properties:
        key:
          type: string
          description: >-
            The key of the property.


            The following table lists the available property keys.


            Key | Description

            ----------------|-------------

            **acao** | Explicitly specifies the origin that can access the
            stream. While most streams won't need the origin explicitly set, you
            might use this property for older players that don't send the
            Referer header in their stream request. <br/><br/>**Available on
            these targets types:** Wowza CDN on Fastly

            **chunkSize** | Defines the duration of the time-based audio and
            video chunks that Wowza Video delivers to the target.
            <br/><br/>**Available on these targets types:** Wowza CDN on Fastly,
            Custom: akamai_cupertino

            **convertAMFData** | Determines whether Wowza Video converts
            incoming AMF data into ID3 tags. <br/><br/>**Available on these
            targets types:** Wowza CDN on Fastly, Custom: akamai_cupertino

            **playlistSeconds** | Defines the maximum allowable length of the
            playlist. <br/><br/>**Available on these targets types:** Wowza CDN
            on Fastly, Custom: akamai_cupertino

            **playSSL** | Determines whether Wowza Video sends the stream from
            the target to the player by using SSL (HTTPS).  
            <br/><br/>**Available on these targets types:** Custom:
            akamai_cupertino

            **sendSSL** | Determines whether Wowza Video sends the stream from
            the transcoder to the target by using SSL (HTTPS).  
            <br/><br/>**Available on these targets types:** Custom:
            akamai_cupertino

            **redundantChunklists** | Determines whether Wowza Video creates
            redundant chunklists within a playlist. If a primary chunklist
            within a playlist fails, players that support redundancy during
            playback can switch to the redundant chunklist. <br/><br/> **Note:**
            Enabling **redundantChunklists** increases playback reliability but
            doubles egress data usage and associated charges.
            <br/><br/>**Available on these targets types:** Custom:
            akamai_cupertino

            **relativePlaylists** | Allows the viewer to watch the stream over
            HTTP and HTTPS, whichever protocol their browser calls.
            <br/><br/>**Available on these targets types:** Wowza CDN on Fastly,
            Custom: akamai_cupertino
          example: ''
          enum:
            - acao
            - chunkSize
            - convertAMFData
            - sendSSL
            - playSSL
            - playlistSeconds
            - redundantChunklists
            - relativePlaylists
        section:
          type: string
          description: >-
            The section of the stream target configuration table that contains
            the

            property.



            Section | Valid keys for the section

            ----------------|-------------

            **hls** | **acao**, **chunkSize**, **convertAMFData**, and
            **sendSSL**

            **playlist** | **playSSL**, **playlistSeconds**,
            **redundantChunklists**, and **relativePlaylists**
          example: ''
          enum:
            - hls
            - playlist
        value:
          type: string
          description: >-

            The value of the property.


            The following table provides information about valid values for each
            property key.


            Key(s) | Values for the key

            ----------------|-------------

            **acao** | Displays as **http://&lt;_origin_&gt;**

            **chunkSize** | Valid values are the integers **2**, **4**, **6**,
            **8**, and **10**.

            <ul><li>**convertAMFData**</li><li> **playSSL**</li><li>
            **sendSSL**</li><li>**redundantChunklists**</li><li>**relativePlaylists**</li></ul>
            | Valid values are the Booleans **true** and **false**.

            **playlistSeconds** | Valid values are any integer between **6** and
            **28800** (8 hours).
          example: ''
      example:
        key: chunkSize
        section: hls
        value: 6
    stream_target_properties:
      type: object
      title: properties
      description: ''
      required:
        - properties
      properties:
        properties:
          type: array
          items:
            $ref: '#/components/schemas/stream_target_property'
      example:
        properties:
          - key: acao
            section: hls
            value: http://www.example.com
          - key: chunkSize
            section: hls
            value: 6
          - key: relativePlaylists
            section: playlist
            value: true
    stream_target_property_create_input:
      type: object
      title: property
      description: ''
      required:
        - property
      properties:
        property:
          title: property
          description: A single stream target property.
          $ref: '#/components/schemas/stream_target_property'
    stream_target_properties_create_input:
      type: object
      title: properties
      description: ''
      required:
        - properties
      properties:
        properties:
          type: array
          description: >-
            An array of properties. The property configuration consists of a
            key/value pair and the section of the stream target configuration
            table the key/value pair is stored in. You can only set an array of
            properties on a Fastly or Akamai stream target. Available from
            version 1.7.
          items:
            $ref: '#/components/schemas/stream_target_property'
      example:
        properties:
          - key: acao
            section: hls
            value: http://www.example.com
          - key: chunkSize
            section: hls
            value: 6
          - key: relativePlaylists
            section: playlist
            value: true
    stream_target_property_create_input_repsonse:
      type: object
      title: property
      description: ''
      required:
        - property
      properties:
        property:
          title: property
          description: A single stream target property.
          $ref: '#/components/schemas/stream_target_property'
    stream_target_properties_create_input_response:
      type: object
      title: properties
      description: ''
      required:
        - properties
      properties:
        properties:
          type: array
          description: >-
            An array of properties. The property configuration consists of a
            key/value pair and the section of the stream target configuration
            table the key/value pair is stored in. You can only set an array of
            properties on a Fastly or Akamai stream target. Available from
            version 1.7.
          items:
            $ref: '#/components/schemas/stream_target_property'
      example:
        properties:
          - key: acao
            section: hls
            value: http://www.example.com
          - key: chunkSize
            section: hls
            value: 6
          - key: relativePlaylists
            section: playlist
            value: true
    index_transcoder:
      type: object
      title: transcoders
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the transcoder was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        name:
          type: string
          description: A descriptive name for the transcoder. Maximum 200 characters.
          example: ''
        state:
          type: string
          description: The state of the transcoder.
          example: resetting
          enum:
            - starting
            - stopping
            - started
            - stopped
            - resetting
        workflow:
          type: string
          description: >-
            The method by which the transcoder was created, either
            **transcoder** for a transcoder created through the transcoder
            workflow or **live_stream** for a transcoder created automatically
            as part of the live stream workflow.
          example: ''
          enum:
            - live_stream
            - transcoder
        updated_at:
          type: string
          description: The date and time that the transcoder was updated.
          example: ''
          format: date-time
    transcoders:
      type: object
      description: ''
      required:
        - transcoders
      properties:
        transcoders:
          type: array
          items:
            $ref: '#/components/schemas/index_transcoder'
      example:
        transcoders:
          - id: 2lsWj3F9
            name: My transcoder
            workflow: live_stream
            state: stopped
            created_at: '2020-01-28T17:16:22.097Z'
            updated_at: '2020-01-31T01:17:48.097Z'
          - id: VJbkhjzl
            name: My other transcoder
            workflow: transcoder
            state: started
            created_at: '2020-01-28T17:16:22.097Z'
            updated_at: '2020-01-30T16:03:28.097Z'
    transcoder_property:
      type: object
      description: >-
        A single property. The property configuration consists of a key/value
        pair and the section of the transcoder configuration table the key/value
        pair is stored in.
      title: property
      required:
        - section
        - key
        - value
      properties:
        key:
          type: string
          description: >-
            The key of the property.


            The following table lists the available property keys and what
            transcoder table section they're stored in.


            Section | Valid keys for the section

            ----------------|-------------

            **asset_management** | <ul><li>**enabled**</li></ul> <br/>**Note:**
            You need a Wowza Video subscription to access Asset Management.

            **cupertino** |
            <ul><li>**aes128Host**</li><li>**aes128Secret**</li></ul>

            **ezdrm** |
            <ul><li>**username**</li><li>**password**</li><li>**fairPlayAssetId**</li><li>**wideVineContentId**</li></ul>

            **file** |
            <ul><li>**repeat**</li><li>**start_streaming_at**</li></ul>

            **output** | <ul><li>**fitMode**</li><li>**record**</li></ul>

            **recording** | <ul><li>**mp4**</li></ul>

            **rtmp** | <ul><li>**allowDirectPlayback**</li></ul>

            **rtsp** |
            <ul><li>**avSyncMethod**</li><li>**debugRtspSession**</li><li>**maxRtcpWaitTime**</li><li>
            **rtpDePacketizerPacketSorterBufferTime**</li><li>**rtpDePacketizerPacketSorterFlushTime**</li><li>**rtpDePacketizerWrapper**</li><li>**rtpIgnoreSpropParameterSets**</li><li>**rtpIgnoreProfileLevelId**</li><li>**rtpTransportMode**</li><li>**rtspValidationFrequency**</li><li>**rtspFilterUnknownTracks**</li></ul>

            **vod_stream** |
            <ul><li>**hls**</li><li>**live2vod**</li></li></ul><br/>**Note:**
            VOD streams require a Fastly stream target with HLS as a delivery
            protocol.
          example: ''
        section:
          type: string
          description: >-
            The section of the transcoder configuration table that contains the
            property.
          example: ''
          enum:
            - asset_management
            - cupertino
            - ezdrm
            - file
            - output
            - recording
            - rtmp
            - rtsp
            - vod_stream
        value:
          type: string
          description: >-
            The value of the property.


            The following table provides information about valid values for each
            property key.


            Key(s) | Values for the key

            ----------------|-------------

            **aes128Host** | Specify the URL that devices will use to fetch the
            key to decrypt the stream.

            **aes128Secret** | Specify the 16-byte key that will be used to
            decrypt the stream. The key must be 32 characters in length and can
            only contain hex characters (a-f, A-F, 0-9). The key must match the
            key returned by the **aes128Host**.

            **enabled** | Specify **true** or **false**. Used in the
            **asset_mangement** section.

            **fitMode** | Use **letterbox**, **fit-width**, **fit-height**,
            **crop**, **stretch**, or **match-source**. The default is
            **fit-height**.

            **maxRtcpWaitTime** | Use a whole number, expressed as a string or
            an integer. The default is **2000** (ms).

            **record** | Use an output ID associated with the transcoder.

            **rtpDePacketizerPacketSorterBufferTime** | Use an integer,
            expressed as a string or an integer. The default is **500** (ms).

            **rtpDePacketizerPacketSorterFlushTime** | Use an integer, expressed
            as a string or an integer. The default is **10** (ms).

            **rtpDePacketizerWrapper** | Use the string
            **RTPDePacketizerWrapperPacketSorter**.

            **rtpTransportMode** | Use the string **udp** or **interleave** (the
            default).

            **rtspValidationFrequency** | Use a whole number, expressed as a
            string or an integer. The default is **15000** (ms).

            **start_streaming_at** | Specify the month, day, year, and time of
            day that the file should start streaming, expressed as a string.
            Express the value by using the ISO 8601 standard of
            <strong>YYYY-MM-DDTHH:MM:SSZ</strong> where <strong>HH</strong> is a
            24-hour clock in UTC.

            <ul><li>**username**</li><li>**password**</li><li>**fairplayAssetId**</li><li>**wideVineContentId**</li></ul>
            | Use account information and asset IDs from EZDRM. All strings.

            <ul><li>**avSyncMethod**</li><li>**debugRtspSession**</li><li>**mp4**</li><li>**repeat**</li><li>**rtspFilterUnknownTracks**</li><li>**rtpIgnoreSpropParameterSets**</li><li>**rtpIgnoreProfileLevelId**</li></ul>
            | Use **true** or **false**, expressed as a string or a Boolean.

            <ul><li>**hls**</li><li>**live2vod**</li></ul> | Use **true** or
            **false**, expressed as a string or a Boolean. When **true**,
            **hls** generates a VOD stream and **live2vod** replaces the live
            playlist with the VOD playlist after the stream ends so viewers can
            access the VOD stream on the live playback URL. **hls** must be
            **true** to enable **live2VOD**.
          example: ''
    transcoder_create_input:
      type: object
      description: ''
      required:
        - transcoder
      properties:
        transcoder:
          type: object
          title: transcoder
          description: ''
          required:
            - name
            - transcoder_type
            - billing_mode
            - broadcast_location
            - protocol
            - delivery_method
          properties:
            billing_mode:
              type: string
              description: >-
                The billing mode for the transcoder. The default is
                **pay_as_you_go**.


                **pay_as_you_go** — Billed as a single event. A single event is
                use-based and you incur charges for the time spent streaming.


                **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel
                is unlimited stream time for one channel. This billing mode
                doesn't incur overages, since it's unlimited.
              example: ''
              enum:
                - pay_as_you_go
                - twentyfour_seven
            broadcast_location:
              type: string
              description: >-
                The location where Wowza Video transcodes your stream. Choose a
                location as close as possible to your video source.
              example: ''
              enum:
                - asia_pacific_australia
                - asia_pacific_india
                - asia_pacific_japan
                - asia_pacific_singapore
                - asia_pacific_s_korea
                - asia_pacific_taiwan
                - eu_belgium
                - eu_germany
                - eu_ireland
                - south_america_brazil
                - us_central_iowa
                - us_east_s_carolina
                - us_east_virginia
                - us_west_california
                - us_west_oregon
            delivery_method:
              type: string
              description: >-
                The type of connection between the source encoder and the
                transcoder. The default, **pull**, instructs the transcoder to
                pull the video from the source. **push** instructs the source to
                push the stream to the transcoder. **cdn** uses a stream source
                to deliver the stream to the transcoder.
              example: ''
              enum:
                - pull
                - cdn
                - push
            name:
              type: string
              description: A descriptive name for the transcoder. Maximum 200 characters.
              example: ''
            protocol:
              type: string
              description: >-
                The transport protocol for the source video. The default is
                **rtmp**.
              example: ''
              enum:
                - file
                - rtmp
                - rtsp
                - srt
                - udp
                - webrtc
            transcoder_type:
              type: string
              description: >-
                The type of transcoder, either **transcoded** for streams that
                are transcoded into adaptive bitrate renditions or
                **passthrough** for streams that aren't processed by the
                transcoder. The default is **transcoded**.
              example: ''
              enum:
                - transcoded
                - passthrough
            buffer_size:
              type: integer
              description: >-
                The size, in milliseconds, of the incoming buffer. **0** means
                no buffer. The default is **4000** (4 seconds).


                **Example:** <code>"buffer_size": 4000</code>
              example: ''
              enum:
                - 0
                - 1000
                - 2000
                - 3000
                - 4000
                - 5000
                - 6000
                - 7000
                - 8000
              format: int32
            closed_caption_type:
              type: string
              description: >-
                The type of closed caption data being passed from the source.
                The default, **none**, indicates that no data is being provided.
                **cea** indicates that a CEA closed captioning data stream is
                being provided. **on_text** indicates that an onTextData closed
                captioning data stream is being provided. **both** indicates
                that both CEA and onTextData closed captioning data streams are
                being provided.


                **Example:** <code>"closed_caption_type": "cea"</code>
              example: ''
              enum:
                - none
                - cea
                - on_text
                - both
            delivery_protocols:
              type: array
              description: >-
                An array of playback protocols enabled for this transcoder. By
                default, **rtmp**, **rtsp**, and **wowz** are returned.


                **Example:** See response body sample </code>
              items:
                type: string
            description:
              type: string
              description: >-
                An optional description of the transcoder.


                **Example:** <code>"description": "This transcoder runs our 24/7
                stream."</code>
              example: ''
            disable_authentication:
              type: boolean
              description: >-
                Authentication is required by default for RTMP and RTSP push
                connections from a video source to the transcoder. Specify
                **true** to disable authentication with the video source.


                **Example:** <code>"disable_authentication": false</code>
              example: ''
            idle_timeout:
              type: integer
              description: >-
                The amount of idle time, in seconds, before the transcoder
                automatically shuts down. Valid values are the integers **0**
                (never shuts down) to **172800** (48 hours). The default is
                **1200** (20 minutes).


                **Example:** <code>"idle_timeout": 1600</code>
              example: ''
              format: int32
            low_latency:
              type: boolean
              description: >-
                If **true**, turns off the sort packet buffer and speeds the
                time it takes to decode and deliver video data to the player.
                The default is **false**.


                **Example:** <code>"low_latency": false</code>
              example: ''
            password:
              type: string
              description: >-
                A password for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"password": 68332313</code>
              example: ''
            play_maximum_connections:
              type: integer
              description: >-
                The number of users who are allowed to connect directly to the
                transcoder. The minimum and default value is **10**. The maximum
                number of connections varies by the size of the transcoder, with
                the maximum value for the largest transcoder being 300 viewers.


                **Example:** <code>"play_maximum_connections": 30</code>
              example: ''
              format: int32
            properties:
              type: array
              description: >-
                An array of properties to configure. The property configuration
                consists of a key/value pair and the section of the transcoder
                configuration table the key/value pair is stored in.


                Available from version 1.5.


                **Example:** See response body sample
              items:
                $ref: '#/components/schemas/transcoder_property'
            reference_id:
              type: string
              description: >-
                A unique, alphanumeric ID returned in transcoder webhook
                payloads. Setting a *reference_id* is useful if you have an ID
                in your system or application you want to associate with
                transcoder events that trigger webhooks. Maximum 70 characters.
                Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|


                You can't use brackets or quotation marks.


                See <a
                href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
                Video Webhook Event Reference Documentation</a> to learn about
                webhooks.


                Available from version 1.7.


                **Example:** <code>"reference_id": "mySystemID_01"</code>
              example: ''
            source_url:
              type: string
              description: >-
                For the *delivery_method* **pull** or *protocol* **file**.


                For **pull**, enter the source's web address without the
                protocol or the trailing slash (/).


                For **file**, enter the source file URL, including the protocol
                (http, https, gs, s3).



                **Example:** <code>"source_url":
                "xyz.streamlock.net/vod/mp4:Movie.mov"</code>
              example: ''
            stream_extension:
              type: string
              description: >-
                For the *delivery_method* **push**. Some encoders append an
                extension to their stream names. If the device you're using does
                this, enter the extension as a period (.) followed by
                alphanumeric characters.


                **Example:** <code>"stream_extension": ".sdp"</code>
              example: ''
            stream_smoother:
              type: boolean
              description: >-
                A dynamic buffer that helps stabilize streams in rough network
                conditions, but adds latency. Specify **true** to enable stream
                smoothing. The default is **false**.


                **Example:** <code>"stream_smoother": false</code>
              example: ''
            stream_source_id:
              type: string
              description: >-
                For the *delivery_method* **cdn**. The alphanumeric string that
                identifies the stream source that you want to use to deliver the
                stream to the transcoder.


                **Example:** <code>"stream_source_id": "rxHQQpWw"</code>
              example: ''
            suppress_stream_target_start:
              type: boolean
              description: >-
                If **true**, disables stream targets when the transcoder starts.
                If **false** (the default), the targets start when the
                transcoder starts.


                **Example:** <code>"suppress_stream_target_start": false</code>
              example: ''
            username:
              type: string
              description: >-
                A username for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"username": "client2"</code>
              example: ''
            watermark:
              type: boolean
              description: >-
                Embeds an image into the transcoded stream for copyright
                protection. Specify **true** to embed a watermark image.



                **Example:** <code>"watermark": true</code>
              example: ''
            watermark_height:
              type: integer
              description: >-
                The height, in pixels, of the watermark image. If blank, Wowza
                Video uses the original image height.


                **Example:** <code>"watermark_height": 80</code>
              example: ''
              format: int32
            watermark_image:
              type: string
              description: >-
                A Base64-encoded string representation of a GIF, JPEG, or PNG
                image that is embedded in all bitrate renditions of the stream.
                Watermark image files must be 2.5 MB or smaller.


                **Example:** <code>"watermark_image": "[Base64-encoded string
                representation of GIF, JPEG, or PNG file]"</code>
              example: ''
            watermark_opacity:
              type: integer
              description: >-
                The opacity, or percentage of transparency, of the watermark.
                **0** is fully transparent; **100** is fully opaque.


                **Example:** <code>"watermark_opacity": 75</code>
              example: ''
              enum:
                - 0
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 17
                - 18
                - 19
                - 20
                - 21
                - 22
                - 23
                - 24
                - 25
                - 26
                - 27
                - 28
                - 29
                - 30
                - 31
                - 32
                - 33
                - 34
                - 35
                - 36
                - 37
                - 38
                - 39
                - 40
                - 41
                - 42
                - 43
                - 44
                - 45
                - 46
                - 47
                - 48
                - 49
                - 50
                - 51
                - 52
                - 53
                - 54
                - 55
                - 56
                - 57
                - 58
                - 59
                - 60
                - 61
                - 62
                - 63
                - 64
                - 65
                - 66
                - 67
                - 68
                - 69
                - 70
                - 71
                - 72
                - 73
                - 74
                - 75
                - 76
                - 77
                - 78
                - 79
                - 80
                - 81
                - 82
                - 83
                - 84
                - 85
                - 86
                - 87
                - 88
                - 89
                - 90
                - 91
                - 92
                - 93
                - 94
                - 95
                - 96
                - 97
                - 98
                - 99
                - 100
              format: int32
            watermark_position:
              type: string
              description: >-
                The corner of the video frame in which you want the watermark to
                appear. The default is **top-left**.


                **Example:** <code>"watermark_position": "top-left"</code>
              example: ''
              enum:
                - top-left
                - top-right
                - bottom-left
                - bottom-right
            watermark_width:
              type: integer
              description: >-
                The width, in pixels, of the watermark image. If blank, Wowza
                Video uses the original image width.


                **Example:** <code>"watermark_width": 100</code>
              example: ''
              format: int32
      example:
        transcoder:
          billing_mode: pay_as_you_go
          broadcast_location: us_central_iowa
          delivery_method: pull
          name: My PAYG Transcoder
          protocol: rtmp
          transcoder_type: transcoded
    output_stream_target:
      type: object
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the output stream target was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique alphanumeric string that identifies the output stream
            target.
          example: ''
        stream_target:
          $ref: '#/components/schemas/index_stream_target'
        stream_target_id:
          type: string
          description: The unique alphanumeric string that identifies the stream target.
          example: ''
        updated_at:
          type: string
          description: The date and time that the output stream target was updated.
          example: ''
          format: date-time
        use_stream_target_backup_url:
          type: boolean
          description: >-
            Specifies whether the output stream target uses the stream target's
            primary or backup URL.
          example: ''
      example:
        id: 4Gp5rF23
        stream_target_id: QvvJYJjk
        use_stream_target_backup_url: true
        stream_target:
          id: QvvJYJjk
          name: My provisioned RTMP Stream Target
          type: wowza
          created_at: '2020-01-29T17:16:21.965Z'
          updated_at: '2020-01-31T04:06:40.965Z'
    output:
      type: object
      description: ''
      properties:
        aspect_ratio_height:
          type: integer
          description: >-
            The height, in pixels, of the output rendition. Should correspond to
            a widescreen or standard aspect ratio and be divisible by 8. The
            default is **1080**. Combined with **aspect_ratio_width**, makes up
            the input resolution.
          example: ''
          format: int32
        aspect_ratio_width:
          type: integer
          description: >-
            The width, in pixels, of the output rendition. Should correspond to
            a widescreen or standard aspect ratio and be divisible by 8. The
            default is **1920**. Combined with **aspect_ratio_height**, makes up
            the input resolution.
          example: ''
          format: int32
        bitrate_audio:
          type: integer
          description: >-
            The audio bitrate, in kilobits per second (Kbps). Must be between
            **1** and **9999**. If the **audio_codec** is **opus**, the default
            is **510**, otherwise the default is **128**.
          example: ''
          format: int32
        bitrate_video:
          type: integer
          description: >-
            The video bitrate, in kilobits per second (Kbps). Must be between
            **1** and **10240**. The default is **4000**.
          example: ''
          format: int32
        created_at:
          type: string
          description: The date and time that the output rendition was created.
          example: ''
          format: date-time
        framerate_reduction:
          type: string
          description: >-
            Reduce the frame rate of the transcoded output rendition. The
            default, **0**, uses the encoded stream's frame rate without
            reduction.
          example: ''
          enum:
            - '0'
            - 1/2
            - 1/4
            - 1/25
            - 1/30
            - 1/50
            - 1/60
        h264_profile:
          type: string
          description: >-
            The encoding method. Specify **main** for desktop streaming,
            **baseline** for playback on mobile devices, or **high** for HD
            playback. The default is **high**.
          example: ''
          enum:
            - main
            - baseline
            - high
        id:
          type: string
          description: The unique alphanumeric string that identifies the output rendition.
          example: ''
        keyframes:
          type: string
          description: >-
            The interval used to define the compression applied to a group of
            frames. The default, **follow_source**, uses the keyframe interval
            of the source video.
          example: ''
          enum:
            - follow_source
            - '25'
            - '30'
            - '50'
            - '60'
            - '100'
            - '120'
        name:
          type: string
          description: A descriptive name for the output (generated, not writable).
          example: ''
        output_stream_targets:
          type: array
          items:
            $ref: '#/components/schemas/output_stream_target'
        video_codec:
          type: string
          description: >-
            The codec used to encode the video stream. **disabled** sends the
            stream without a video track and **passthrough** sends the stream
            without transcoding the video track. Available from version 1.6.
          example: ''
          enum:
            - h264
            - passthrough
            - disabled
        audio_codec:
          type: string
          description: >-
            The codec used to encode the audio stream. **disabled** sends the
            stream without an audio track and **passthrough** sends the stream
            without transcoding the audio track. **aac** is the most commonly
            compatible audio codec for protocols, while **opus** is for WebRTC
            streams. Available from version 1.6.
          example: ''
          enum:
            - aac
            - opus
            - passthrough
            - disabled
        transcoder_id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        updated_at:
          type: string
          description: The date and time that the output rendition was updated.
          example: ''
          format: date-time
      example:
        aspect_ratio_height: 480
        aspect_ratio_width: 848
        bitrate_audio: 128
        bitrate_video: 1600
        created_at: '2020-01-29T17:16:21.964Z'
        framerate_reduction: 1/2
        h264_profile: main
        id: w9vJm3BJ
        keyframes: follow_source
        name: 'Standard Output: Video (848 x 480) + Audio'
        output_stream_targets:
          - {}
        video_codec: h264
        audio_codec: aac
        transcoder_id: PblTJm1t
        updated_at: '2020-01-31T13:47:33.964Z'
    transcoder:
      type: object
      description: ''
      properties:
        application_name:
          type: string
          description: The application name from the pull stream source URL.
          example: ''
        asset_id:
          type: string
          description: >-
            Only applies to the transcoder of a live stream created from
            re-streaming an asset in Asset Management. The id for the asset
            associated with the re-streamed live stream. You can manage this
            asset in Asset Management.
        billing_mode:
          type: string
          description: >-
            The billing mode for the transcoder. The default is
            **pay_as_you_go**.


                
            **pay_as_you_go** — Billed as a single event. A single event is
            use-based and you incur charges for the time spent streaming.
                

            **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel is
            unlimited stream time for one channel. This billing mode doesn't
            incur overages, since it's unlimited.
          example: ''
          enum:
            - pay_as_you_go
            - twentyfour_seven
        broadcast_location:
          type: string
          description: >-
            The location where Wowza Video transcodes your stream. Choose a
            location as close as possible to your video source.
          example: ''
          enum:
            - asia_pacific_australia
            - asia_pacific_india
            - asia_pacific_japan
            - asia_pacific_singapore
            - asia_pacific_s_korea
            - asia_pacific_taiwan
            - eu_belgium
            - eu_germany
            - eu_ireland
            - south_america_brazil
            - us_central_iowa
            - us_east_s_carolina
            - us_east_virginia
            - us_west_california
            - us_west_oregon
        buffer_size:
          type: integer
          description: >-
            The size, in milliseconds, of the incoming buffer. **0** means no
            buffer. The default is **4000** (4 seconds).
          example: ''
          enum:
            - 0
            - 1000
            - 2000
            - 3000
            - 4000
            - 5000
            - 6000
            - 7000
            - 8000
          format: int32
        closed_caption_type:
          type: string
          description: >-
            The type of closed caption data being passed from the source. The
            default, **none**, indicates that no data is being provided. **cea**
            indicates that a CEA closed captioning data stream is being
            provided. **on_text** indicates that an onTextData closed captioning
            data stream is being provided. **both** indicates that both CEA and
            onTextData closed captioning data streams are being provided.
          example: ''
          enum:
            - none
            - cea
            - on_text
            - both
        created_at:
          type: string
          description: The date and time that the transcoder was created.
          example: ''
          format: date-time
        delivery_method:
          type: string
          description: >-
            The type of connection between the source encoder and the
            transcoder. The default, **pull**, instructs the transcoder to pull
            the video from the source. **push** instructs the source to push the
            stream to the transcoder. **cdn** uses a stream source to deliver
            the stream to the transcoder.
          example: ''
          enum:
            - pull
            - cdn
            - push
        delivery_protocols:
          type: array
          description: >-
            An array of playback protocols enabled for this transcoder. By
            default, **rtmp**, **rtsp**, **webrtc**, and **wowz** are returned.
          items:
            type: string
        description:
          type: string
          description: An optional description of the transcoder.
          example: ''
        direct_playback_urls:
          type: object
          description: >-
            A list of direct playback URLs for the transcoder's delivery
            protocols. Each protocol has a URL for the source and a URL for each
            output rendition.
          properties:
            delivery_protocol:
              type: array
              description: The name of the direct playback protocol.
              items:
                type: object
                title: direct_playback_url
                properties:
                  name:
                    type: string
                    description: >-
                      The name of the playback URL: **source**, **default**, or
                      the output rendition's resolution.
                    example: ''
                  output_id:
                    type: string
                    description: >-
                      Only for output rendition-based playback URLs, not source
                      playback URLs. The unique alphanumeric string that
                      identifies the output rendition.
                    example: dcxq5q6c
                  url:
                    type: string
                    description: The playback URL for the source or output rendition.
                    example: >-
                      https://abcdef.dev.entrypoint.video.wowza.com/app-B8P6K226/ngrp:43a23e5a_all/playlist.m3u8
                  application_name:
                    type: string
                    description: (WebRTC only) The application name for the WebRTC output.
                    example: ''
                  stream_name:
                    type: string
                    description: >-
                      (WebRTC only) The stream name for the WebRTC output
                      rendition.
                    example: ''
        disable_authentication:
          type: boolean
          description: >-
            Authentication is required by default for RTMP and RTSP push
            connections from a video source to the transcoder. Specify **true**
            to disable authentication with the video source.
          example: ''
        domain_name:
          type: string
          description: The domain name from the pull stream source URL.
          example: ''
        id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        idle_timeout:
          type: integer
          description: >-
            The amount of idle time, in seconds, before the transcoder
            automatically shuts down. Valid values are the integers **0** (never
            shuts down) to **172800** (48 hours). The default is **1200** (20
            minutes).
          example: ''
          format: int32
        low_latency:
          type: boolean
          description: >-
            If **true**, turns off the sort packet buffer and speeds the time it
            takes to decode and deliver video data to the player. The default is
            **false**.
          example: ''
        name:
          type: string
          description: A descriptive name for the transcoder. Maximum 200 characters.
          example: ''
        outputs:
          type: array
          description: Output renditions associated with the transcoder.
          items:
            $ref: '#/components/schemas/output'
        password:
          type: string
          description: >-
            A password for authenticating an RTMP or RTSP push connection. Can
            contain only uppercase and lowercase letters; numbers; and the
            period (.), underscore (_), and hyphen (-) characters. No other
            special characters can be used.
          example: ''
        playback_stream_name:
          type: string
          description: The stream name used in the direct playback URL.
          example: ''
        play_maximum_connections:
          type: integer
          description: >-
            The number of users who are allowed to connect directly to the
            transcoder. The minimum and default value is **10**. The maximum
            number of connections varies by the size of the transcoder, with the
            maximum value for the largest transcoder being 300 viewers.
          example: ''
          format: int32
        protocol:
          type: string
          description: >-
            The transport protocol for the source video. The default is
            **rtmp**.
          example: ''
          enum:
            - file
            - rtmp
            - rtsp
            - srt
            - udp
            - webrtc
        reference_id:
          type: string
          description: >-
            A unique, alphanumeric ID returned in transcoder webhook payloads.
            Setting a *reference_id* is useful if you have an ID in your system
            or application you want to associate with transcoder events that
            trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z
            0-9 !@#$%^&*()-_+=:;,.?~|


            You can't use brackets or quotation marks.


            See <a
            href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
            Video Webhook Event Reference Documentation</a> to learn about
            webhooks.


            Available from version 1.7.
          example: ''
        source_port:
          type: integer
          description: The port used for RTMP pull connections to Wowza Video.
          example: ''
          format: int32
        source_url:
          type: string
          description: >-
            For the *delivery_method* **pull** or *protocol* **file**.


            For **pull**, enter the source's web address without the preceding
            protocol or the trailing slash (/).


            For **file**, enter the source file URL, including the protocol
            (http, https, gs, s3).
          example: ''
        stream_extension:
          type: string
          description: >-
            For the *delivery_method* **push**. Some encoders append an
            extension to their stream names. If the device you're using does
            this, enter the extension as a period (.) followed by alphanumeric
            characters.
          example: ''
        stream_name:
          type: string
          description: The stream name from the pull stream source URL.
          example: ''
        stream_smoother:
          type: boolean
          description: >-
            A dynamic buffer that helps stabilize streams in rough network
            conditions, but adds latency. Specify **true** to enable stream
            smoothing. The default is **false**.
          example: ''
        stream_source_id:
          type: string
          description: >-
            For the *delivery_method* **cdn**. The alphanumeric string that
            identifies the stream source that you want to use to deliver the
            stream to the transcoder.
          example: ''
        suppress_stream_target_start:
          type: boolean
          description: >-
            If **true**, disables stream targets when the transcoder starts. If
            **false** (the default), the targets start when the transcoder
            starts.
          example: ''
        transcoder_type:
          type: string
          description: >-
            The type of transcoder, either **transcoded** for streams that are
            transcoded into adaptive bitrate renditions or **passthrough** for
            streams that aren't processed by the transcoder. The default is
            **transcoded**.
          example: ''
          enum:
            - transcoded
            - passthrough
        updated_at:
          type: string
          description: The date and time that the transcoder was updated.
          example: ''
          format: date-time
        username:
          type: string
          description: >-
            A username for authenticating an RTMP or RTSP push connection. Can
            contain only uppercase and lowercase letters; numbers; and the
            period (.), underscore (_), and hyphen (-) characters. No other
            special characters can be used.
          example: ''
        watermark:
          type: boolean
          description: >-
            Embeds an image into the transcoded stream for copyright protection.
            Specify **true** to embed a watermark image.
          example: ''
        watermark_height:
          type: integer
          description: >-
            The height, in pixels, of the watermark image. If blank, Wowza Video
            uses the original image height.
          example: ''
          format: int32
        watermark_image_url:
          type: string
          description: >-
            The path to a GIF, JPEG, or PNG image that is embedded in all
            bitrate renditions of the stream. Watermark image files must be 2.5
            MB or smaller.
          example: ''
        watermark_opacity:
          type: integer
          description: >-
            The opacity, or percentage of transparency, of the watermark. **0**
            is fully transparent; **100** is fully opaque.
          example: ''
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
            - 31
            - 32
            - 33
            - 34
            - 35
            - 36
            - 37
            - 38
            - 39
            - 40
            - 41
            - 42
            - 43
            - 44
            - 45
            - 46
            - 47
            - 48
            - 49
            - 50
            - 51
            - 52
            - 53
            - 54
            - 55
            - 56
            - 57
            - 58
            - 59
            - 60
            - 61
            - 62
            - 63
            - 64
            - 65
            - 66
            - 67
            - 68
            - 69
            - 70
            - 71
            - 72
            - 73
            - 74
            - 75
            - 76
            - 77
            - 78
            - 79
            - 80
            - 81
            - 82
            - 83
            - 84
            - 85
            - 86
            - 87
            - 88
            - 89
            - 90
            - 91
            - 92
            - 93
            - 94
            - 95
            - 96
            - 97
            - 98
            - 99
            - 100
          format: int32
        watermark_position:
          type: string
          description: >-
            The corner of the video frame in which you want the watermark to
            appear. The default is **top-left**.
          example: ''
          enum:
            - top-left
            - top-right
            - bottom-left
            - bottom-right
        watermark_width:
          type: integer
          description: >-
            The width, in pixels, of the watermark image. If blank, Wowza Video
            uses the original image width.
          example: ''
          format: int32
      example:
        application_name: app-B8P6K226
        billing_mode: pay_as_you_go
        broadcast_location: us_central_iowa
        buffer_size: 4000
        closed_caption_type: cea
        created_at: '2020-01-28T17:16:22.098Z'
        delivery_method: push
        delivery_protocols:
          - rtmp
          - rtsp
          - wowz
          - webrtc
        description: My Transcoder Description
        direct_playback_urls:
          rtmp:
            - name: source
              url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream6
          rtsp:
            - name: source
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
          wowz:
            - name: source
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
            - name: webrtc
              output_id: dcxq5q6c
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: >-
                wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
          webrtc:
            - name: source
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead
            - name: webrtc
              output_id: dcxq5q6c
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream1
            - name: V:1280x720+A:128K
              output_id: 0g116zkf
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream2
            - name: V:854x480+A:128K
              output_id: 4qqkwndt
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream3
            - name: V:640x360+A:128K
              output_id: 0pv8djpg
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream4
            - name: V:512x288+A:128K
              output_id: b09xrxjf
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream5
            - name: V:320x180+A:128K
              output_id: bvkh2nsz
              url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
              application_name: app-B8P6K226
              stream_name: 1722aead_stream6
        disable_authentication: false
        domain_name: f92334.entrypoint.video.wowza.com
        id: 2lsWj3F9
        idle_timeout: 1200
        low_latency: false
        name: My PAYG Transcoder
        outputs:
          - {}
        password: 82e0e971
        playback_stream_name: wxyz6789
        play_maximum_connections: 20
        properties:
          - key: fitMode
            section: output
            value: letterbox
          - key: rtpIgnoreProfileLevelId
            section: rtsp
            value: true
        protocol: rtmp
        reference_id: mySystemID_01
        source_port: 1935
        stream_extension: .sdp
        stream_name: 10eb0ed8
        stream_smoother: false
        suppress_stream_target_start: false
        transcoder_type: transcoded
        updated_at: '2020-01-31T15:46:50.098Z'
        username: client2
        watermark: true
        watermark_height: 80
        watermark_image_url: >-
          https://prod.s3.amazonaws.com/uploads/transcoder/watermark_image/12345/4baa13.jpg
        watermark_opacity: 75
        watermark_position: top-right
        watermark_width: 100
    transcoder_update_input:
      type: object
      description: ''
      required:
        - transcoder
      properties:
        transcoder:
          type: object
          title: transcoder
          description: ''
          properties:
            delivery_method:
              type: string
              description: >-
                The type of connection between the source encoder and the
                transcoder. The default, **pull**, instructs the transcoder to
                pull the video from the source. **push** instructs the source to
                push the stream to the transcoder. **cdn** uses a stream source
                to deliver the stream to the transcoder.


                **Example:** <code>"delivery_method": "pull"</code>
              example: ''
              enum:
                - pull
                - cdn
                - push
            name:
              type: string
              description: |-
                A descriptive name for the transcoder. Maximum 200 characters.

                **Example:** <code>"name": "My Updated Transcoder"</code>
              example: ''
            protocol:
              type: string
              description: >-
                The transport protocol for the source video. The default is
                **rtmp**.


                **Example:** <code>"protocol": "webrtc"</code>
              example: ''
              enum:
                - file
                - rtmp
                - rtsp
                - srt
                - udp
                - webrtc
            broadcast_location:
              type: string
              description: >-
                The location where Wowza Video transcodes your stream. Choose a
                location as close as possible to your video source.


                **Example:** <code>"broadcast_location":
                "us_central_iowa"</code>
              example: ''
              enum:
                - asia_pacific_australia
                - asia_pacific_india
                - asia_pacific_japan
                - asia_pacific_singapore
                - asia_pacific_s_korea
                - asia_pacific_taiwan
                - eu_belgium
                - eu_germany
                - eu_ireland
                - south_america_brazil
                - us_central_iowa
                - us_east_s_carolina
                - us_east_virginia
                - us_west_california
                - us_west_oregon
            buffer_size:
              type: integer
              description: >-
                The size, in milliseconds, of the incoming buffer. **0** means
                no buffer. The default is **4000** (4 seconds).


                **Example:** <code>"buffer_size": 4000</code>
              example: ''
              enum:
                - 0
                - 1000
                - 2000
                - 3000
                - 4000
                - 5000
                - 6000
                - 7000
                - 8000
              format: int32
            closed_caption_type:
              type: string
              description: >-
                The type of closed caption data being passed from the source.
                The default, **none**, indicates that no data is being provided.
                **cea** indicates that a CEA closed captioning data stream is
                being provided. **on_text** indicates that an onTextData closed
                captioning data stream is being provided. **both** indicates
                that both CEA and onTextData closed captioning data streams are
                being provided.


                **Example:** <code>"closed_caption_type": "cea"</code>
              example: ''
              enum:
                - none
                - cea
                - on_text
                - both
            delivery_protocols:
              type: array
              description: >-
                An array of playback protocols enabled for this transcoder. By
                default, **rtmp**, **rtsp**, **webrtc**, and **wowz** are
                returned.


                **Example:** See response body sample </code>
              items:
                type: string
            description:
              type: string
              description: >-
                An optional description of the transcoder.


                **Example:** <code>"description": "This transcoder runs our 24/7
                stream."</code>
              example: ''
            disable_authentication:
              type: boolean
              description: >-
                Authentication is required by default for RTMP and RTSP push
                connections from a video source to the transcoder. Specify
                **true** to disable authentication with the video source.


                **Example:** <code>"disable_authentication": false</code>
              example: ''
            idle_timeout:
              type: integer
              description: >-
                The amount of idle time, in seconds, before the transcoder
                automatically shuts down. Valid values are the integers **0**
                (never shuts down) to **172800** (48 hours). The default is
                **1200** (20 minutes).


                **Example:** <code>"idle_timeout": 1600</code>
              example: ''
              format: int32
            low_latency:
              type: boolean
              description: >-
                If **true**, turns off the sort packet buffer and speeds the
                time it takes to decode and deliver video data to the player.
                The default is **false**.


                **Example:** <code>"low_latency": false</code>
              example: ''
            password:
              type: string
              description: >-
                A password for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.


                **Example:** <code>"password": 68332313</code>
              example: ''
            play_maximum_connections:
              type: integer
              description: >-
                The number of users who are allowed to connect directly to the
                transcoder. The minimum and default value is **10**. The maximum
                number of connections varies by the size of the transcoder, with
                the maximum value for the largest transcoder being 300 viewers.


                **Example:** <code>"play_maximum_connections": 30</code>
              example: ''
              format: int32
            properties:
              type: array
              description: >-
                An array of properties to configure. The property configuration
                consists of a key/value pair and the section of the transcoder
                configuration table the key/value pair is stored in.


                Available from version 1.5.


                **Example:** See response body sample
              items:
                $ref: '#/components/schemas/transcoder_property'
            reference_id:
              type: string
              description: >-
                A unique, alphanumeric ID returned in transcoder webhook
                payloads. Setting a *reference_id* is useful if you have an ID
                in your system or application you want to associate with
                transcoder events that trigger webhooks. Maximum 70 characters.
                Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|


                You can't use brackets or quotation marks.


                See <a
                href="https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation">Wowza
                Video Webhook Event Reference Documentation</a> to learn about
                webhooks.


                Available from version 1.7.


                **Example:** <code>"reference_id": "mySystemID_01"</code>
              example: ''
            remove_watermark_image:
              type: boolean
              description: >-
                If **true**, removes the watermark from the output. The default
                is **false**.


                **Example:** <code>"remove_watermark_image": true</code>
              example: ''
            source_url:
              type: string
              description: >-
                For the *delivery_method* **pull** or *protocol* **file**.


                For **pull**, enter the source's web address without the
                protocol or the trailing slash (/).


                For **file**, enter the source file URL, including the protocol
                (http, https, gs, s3).



                **Example:** <code>"source_url":
                "xyz.streamlock.net/vod/mp4:Movie.mov"</code>
              example: ''
            stream_extension:
              type: string
              description: >-
                For the *delivery_method* **push**. Some encoders append an
                extension to their stream names. If the device you're using does
                this, enter the extension as a period (.) followed by
                alphanumeric characters.


                **Example:** <code>"stream_extension": ".sdp"</code>
              example: ''
            stream_smoother:
              type: boolean
              description: >-
                A dynamic buffer that helps stabilize streams in rough network
                conditions, but adds latency. Specify **true** to enable stream
                smoothing. The default is **false**.


                **Example:** <code>"stream_smoother": false</code>
              example: ''
            stream_source_id:
              type: string
              description: >-
                For the *delivery_method* **cdn**. The alphanumeric string that
                identifies the stream source that you want to use to deliver the
                stream to the transcoder.


                **Example:** <code>"stream_source_id": "rxHQQpWw"</code>
              example: ''
            suppress_stream_target_start:
              type: boolean
              description: >-
                If **true**, disables stream targets when the transcoder starts.
                If **false** (the default), the targets start when the
                transcoder starts.


                **Example:** <code>"suppress_stream_target_start": false</code>
              example: ''
            username:
              type: string
              description: >-
                A username for authenticating an RTMP or RTSP push connection.
                Can contain only uppercase and lowercase letters; numbers; and
                the period (.), underscore (_), and hyphen (-) characters. No
                other special characters can be used.



                **Example:** <code>"username": "client2"</code>
              example: ''
            watermark:
              type: boolean
              description: >-
                Embeds an image into the transcoded stream for copyright
                protection. Specify **true** to embed a watermark image.


                **Example:** <code>"watermark": true</code>
              example: ''
            watermark_height:
              type: integer
              description: >-
                The height, in pixels, of the watermark image. If blank, Wowza
                Video uses the original image height.


                **Example:** <code>"watermark_height": 80</code>
              example: ''
              format: int32
            watermark_image:
              type: string
              description: >-
                A Base64-encoded string representation of a GIF, JPEG, or PNG
                image that is embedded in all bitrate renditions of the stream.
                Watermark image files must be 2.5 MB or smaller.


                **Example:** <code>"watermark_image": "[Base64-encoded string
                representation of GIF, JPEG, or PNG file]"</code>
              example: ''
            watermark_opacity:
              type: integer
              description: >-
                The opacity, or percentage of transparency, of the watermark.
                **0** is fully transparent; **100** is fully opaque.


                **Example:** <code>"watermark_opacity": 75</code>
              example: ''
              enum:
                - 0
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 17
                - 18
                - 19
                - 20
                - 21
                - 22
                - 23
                - 24
                - 25
                - 26
                - 27
                - 28
                - 29
                - 30
                - 31
                - 32
                - 33
                - 34
                - 35
                - 36
                - 37
                - 38
                - 39
                - 40
                - 41
                - 42
                - 43
                - 44
                - 45
                - 46
                - 47
                - 48
                - 49
                - 50
                - 51
                - 52
                - 53
                - 54
                - 55
                - 56
                - 57
                - 58
                - 59
                - 60
                - 61
                - 62
                - 63
                - 64
                - 65
                - 66
                - 67
                - 68
                - 69
                - 70
                - 71
                - 72
                - 73
                - 74
                - 75
                - 76
                - 77
                - 78
                - 79
                - 80
                - 81
                - 82
                - 83
                - 84
                - 85
                - 86
                - 87
                - 88
                - 89
                - 90
                - 91
                - 92
                - 93
                - 94
                - 95
                - 96
                - 97
                - 98
                - 99
                - 100
              format: int32
            watermark_position:
              type: string
              description: >-
                The corner of the video frame in which you want the watermark to
                appear. The default is **top-left**.


                **Example:** <code>"watermark_position": "top-left"</code>
              example: ''
              enum:
                - top-left
                - top-right
                - bottom-left
                - bottom-right
            watermark_width:
              type: integer
              description: >-
                The width, in pixels, of the watermark image. If blank, Wowza
                Video uses the original image width.


                **Example:** <code>"watermark_width": 100</code>
              example: ''
              format: int32
      example:
        transcoder:
          name: My Updated Transcoder
          watermark_position: bottom-left
    uptime:
      type: object
      description: ''
      properties:
        billed:
          type: boolean
          description: >-
            A Boolean value that indicates if the usage generated by this uptime
            has been sent for billing processing.
          example: ''
        created_at:
          type: string
          description: The date and time that the uptime record was created.
          example: ''
          format: date-time
        ended_at:
          type: string
          description: >-
            The date and time that the transcoder was stopped for this uptime.
            If this value is not present, it indicates that the transcoder is
            currently running.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the uptime record.
          example: ''
        running:
          type: boolean
          description: >-
            A Boolean value that indicates if the transcoder is still running
            for this uptime.
          example: ''
        started_at:
          type: string
          description: The date and time that the transcoder started for this uptime.
          example: ''
          format: date-time
        transcoder_id:
          type: string
          description: The unique alphanumeric string that identifies the transcoder.
          example: ''
        updated_at:
          type: string
          description: The date and time that the uptime record was updated.
          example: ''
      example:
        billed: false
        created_at: '2017-07-06T14:22:00.000Z'
        id: 1234abcd
        running: true
        started_at: '2017-07-06T14:22:00.000Z'
        transcoder_id: 2adffc17
        updated_at: '2017-07-06T14:22:00.000Z'
    uptimes:
      type: object
      description: ''
      required:
        - uptimes
      properties:
        uptimes:
          type: array
          items:
            $ref: '#/components/schemas/uptime'
      example:
        uptimes:
          - billed: false
            created_at: '2017-07-06T14:22:00.000Z'
            id: 1234abcd
            running: true
            started_at: '2017-07-06T14:22:00.000Z'
            transcoder_id: 2adffc17
            updated_at: '2017-07-06T14:22:00.000Z'
          - billed: true
            created_at: '2017-07-08T14:22:00.000Z'
            ended_at: '2017-07-08T16:40:00.000Z'
            id: 5679wxyz
            running: false
            started_at: '2017-07-08T14:22:00.000Z'
            transcoder_id: ff9l4838
            updated_at: '2017-07-08T16:40:00.000Z'
    shm_historic_metrics:
      type: object
      description: ''
      properties:
        audio_codec:
          $ref: '#/components/schemas/audio_codec_metric'
        bits_in_rate:
          $ref: '#/components/schemas/bits_in_rate_metric'
        bits_out_rate:
          $ref: '#/components/schemas/bits_out_rate_metric'
        created_at:
          type: string
          description: The date and time that the stream health record was created.
          example: '2017-07-06T14:20:00.000Z'
        frame_rate:
          $ref: '#/components/schemas/frame_rate_metric'
        height:
          $ref: '#/components/schemas/height_metric'
        keyframe_interval:
          $ref: '#/components/schemas/keyframe_interval_metric'
        video_codec:
          $ref: '#/components/schemas/video_codec_metric'
        width:
          $ref: '#/components/schemas/width_metric'
    outputs:
      type: object
      description: ''
      required:
        - outputs
      properties:
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/output'
      example:
        outputs:
          - aspect_ratio_height: 480
            aspect_ratio_width: 848
            bitrate_audio: 128
            bitrate_video: 1600
            created_at: '2020-01-29T17:16:21.958Z'
            framerate_reduction: 1/2
            h264_profile: main
            id: w9vJm3BJ
            keyframes: follow_source
            name: 'Standard Output: Video (848 x 480) + Audio'
            output_stream_targets:
              - {}
            video_codec: h264
            audio_codec: aac
            transcoder_id: PblTJm1t
            updated_at: '2020-01-31T03:29:50.958Z'
          - created_at: '2020-01-29T17:16:21.958Z'
            id: PPqV0kcm
            name: 'Standard Output: Video + Audio'
            output_stream_targets:
              - {}
            video_codec: passthrough
            audio_codec: passthrough
            transcoder_id: Yf5lyjCV
            updated_at: '2020-01-31T03:55:05.958Z'
    output_input:
      type: object
      description: ''
      required:
        - output
      properties:
        output:
          type: object
          title: output
          description: ''
          required:
            - video_codec
            - audio_codec
          properties:
            video_codec:
              type: string
              description: >-
                The codec used to encode the video stream. **disabled** sends
                the stream without a video track and **passthrough** sends the
                stream without transcoding the video track. Available from
                version 1.6.
              example: h264
              enum:
                - h264
                - passthrough
                - disabled
            audio_codec:
              type: string
              description: >-
                The codec used to encode the audio stream. **disabled** sends
                the stream without an audio track and **passthrough** sends the
                stream without transcoding the audio track. **aac** is the most
                commonly compatible audio codec for protocols, while **opus** is
                for WebRTC streams. Available from version 1.6.
              example: aac
              enum:
                - aac
                - opus
                - passthrough
                - disabled
            aspect_ratio_height:
              type: integer
              description: >-
                The height, in pixels, of the output rendition. Should
                correspond to a widescreen or standard aspect ratio and be
                divisible by 8. The default is **1080**. Combined with
                **aspect_ratio_width**, makes up the input resolution.


                **Example:** <code>"aspect_ratio_height": 1080</code>
              example: 480
              format: int32
            aspect_ratio_width:
              type: integer
              description: >-
                The width, in pixels, of the output rendition. Should correspond
                to a widescreen or standard aspect ratio and be divisible by 8.
                The default is **1920**. Combined with **aspect_ratio_height**,
                makes up the input resolution.


                **Example:** <code>"aspect_ratio_width": 1920</code>
              example: 848
              format: int32
            bitrate_audio:
              type: integer
              description: >-
                The audio bitrate, in kilobits per second (Kbps). Must be
                between **1** and **9999**. If the **audio_codec** is **opus**,
                the default is **510**, otherwise the default is **128**.


                **Example:** <code>"bitrate_audio": 128</code>
              example: 128
              format: int32
            bitrate_video:
              type: integer
              description: >-
                The video bitrate, in kilobits per second (Kbps). Must be
                between **1** and **10240**. The default is **4000**.


                **Example:** <code>"bitrate_audio": 1600</code>
              example: 1600
              format: int32
            framerate_reduction:
              type: string
              description: >-
                Reduce the frame rate of the transcoded output rendition. The
                default, **0**, uses the encoded stream's frame rate without
                reduction.


                **Example:** <code>"frame_reduction": "1/2"</code>
              example: 1/2
              enum:
                - '0'
                - 1/2
                - 1/4
                - 1/25
                - 1/30
                - 1/50
                - 1/60
            h264_profile:
              type: string
              description: >-
                The encoding method. Specify **main** for desktop streaming,
                **baseline** for playback on mobile devices, or **high** for HD
                playback. The default is **high**.


                **Example:** <code>"h264_profile": "main"</code>
              example: main
              enum:
                - main
                - baseline
                - high
            keyframes:
              type: string
              description: >-
                The interval used to define the compression applied to a group
                of frames. The default, **follow_source**, uses the keyframe
                interval of the source video.


                **Example:** <code>"keyframes": "follow_source"</code>
              example: follow_source
              enum:
                - follow_source
                - '25'
                - '30'
                - '50'
                - '60'
                - '100'
                - '120'
      example:
        output:
          video_codec: h264
          audio_codec: aac
          aspect_ratio_height: 480
          aspect_ratio_width: 848
          bitrate_audio: 128
          bitrate_video: 1600
          framerate_reduction: 1/2
          h264_profile: main
          keyframes: follow_source
    output_create_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/output_input'
    output_update_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/output_input'
    output_stream_targets:
      type: object
      description: ''
      required:
        - output_stream_targets
      properties:
        output_stream_targets:
          type: array
          items:
            $ref: '#/components/schemas/output_stream_target'
      example:
        output_stream_targets:
          - id: 4Gp5rF23
            stream_target_id: QvvJYJjk
            use_stream_target_backup_url: false
            stream_target:
              id: QvvJYJjk
              name: My provisioned RTMP Stream Target
              type: wowza
              created_at: '2020-01-29T17:16:21.965Z'
              updated_at: '2020-01-31T05:45:33.965Z'
          - id: 345Gd9Hs
            stream_target_id: R32u8HDk
            use_stream_target_backup_url: false
            stream_target:
              id: R32u8HDk
              name: My other provisioned RTMP Stream Target
              type: wowza
              created_at: '2020-01-29T17:16:21.965Z'
              updated_at: '2020-01-31T12:19:50.965Z'
    output_stream_target_input:
      type: object
      description: ''
      required:
        - output_stream_target
      properties:
        output_stream_target:
          type: object
          title: output_stream_target
          description: ''
          required:
            - stream_target_id
          properties:
            stream_target_id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the stream
                target.
              example: 1234abcd
            use_stream_target_backup_url:
              type: boolean
              description: >-

                Specifies whether the output stream target uses the stream
                target's primary or backup URL.


                When both the primary and backup URLs are used, Wowza Video
                sends the stream to both URLs, allowing a provider or 3rd party
                CDN to improve reliability and prevent playback disruption. If
                you want to use both URLs, make sure you add the stream target
                to the output rendition twice, once with
                *use_stream_target_backup_url* as **false** (the default) and
                once with *use_stream_target_backup_url* as **true**.


                **Example:** <code>"use_stream_target_backup_url": true</code>
              example: true
    output_stream_target_create_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/output_stream_target_input'
    output_stream_target_update_input:
      description: ''
      allOf:
        - $ref: '#/components/schemas/output_stream_target_input'
    transcoder_configure_properties_post_response:
      type: object
      title: properties
      description: ''
      properties:
        properties:
          type: array
          description: An array of properties.
          items:
            $ref: '#/components/schemas/transcoder_property'
      example:
        properties:
          - key: fitMode
            section: output
            value: letterbox
          - key: rtpIgnoreProfileLevelId
            section: rtsp
            value: true
    transcoder_property_create_input:
      type: object
      title: property
      description: ''
      properties:
        property:
          type: object
          title: property
          description: >-

            The single property to configure. The property configuration
            consists of a key/value pair and the section of the transcoder
            configuration table the key/value pair is stored in.
          required:
            - section
            - key
            - value
          properties:
            key:
              type: string
              description: >-
                The key of the property.


                The following table lists the available property keys and what
                transcoder table section they're stored in.


                Section | Valid keys for the section

                ----------------|-------------

                **asset_management** | <ul><li>**enabled**</li></ul>
                <br/>**Note:** You need a Wowza Video subscription to access
                Asset Management.

                **cupertino** |
                <ul><li>**aes128Host**</li><li>**aes128Secret**</li></ul>

                **ezdrm** |
                <ul><li>**username**</li><li>**password**</li><li>**fairPlayAssetId**</li><li>**wideVineContentId**</li></ul>

                **file** |
                <ul><li>**repeat**</li><li>**start_streaming_at**</li></ul>

                **output** | <ul><li>**fitMode**</li><li>**record**</li></ul>

                **recording** | <ul><li>**mp4**</li></ul>

                **rtmp** | <ul><li>**allowDirectPlayback**</li></ul>

                **rtsp** |
                <ul><li>**avSyncMethod**</li><li>**debugRtspSession**</li><li>**maxRtcpWaitTime**</li><li>
                **rtpDePacketizerPacketSorterBufferTime**</li><li>**rtpDePacketizerPacketSorterFlushTime**</li><li>**rtpDePacketizerWrapper**</li><li>**rtpIgnoreSpropParameterSets**</li><li>**rtpIgnoreProfileLevelId**</li><li>**rtpTransportMode**</li><li>**rtspValidationFrequency**</li><li>**rtspFilterUnknownTracks**</li></ul>

                **vod_stream** |
                <ul><li>**hls**</li><li>**live2vod**</li></li></ul><br/>**Note:**
                VOD streams require a Fastly stream target with HLS as a
                delivery protocol.
              example: rtpIgnoreProfileLevelId
            section:
              type: string
              description: >-
                The section of the transcoder configuration table that contains
                the property.
              example: rtsp
              enum:
                - asset_management
                - cupertino
                - ezdrm
                - file
                - output
                - recording
                - rtmp
                - rtsp
                - vod_stream
            value:
              type: string
              description: >-
                The value of the property.


                The following table provides information about valid values for
                each property key.


                Key(s) | Values for the key

                ----------------|-------------

                **aes128Host** | Specify the URL that devices will use to fetch
                the key to decrypt the stream.

                **aes128Secret** | Specify the 16-byte key that will be used to
                decrypt the stream. The key must be 32 characters in length and
                can only contain hex characters (a-f, A-F, 0-9). The key must
                match the key returned by the **aes128Host**.

                **enabled** | Specify **true** or **false**. Used in the
                **asset_mangement** section.

                **fitMode** | Use **letterbox**, **fit-width**, **fit-height**,
                **crop**, **stretch**, or **match-source**. The default is
                **fit-height**.

                **maxRtcpWaitTime** | Use a whole number, expressed as a string
                or an integer. The default is **2000** (ms).

                **record** | Use an output ID associated with the transcoder.

                **rtpDePacketizerPacketSorterBufferTime** | Use an integer,
                expressed as a string or an integer. The default is **500**
                (ms).

                **rtpDePacketizerPacketSorterFlushTime** | Use an integer,
                expressed as a string or an integer. The default is **10** (ms).

                **rtpDePacketizerWrapper** | Use the string
                **RTPDePacketizerWrapperPacketSorter**.

                **rtpTransportMode** | Use the string **udp** or **interleave**
                (the default).

                **rtspValidationFrequency** | Use a whole number, expressed as a
                string or an integer. The default is **15000** (ms).

                **start_streaming_at** | Specify the month, day, year, and time
                of day that the file should start streaming, expressed as a
                string. Express the value by using the ISO 8601 standard of
                <strong>YYYY-MM-DDTHH:MM:SSZ</strong> where <strong>HH</strong>
                is a 24-hour clock in UTC.

                <ul><li>**username**</li><li>**password**</li><li>**fairplayAssetId**</li><li>**wideVineContentId**</li></ul>
                | Use account information and asset IDs from EZDRM. All strings.

                <ul><li>**avSyncMethod**</li><li>**debugRtspSession**</li><li>**mp4**</li><li>**repeat**</li><li>**rtspFilterUnknownTracks**</li><li>**rtpIgnoreSpropParameterSets**</li><li>**rtpIgnoreProfileLevelId**</li></ul>
                | Use **true** or **false**, expressed as a string or a Boolean.

                <ul><li>**hls**</li><li>**live2vod**</li></ul> | Use **true** or
                **false**, expressed as a string or a Boolean. When **true**,
                **hls** generates a VOD stream and **live2vod** replaces the
                live playlist with the VOD playlist after the stream ends so
                viewers can access the VOD stream on the live playback URL.
                **hls** must be **true** to enable **live2VOD**.
              example: 'true'
    transcoder_properties_create_input:
      type: object
      title: properties
      description: ''
      properties:
        properties:
          type: array
          title: properties
          description: >-
            An array of properties to configure. The property configuration
            consists of a key/value pair and the section of the transcoder
            configuration table the key/value pair is stored in.


            Available from version 1.7.
          required:
            - section
            - key
            - value
          items:
            $ref: '#/components/schemas/transcoder_property'
      example:
        properties:
          - key: fitMode
            section: output
            value: letterbox
          - key: rtpIgnoreProfileLevelId
            section: rtsp
            value: true
    transcoder_configure_property_post_response:
      type: object
      title: property
      description: ''
      properties:
        property:
          description: The configured transcoder property.
          $ref: '#/components/schemas/transcoder_property'
      example:
        property:
          - key: rtpIgnoreProfileLevelId
            section: rtsp
            value: true
    usage_accounts:
      type: object
      description: ''
      properties:
        account:
          type: object
          title: account
          description: Data for the account.
          properties:
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            egress_seconds:
              type: integer
              description: >-
                The length of time, in seconds, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
              format: int32
            egress_seconds_additional_targets:
              type: integer
              description: >-
                The length of time, in seconds, that additional stream targets
                pulled from storage during the selected time frame.
                Subscriptions prices include egress for one target; additional
                targets incur additional charges.
              example: ''
              format: int32
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The query parameters applied to the request.
          properties:
            resources:
              type: object
              title: resources
              description: The resources represented in the response.
              properties:
                transcoders:
                  type: string
                  description: The response includes transcoders.
                  example: ''
                vod_streams:
                  type: string
                  description: The response includes VOD streams.
                  example: ''
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        account:
          unique_viewers: 17058
          viewing_seconds: 44925498
          avg_viewing_seconds: 2634
          viewing_bytes: 22886
          egress_seconds: 49549
          egress_seconds_additional_targets: 345
          egress_bytes: 7066810
        limits:
          resources:
            - transcoders
            - vod_streams
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_accounts_countries:
      type: object
      description: ''
      properties:
        countries:
          type: object
          title: countries
          description: ''
          properties:
            code:
              type: string
              description: A country code where the stream was requested.
              example: ''
            name:
              type: string
              description: The name of a country where the stream was requested.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The query parameters applied to the request.
          properties:
            resources:
              type: object
              title: resources
              description: The resources represented in the response.
              properties:
                transcoders:
                  type: string
                  description: The response includes transcoders.
                  example: ''
                vod_streams:
                  type: string
                  description: The response includes VOD streams.
                  example: ''
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        countries:
          - code: US
            name: United States
            unique_viewers: 1
            viewing_seconds: 222
            avg_viewing_seconds: 222
            viewing_bytes: 12886
          - code: CA
            name: Canada
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
        limits:
          resources:
            - transcoders
            - vod_streams
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_accounts_trend:
      type: object
      description: ''
      properties:
        trend:
          type: object
          title: Array of trends
          description: An array of trend data
          properties:
            sampled_at:
              type: string
              description: The date and time the trend data was sampled.
              format: date-time
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The query parameters applied to the request.
          properties:
            resources:
              type: object
              title: resources
              description: The resources represented in the response.
              properties:
                transcoders:
                  type: string
                  description: The response includes transcoders.
                  example: ''
                vod_streams:
                  type: string
                  description: The response includes VOD streams.
                  example: ''
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        trend:
          - sampled_at: '2022-03-01T00:00:00.000Z'
            unique_viewers: 358
            viewing_seconds: 1288800
            viewing_bytes: 8483993
          - sampled_at: '2022-03-02T00:00:00.000Z'
            unique_viewers: 75
            viewing_seconds: 270000
            viewing_bytes: 6937994
          - sampled_at: '2022-03-03T00:00:00.000Z'
            unique_viewers: 400
            viewing_seconds: 1440000
            viewing_bytes: 3958503
        limits:
          resources:
            - transcoders
            - vod_streams
          from: '2022-03-01T00:00:00.000Z'
          to: '2022-03-05T00:00:00.000Z'
    usage_accounts_viewer_data:
      type: object
      description: ''
      properties:
        account:
          type: object
          title: account
          description: ''
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the stream
                target.
              format: int32
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream. A unique viewer is a single IP address;
                multiple users that share the same IP address are counted once.
              example: ''
              format: int32
            countries:
              type: object
              title: countries
              description: An array of viewer countries.
              properties:
                code:
                  type: string
                  description: A country code where the stream was requested.
                  example: ''
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream. A unique viewer is a single IP address;
                    multiple users that share the same IP address are counted
                    once.
                  example: ''
                  format: int32
            viewer_trend:
              type: object
              title: Array of viewer trends
              description: >-
                An array of viewer trend data. Returns one data point per minute
                for the past hour.
              properties:
                sampled_at:
                  type: string
                  description: The date and time the trend data was sampled.
                  format: date-time
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream. A unique viewer is a single IP address;
                    multiple users that share the same IP address are counted
                    once.
                  example: ''
                  format: int32
      example:
        account:
          id: tvctq36g
          unique_viewers: 7
          countries:
            - code: US
              unique_viewers: 4
            - code: DE
              unique_viewers: 3
          viewer_trend:
            - sampled_at: '2022-01-26T12:01:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:02:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:03:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:04:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:05:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:06:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:07:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:08:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:09:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:10:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:11:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:12:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:13:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:14:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:15:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:16:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:17:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:18:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:19:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:20:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:21:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:22:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:23:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:24:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:25:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:26:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:27:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:28:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:29:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:30:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:31:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:32:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:33:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:34:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:35:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:36:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:37:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:38:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:39:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:40:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:41:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:42:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:43:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:44:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:45:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:46:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:47:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:48:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:49:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:50:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:51:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:52:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:53:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:54:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:55:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:56:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:57:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:58:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:59:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:60:00Z'
              unique_viewers: 7
    usage_transcoders:
      type: object
      title: transcoders
      description: ''
      properties:
        transcoders:
          type: object
          description: ''
          properties:
            id:
              type: integer
              description: The unique alphanumeric string that identifies the transcoder.
              example: ''
              format: int32
            name:
              type: string
              description: A descriptive name for the transcoder.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the transcoder has been
                removed from Wowza Video.
              example: ''
            billing_mode:
              type: string
              description: >-
                The billing mode for the transcoder. The default is
                **pay_as_you_go**.


                **pay_as_you_go** — Billed as a single event. A single event is
                use-based and you incur charges for the time spent streaming.


                **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel
                is unlimited stream time for one channel. This billing mode
                doesn't incur overages, since it's unlimited.
              example: ''
              enum:
                - pay_as_you_go
                - twentyfour_seven
            transcoder_type:
              type: string
              description: The type of transcoder. The default is **transcoded**.
              example: ''
              enum:
                - transcoded
                - passthrough
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the
                transcoder during the selected time frame.
              example: ''
              format: int32
            egress_seconds:
              type: integer
              description: >-
                The amount of time, in seconds, that it took for the stream to
                be processed.
              example: ''
            egress_seconds_additional_targets:
              type: integer
              description: >-
                The length of time, in seconds, that additional stream targets
                pulled from storage during the selected time frame.
                Subscriptions prices include egress for one target; additional
                targets incur additional charges.
              example: ''
              format: int32
        pagination:
          type: object
          description: Page information for the results generated by the query.
          properties:
            payload_version:
              type: integer
              description: The pagination object version.
            total_records:
              type: integer
              description: >-
                The total number of records in the database that match the
                query.
              example: ''
            page:
              type: integer
              description: The page being displayed.
              example: ''
            per_page:
              type: integer
              description: The number of records included on each page of results.
              example: ''
            total_pages:
              type: integer
              description: The total number of pages generated by the query.
              example: ''
            page_first_index:
              type: integer
              description: The 0-based index of the first record on the page returned.
              example: ''
            page_last_index:
              type: integer
              description: The 0-based index of the last record on the page returned.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        transcoders:
          - id: bbrjj3ml
            name: transcoder name
            archived: false
            transcoder_type: transcoded
            billing_mode: pay_as_you_go
            egress_bytes: 0
            egress_seconds: 44
            egress_seconds_additional_targets: 23
          - id: mertj8nd
            name: my other transcoder
            archived: false
            transcoder_type: transcoded
            billing_mode: pay_as_you_go
            egress_bytes: 80384481
            egress_seconds: 158
            egress_seconds_additional_targets: 0
        pagination:
          payload_version: '1.0'
          total_records: 2130
          page: 3
          per_page: 3
          total_pages: 710
          page_first_index: 6
          page_last_index: 8
        limits:
          from: '2019-10-01T07:00:00.000Z'
          to: '2019-10-16T11:00:00.000Z'
    usage_transcoder:
      type: object
      title: transcoders
      description: ''
      properties:
        transcoders:
          type: object
          description: ''
          properties:
            id:
              type: integer
              description: The unique alphanumeric string that identifies the transcoder.
              example: ''
              format: int32
            name:
              type: string
              description: A descriptive name for the transcoder.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the transcoder has been
                removed from Wowza Video.
              example: ''
            billing_mode:
              type: string
              description: >-
                The billing mode for the transcoder. The default is
                **pay_as_you_go**.


                **pay_as_you_go** — Billed as a single event. A single event is
                use-based and you incur charges for the time spent streaming.


                **twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel
                is unlimited stream time for one channel. This billing mode
                doesn't incur overages, since it's unlimited.
              example: ''
              enum:
                - pay_as_you_go
                - twentyfour_seven
            transcoder_type:
              type: string
              description: The type of transcoder. The default is **transcoded**.
              example: ''
              enum:
                - transcoded
                - passthrough
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the
                transcoder during the selected time frame.
              example: ''
              format: int32
            egress_seconds:
              type: integer
              description: >-
                The amount of time, in seconds, that it took for the stream to
                be processed.
              example: ''
            egress_seconds_additional_targets:
              type: integer
              description: >-
                The length of time, in seconds, that additional stream targets
                pulled from storage during the selected time frame.
                Subscriptions prices include egress for one target; additional
                targets incur additional charges.
              example: ''
              format: int32
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the
                transcoder during the selected time frame.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        transcoder:
          id: bbrjj3ml
          name: transcoder name
          archived: false
          transcoder_type: transcoded
          billing_mode: pay_as_you_go
          egress_bytes: 0
          egress_seconds: 44
          egress_seconds_additional_targets: 23
          unique_viewers: 2
          viewing_seconds: 90
          viewing_bytes: 49
          avg_viewing_seconds: 45
        limits:
          from: '2019-10-01T07:00:00.000Z'
          to: '2019-10-16T11:00:00.000Z'
    usage_transcoder_countries:
      type: object
      description: ''
      properties:
        countries:
          type: object
          title: countries
          description: ''
          properties:
            code:
              type: string
              description: A country code where the stream was requested.
              example: ''
            name:
              type: string
              description: The name of a country where the stream was requested.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        countries:
          - code: US
            name: United States
            unique_viewers: 1
            viewing_seconds: 222
            avg_viewing_seconds: 222
            viewing_bytes: 12886
          - code: CA
            name: Canada
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_transcoder_summary:
      type: object
      title: transcoders
      description: ''
      properties:
        summary:
          type: object
          description: ''
          properties:
            egress_bytes:
              type: integer
              description: >-
                The total amount of content, in bytes, that went through all
                transcoders during the selected time frame.
              example: ''
              format: int32
            egress_seconds:
              type: integer
              description: >-
                The total amount of time, in seconds, that it took for all
                transcoders to be processed.
              example: ''
            configurations:
              type: object
              description: ''
              properties:
                transcoder_type:
                  type: string
                  description: The type of transcoder. The default is **transcoded**.
                  example: ''
                  enum:
                    - transcoded
                    - passthrough
                billing_mode:
                  type: string
                  description: >-
                    The billing mode for the transcoder. The default is
                    **pay_as_you_go**.


                    **pay_as_you_go** — Billed as a single event. A single event
                    is use-based and you incur charges for the time spent
                    streaming.


                    **twentyfour_seven** — Billed as a 24x7 channel. A 24x7
                    channel is unlimited stream time for one channel. This
                    billing mode doesn't incur overages, since it's unlimited.
                  example: ''
                  enum:
                    - pay_as_you_go
                    - twentyfour_seven
                egress_bytes:
                  type: integer
                  description: >-
                    The amount of content, in bytes, that went through the
                    transcoder during the selected time frame.
                  example: ''
                  format: int32
                egress_seconds:
                  type: integer
                  description: >-
                    The amount of time, in seconds, that it took for the
                    transcoder to be processed.
                  example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        summary:
          egress_bytes: 3000
          egress_seconds: 300
          configurations:
            - transcoder_type: transcoded
              billing_mode: pay_as_you_go
              egress_bytes: 1000
              egress_seconds: 200
            - transcoder_type: passthrough
              billing_mode: twentyfour_seven
              egress_bytes: 2000
              egress_seconds: 100
        limits:
          from: '2019-02-15T00:00:00.000Z'
          to: '2019-09-24T00:00:00.000Z'
    usage_transcoder_trend:
      type: object
      description: ''
      properties:
        trend:
          type: object
          title: Array of trends
          description: An array of trend data
          properties:
            sampled_at:
              type: string
              description: The date and time the trend data was sampled.
              format: date-time
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        trend:
          - sampled_at: '2022-03-01T00:00:00.000Z'
            unique_viewers: 358
            viewing_seconds: 1288800
            viewing_bytes: 8483993
          - sampled_at: '2022-03-02T00:00:00.000Z'
            unique_viewers: 75
            viewing_seconds: 270000
            viewing_bytes: 6937994
          - sampled_at: '2022-03-03T00:00:00.000Z'
            unique_viewers: 400
            viewing_seconds: 1440000
            viewing_bytes: 3958503
        limits:
          from: '2022-03-01T00:00:00.000Z'
          to: '2022-03-05T00:00:00.000Z'
    usage_transcoders_viewer_data:
      type: object
      description: ''
      properties:
        transcoder:
          type: object
          title: transcoder
          description: ''
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the transcoder.
              format: int32
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream. A unique viewer is a single IP address;
                multiple users that share the same IP address are counted once.
              example: ''
              format: int32
            countries:
              type: object
              title: countries
              description: An array of viewer countries.
              properties:
                code:
                  type: string
                  description: A country code where the stream was requested.
                  example: ''
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream. A unique viewer is a single IP address;
                    multiple users that share the same IP address are counted
                    once.
                  example: ''
                  format: int32
            viewer_trend:
              type: object
              title: Array of viewer trends
              description: >-
                An array of viewer trend data. Returns one data point per minute
                for the past hour.
              properties:
                sampled_at:
                  type: string
                  description: The date and time the trend data was sampled.
                  format: date-time
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream. A unique viewer is a single IP address;
                    multiple users that share the same IP address are counted
                    once.
                  example: ''
                  format: int32
      example:
        transcoder:
          id: tvctq36g
          unique_viewers: 7
          countries:
            - code: US
              unique_viewers: 4
            - code: DE
              unique_viewers: 3
          viewer_trend:
            - sampled_at: '2022-01-26T12:01:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:02:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:03:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:04:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:05:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:06:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:07:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:08:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:09:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:10:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:11:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:12:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:13:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:14:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:15:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:16:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:17:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:18:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:19:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:20:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:21:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:22:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:23:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:24:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:25:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:26:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:27:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:28:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:29:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:30:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:31:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:32:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:33:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:34:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:35:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:36:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:37:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:38:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:39:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:40:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:41:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:42:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:43:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:44:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:45:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:46:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:47:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:48:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:49:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:50:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:51:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:52:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:53:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:54:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:55:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:56:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:57:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:58:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:59:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:60:00Z'
              unique_viewers: 7
    usage_stream_targets:
      type: object
      description: ''
      properties:
        stream_targets:
          type: object
          title: Array of stream targets
          description: An array of stream targets and the details of their CDN usage.
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the stream
                target.
              format: int32
            name:
              type: string
              description: >-
                A descriptive name for the stream target. Maximum 255
                characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the stream target has been
                removed from Wowza Video.
            type:
              type: string
              description: >-
                The type of stream target. <br/> **fastly** is a Wowza CDN on
                Fastly target.
              example: ''
              enum:
                - fastly
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        pagination:
          type: object
          description: Page information for the results generated by the query.
          properties:
            payload_version:
              type: integer
              description: The pagination object version.
            total_records:
              type: integer
              description: >-
                The total number of records in the database that match the
                query.
              example: ''
            next_page_key:
              type: string
              description: The key ID of the next page of results.
              example: ''
            per_page:
              type: integer
              description: The number of records included on each page of results.
              example: ''
            total_pages:
              type: integer
              description: The total number of pages generated by the query.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        stream_targets:
          - id: tvctq36g
            name: My Stream Target
            archived: true
            type: fastly
            unique_viewers: 17058
            viewing_seconds: 44925498
            avg_viewing_seconds: 2634
            viewing_bytes: 22886
          - id: bac1256
            name: My Other Stream Target
            archived: false
            type: fastly
            unique_viewers: 84756
            viewing_seconds: 593275043
            avg_viewing_seconds: 7000
            viewing_bytes: 22886
        pagination:
          payload_version: '2.0'
          total_records: 269
          next_page_key: 2jj8syfl
          per_page: 10
          total_pages: 27
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_stream_target:
      type: object
      description: ''
      properties:
        stream_target:
          type: object
          title: stream_target
          description: ''
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the stream
                target.
              format: int32
            name:
              type: string
              description: >-
                A descriptive name for the stream target. Maximum 255
                characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the stream target has been
                removed from Wowza Video.
            type:
              type: string
              description: >-
                The type of stream target. <br/> **fastly** is a Wowza CDN on
                Fastly target.
              example: ''
              enum:
                - fastly
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            zones:
              type: object
              title: Hash of zones
              description: >-
                A hash of zones with CDN usage, keyed by the name of the billing
                zone where the usage was generated.
              properties:
                name:
                  type: string
                  description: The name of the billing zone where the usage was generated.
                  example: ''
                viewing_bytes:
                  type: integer
                  description: >-
                    The amount of content, in bytes, that went through the
                    stream target during the selected time frame.
                  example: ''
                  format: int32
                type:
                  type: string
                  description: >-
                    The type of stream target. <br/> **fastly** is a Wowza CDN
                    on Fastly target.
                  example: ''
                  enum:
                    - fastly
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        stream_target:
          id: tvctq36g
          name: My Stream Target
          archived: true
          type: fastly
          unique_viewers: 17058
          viewing_seconds: 44925498
          avg_viewing_seconds: 2634
          viewing_bytes: 22886
          zones:
            - name: global
              type: fastly
              viewing_bytes: 22886
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_stream_target_summary:
      type: object
      description: ''
      properties:
        summary:
          type: object
          title: summary
          description: ''
          properties:
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            zones:
              type: object
              title: Hash of zones
              description: >-
                A hash of zones with CDN usage, keyed by the name of the billing
                zone where the usage was generated.
              properties:
                name:
                  type: string
                  description: The name of the billing zone where the usage was generated.
                  example: ''
                viewing_bytes:
                  type: integer
                  description: >-
                    The amount of content, in bytes, that went through the
                    stream target during the selected time frame.
                  example: ''
                  format: int32
                type:
                  type: string
                  description: >-
                    The type of stream target. <br/> **fastly** is a Wowza CDN
                    on Fastly target.
                  example: ''
                  enum:
                    - fastly
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        summary:
          unique_viewers: 756058
          viewing_seconds: 67925498
          avg_viewing_seconds: 90
          viewing_bytes: 22886
          zones:
            - name: global
              type: fastly
              viewing_bytes: 12886
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_stream_target_countries:
      type: object
      description: ''
      properties:
        countries:
          type: object
          title: countries
          description: ''
          properties:
            code:
              type: string
              description: A country code where the stream was requested.
              example: ''
            name:
              type: string
              description: The name of a country where the stream was requested.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            zones:
              type: object
              title: Hash of zones
              description: >-
                A hash of zones with CDN usage, keyed by the name of the billing
                zone where the usage was generated.
              properties:
                name:
                  type: string
                  description: The name of the billing zone where the usage was generated.
                  example: ''
                viewing_bytes:
                  type: integer
                  description: >-
                    The amount of content, in bytes, that went through the
                    stream target during the selected time frame.
                  example: ''
                  format: int32
                type:
                  type: string
                  description: >-
                    The type of stream target. <br/> **fastly** is a Wowza CDN
                    on Fastly target. <br/>
                  example: ''
                  enum:
                    - fastly
                    - akamai
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        countries:
          - code: US
            name: United States
            unique_viewers: 1
            viewing_seconds: 222
            avg_viewing_seconds: 222
            viewing_bytes: 12886
            zones:
              - name: global
                type: fastly
                viewing_bytes: 12886
          - code: CA
            name: Canada
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
            zones:
              - name: global
                type: fastly
                viewing_bytes: 22886
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_stream_target_renditions:
      type: object
      description: ''
      properties:
        renditions:
          type: object
          title: renditions
          description: ''
          properties:
            name:
              type: string
              description: >-
                The name of the stream target's output rendition. A rendition
                name is the smaller number of the resolution. The resolution is
                [width]x[height] in which the stream was played. Renditions
                names have to be unique. If you've created two renditions that
                have the same height and width, Wowza Video increments the value
                of the height and uses that as the rendition name.


                Example: Two renditions of 1280x720 will result in rendition
                names of 720 and 721.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            zones:
              type: object
              title: Hash of zones
              description: >-
                A hash of zones with CDN usage, keyed by the name of the billing
                zone where the usage was generated.
              properties:
                name:
                  type: string
                  description: The name of the billing zone where the usage was generated.
                  example: ''
                viewing_bytes:
                  type: integer
                  description: >-
                    The amount of content, in bytes, that went through the
                    stream target during the selected time frame.
                  example: ''
                  format: int32
                type:
                  type: string
                  description: >-
                    The type of stream target. <br/> **fastly** is a Wowza CDN
                    on Fastly target.
                  example: ''
                  enum:
                    - fastly
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        renditions:
          - name: '360'
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
            zones:
              - name: global
                type: fastly
                viewing_bytes: 22886
          - name: '720'
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
            zones:
              - name: global
                type: fastly
                viewing_bytes: 22886
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_stream_target_viewer_data:
      type: object
      description: ''
      properties:
        stream_target:
          type: object
          title: stream_target
          description: ''
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the stream
                target.
              format: int32
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            countries:
              type: object
              title: countries
              description: (Available since 1.8) An array of viewer countries.
              properties:
                code:
                  type: string
                  description: A country code where the stream was requested.
                  example: ''
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream at the target (for HTTP streams). A
                    unique viewer is a single IP address; multiple users that
                    share the same IP address are counted once.
                  example: ''
                  format: int32
            viewer_trend:
              type: object
              title: Array of viewer trends
              description: >-
                (Available since 1.8) An array of viewer trend data. Returns one
                data point per minute for the past hour.
              properties:
                sampled_at:
                  type: string
                  description: The date and time the trend data was sampled.
                  format: date-time
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the stream at the target (for HTTP streams). A
                    unique viewer is a single IP address; multiple users that
                    share the same IP address are counted once.
                  example: ''
                  format: int32
      example:
        stream_target:
          id: tvctq36g
          unique_viewers: 7
          countries:
            - code: US
              unique_viewers: 4
            - code: DE
              unique_viewers: 3
          viewer_trend:
            - sampled_at: '2022-01-26T12:01:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:02:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:03:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:04:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:05:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:06:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:07:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:08:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:09:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:10:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:11:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:12:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:13:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:14:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:15:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:16:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:17:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:18:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:19:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:20:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:21:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:22:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:23:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:24:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:25:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:26:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:27:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:28:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:29:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:30:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:31:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:32:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:33:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:34:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:35:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:36:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:37:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:38:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:39:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:40:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:41:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:42:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:43:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:44:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:45:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:46:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:47:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:48:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:49:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:50:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:51:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:52:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:53:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:54:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:55:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:56:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:57:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:58:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:59:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:60:00Z'
              unique_viewers: 7
    usage_storage_peak:
      type: object
      description: ''
      properties:
        bytes:
          type: integer
          description: >-
            The amount, in bytes, used to store recordings and VOD streams
            during the selected time frame. If the time frame is in the past,
            *bytes* is the amount of storage that was used and billed. If the
            time frame includes the current billing period, *bytes* is the
            greatest amount of content stored in Wowza Video at any point to
            date in the billing period.
          example: ''
          format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        bytes: 163535997883
        limits:
          from: '2019-12-07T00:00:00.000Z'
          to: '2019-12-21T00:00:00.000Z'
    usage_vod_streams:
      type: object
      description: ''
      properties:
        vod_streams:
          type: object
          title: Array of VOD streams
          description: An array of VOD streams and the details of their CDN usage.
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the VOD stream.
              format: int32
            name:
              type: string
              description: A descriptive name for the VOD stream. Maximum 255 characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the VOD stream has been
                removed from Wowza Video.
            type:
              type: string
              description: '**fastly** is a Wowza CDN on Fastly target.'
              example: ''
              enum:
                - fastly
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        pagination:
          type: object
          description: Page information for the results generated by the query.
          properties:
            payload_version:
              type: integer
              description: The pagination object version.
            total_records:
              type: integer
              description: >-
                The total number of records in the database that match the
                query.
              example: ''
            next_page_key:
              type: string
              description: The key ID of the next page of results.
              example: ''
            per_page:
              type: integer
              description: The number of records included on each page of results.
              example: ''
            total_pages:
              type: integer
              description: The total number of pages generated by the query.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        vod_streams:
          - id: poatq15
            name: My VOD Stream on Mar 25, 2021 @ 05:09pm PDT
            archived: true
            type: fastly
            unique_viewers: 17058
            viewing_seconds: 44925498
            avg_viewing_seconds: 2634
            viewing_bytes: 22886
          - id: nts8765
            name: My Other VOD Stream on Mar 26, 2021 @ 01:15pm PDT
            archived: false
            type: fastly
            unique_viewers: 84756
            viewing_seconds: 593275043
            avg_viewing_seconds: 7000
            viewing_bytes: 22886
        pagination:
          payload_version: '2.0'
          total_records: 150
          next_page_key: 1yr9pykn
          per_page: 10
          total_pages: 15
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_streams_egress:
      type: object
      description: ''
      properties:
        vod_streams:
          type: object
          title: Array of VOD streams
          description: An array of VOD streams and the details of their egress usage.
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the VOD stream.
              format: int32
            name:
              type: string
              description: A descriptive name for the VOD stream. Maximum 255 characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the VOD stream has been
                removed from Wowza Video.
            type:
              type: string
              description: '**fastly** is a Wowza CDN on Fastly target.'
              example: ''
              enum:
                - fastly
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
              format: int32
        pagination:
          type: object
          description: Page information for the results generated by the query.
          properties:
            payload_version:
              type: integer
              description: The pagination object version.
            total_records:
              type: integer
              description: >-
                The total number of records in the database that match the
                query.
              example: ''
            next_page_key:
              type: string
              description: The key ID of the next page of results.
              example: ''
            per_page:
              type: integer
              description: The number of records included on each page of results.
              example: ''
            total_pages:
              type: integer
              description: The total number of pages generated by the query.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        vod_streams:
          - id: poatq15
            name: My VOD Stream on Mar 25, 2021 @ 05:09pm PDT
            archived: true
            type: fastly
            egress_bytes: 22886
          - id: nts8765
            name: My Other VOD Stream on Mar 26, 2021 @ 01:15pm PDT
            archived: false
            type: fastly
            egress_bytes: 22886
        pagination:
          payload_version: '2.0'
          total_records: 150
          next_page_key: 1yr9pykn
          per_page: 10
          total_pages: 15
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_stream:
      type: object
      description: ''
      properties:
        vod_stream:
          type: object
          title: vod_stream
          description: ''
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the VOD stream.
              format: int32
            name:
              type: string
              description: A descriptive name for the VOD stream. Maximum 255 characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the VOD stream has been
                removed from Wowza Video.
            type:
              type: string
              description: '**fastly** is a Wowza CDN on Fastly target.'
              example: ''
              enum:
                - fastly
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
            egress_seconds:
              type: integer
              description: >-
                The amount of time, in seconds, that it took for the stream to
                be processed.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        vod_stream:
          id: tvctq36g
          name: My VOD Stream
          archived: true
          type: fastly
          unique_viewers: 17058
          viewing_seconds: 44925498
          avg_viewing_seconds: 2634
          viewing_bytes: 22886
          egress_bytes: 1783702
          egress_seconds: 97058
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_stream_egress:
      type: object
      description: ''
      properties:
        vod_stream:
          type: object
          title: vod_stream
          description: ''
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the VOD stream.
              format: int32
            name:
              type: string
              description: A descriptive name for the VOD stream. Maximum 255 characters.
              example: ''
            archived:
              type: boolean
              description: >-
                A value of **true** indicates that the VOD stream has been
                removed from Wowza Video.
            type:
              type: string
              description: '**fastly** is a Wowza CDN on Fastly target.'
              example: ''
              enum:
                - fastly
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        vod_stream:
          id: tvctq36g
          name: My VOD Stream
          archived: true
          type: fastly
          egress_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_stream_summary:
      type: object
      description: ''
      properties:
        summary:
          type: object
          title: summary
          description: ''
          properties:
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        summary:
          unique_viewers: 756058
          viewing_seconds: 67925498
          avg_viewing_seconds: 90
          viewing_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_stream_countries:
      type: object
      description: ''
      properties:
        countries:
          type: object
          title: countries
          description: ''
          properties:
            code:
              type: string
              description: A country code where the stream was requested.
              example: ''
            name:
              type: string
              description: The name of a country where the stream was requested.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        countries:
          - code: US
            name: United States
            unique_viewers: 1
            viewing_seconds: 222
            avg_viewing_seconds: 222
            viewing_bytes: 12886
          - code: CA
            name: Canada
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_vod_stream_renditions:
      type: object
      description: ''
      properties:
        renditions:
          type: object
          title: renditions
          description: ''
          properties:
            name:
              type: string
              description: >-
                The name of the VOD stream's output rendition. A rendition name
                is the smaller number of the resolution. The resolution is
                [width]x[height] in which the stream was played. Renditions
                names have to be unique. If you've created two renditions that
                have the same height and width, Wowza Video increments the value
                of the height and uses that as the rendition name.


                Example: Two renditions of 1280x720 will result in rendition
                names of 720 and 721.
              example: ''
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            avg_viewing_seconds:
              type: integer
              description: >-
                The average length of time, in seconds, that the stream was
                played at the target.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        renditions:
          - name: '360'
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
          - name: '720'
            unique_viewers: 14
            viewing_seconds: 222
            avg_viewing_seconds: 16
            viewing_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    usage_real_time_streams:
      type: object
      description: ''
      properties:
        real_time_streams:
          type: object
          title: Array of real-time streams
          description: An array of real-time streams and the details of their CDN usage.
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the real-time
                stream.
              format: int32
            name:
              type: string
              description: >-
                A descriptive name for the real-time stream. Maximum 255
                characters.
              example: ''
            bytes_in:
              type: integer
              description: >-
                The amount of content, in bytes, that came from a video source
                in to Wowza Video during the selected time frame.
              format: int32
            bytes_out:
              type: integer
              description: >-
                The amount of content, in bytes, that went to a viewer during
                the selected time frame.
              format: int32
              example: ''
        pagination:
          type: object
          description: Page information for the results generated by the query.
          properties:
            payload_version:
              type: integer
              description: The pagination object version.
            total_records:
              type: integer
              description: >-
                The total number of records in the database that match the
                query.
              example: ''
            next_page_key:
              type: string
              description: The key ID of the next page of results.
              example: ''
            per_page:
              type: integer
              description: The number of records included on each page of results.
              example: ''
            total_pages:
              type: integer
              description: The total number of pages generated by the query.
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        real_time_streams:
          - id: tvctq36g
            name: My Real Time Stream
            bytes_in: 0
            bytes_out: 222
          - id: bac1256
            name: My Other Real Time Stream
            bytes_in: 888
            bytes_out: 1111
        pagination:
          payload_version: '2.0'
          total_records: 269
          next_page_key: 2jj8syfl
          per_page: 10
          total_pages: 27
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_real_time_stream:
      type: object
      description: ''
      properties:
        real_time_stream:
          type: object
          title: real_time_stream
          description: ''
          properties:
            id:
              type: string
              description: >-
                The unique alphanumeric string that identifies the real-time
                stream.
              format: int32
            name:
              type: string
              description: >-
                A descriptive name for the real-time stream. Maximum 255
                characters.
              example: ''
            bytes_in:
              type: integer
              description: >-
                The amount of content, in bytes, that came from a video source
                in to Wowza Video during the selected time frame.
              format: int32
            bytes_out:
              type: integer
              description: >-
                The amount of content, in bytes, that went to a viewer during
                the selected time frame.
              format: int32
              example: ''
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        real_time_stream:
          id: tvctq36g
          name: My Real Time Stream
          bytes_in: 222
          bytes_out: 0
        limits:
          from: '2019-11-07T00:00:00.000Z'
          to: '2019-12-05T00:00:00.000Z'
    usage_vod_stream_egress_summary:
      type: object
      description: ''
      properties:
        summary:
          type: object
          title: summary
          description: ''
          properties:
            egress_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that Wowza CDN on Fastly pulled
                from storage during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        summary:
          egress_bytes: 22886
        limits:
          from: '2021-01-07T00:00:00.000Z'
          to: '2021-10-05T00:00:00.000Z'
    vod_stream:
      type: object
      description: ''
      properties:
        asset_id:
          type: string
          description: >-
            Only applies to VOD streams created for Asset Management. The id for
            the asset associated with your VOD stream. You can manage your asset
            in Asset Management.
        created_at:
          type: string
          description: The date and time that the VOD stream was created.
          example: ''
          format: date-time
        duration:
          type: integer
          description: The duration of the VOD stream.
        end_segment:
          type: integer
          description: >-
            The media sequence number of the last media segment in the
            chunklist.
          example: ''
        id:
          type: string
          description: The unique alphanumeric string that identifies the VOD stream.
          example: ''
        name:
          type: string
          description: A descriptive name for the VOD stream. Maximum 200 characters.
          example: ''
        percent_complete:
          type: integer
          description: The processing progress of the VOD stream.
          example: ''
        playback_enabled:
          type: boolean
          description: Specifies whether playback is enabled for the VOD stream.
          example: ''
          enum:
            - true
            - false
        playback_url:
          type: string
          description: >-
            The address that can be used to configure playback of the VOD
            stream.
          example: ''
        size:
          type: integer
          description: The size of the VOD stream.
          example: ''
        started_at:
          type: string
          description: The date and time that the stream was started.
          example: ''
          format: date-time
        start_segment:
          type: integer
          description: >-
            The media sequence number of the first media segment in the
            chunklist.
          example: ''
        state:
          type: string
          description: The state of the VOD stream.
          example: ''
          enum:
            - processing
            - completed
            - failed
        stream_target_id:
          type: integer
          description: >-
            The unique alphanumeric string that identifies the stream target
            associated with the VOD stream.
          example: ''
        source:
          type: string
          description: >-
            The source from which the VOD stream was created. The default is
            **live**.
          example: ''
        type:
          type: string
          description: The VOD stream type.
          example: ''
        updated_at:
          type: string
          description: The date and time that the VOD stream was updated.
          example: ''
          format: date-time
        uptime_id:
          type: string
          description: >-
            The unique identifier associated with a specific uptime period of a
            transcoder.
          example: ''
      example:
        created_at: '2020-02-12T19:20:46.000Z'
        duration: 480
        end_segment: 48
        id: lmp0vwrd
        name: MyVODStream
        percent_complete: 100
        playback_enabled: true
        playback_url: >-
          https://wowzasubdomain/1/RmlPcnpsM0Z1Nzd2/SFhkUXlv/hls/live/playlist.m3u8
        size: 98154424
        started_at: '2020-01-21T17:18:05.000Z'
        start_segment: 1
        state: completed
        stream_target_id: xcslyxf0
        source: live
        type: Original
        updated_at: '2020-02-20T06:12:39.956Z'
        uptime_id: abcd1234
    vod_stream_update_input:
      type: object
      description: ''
      required:
        - vod_stream
      properties:
        vod_stream:
          type: object
          title: vod_stream
          description: ''
          required:
            - name
          properties:
            name:
              type: string
              description: |-
                A descriptive name for the VOD stream. Maximum 200 characters.

                **Example:** <code>"name": "My updated VOD stream"</code>
              example: My VOD Stream 1
            playback_enabled:
              type: boolean
              description: |-
                Specifies whether playback is enabled for the VOD stream.

                **Example:** <code>"playback_enabled": true</code>
              example: true
              enum:
                - true
                - false
    usage_vod_stream_trend:
      type: object
      description: ''
      properties:
        trend:
          type: object
          title: Array of trends
          description: An array of trend data
          properties:
            sampled_at:
              type: string
              description: The date and time the trend data was sampled.
              format: date-time
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the stream at the target (for HTTP streams). A unique
                viewer is a single IP address; multiple users that share the
                same IP address are counted once.
              example: ''
              format: int32
            viewing_seconds:
              type: integer
              description: >-
                The total length of time, in seconds, that the stream was played
                at the target. May be longer than the duration of the stream.
              example: ''
              format: int32
            viewing_bytes:
              type: integer
              description: >-
                The amount of content, in bytes, that went through the stream
                target during the selected time frame.
              example: ''
              format: int32
        limits:
          type: object
          description: The time frame represented in the response.
          properties:
            from:
              type: string
              description: The start of the range of time represented in the response.
              example: ''
              format: date-time
            to:
              type: string
              description: The end of the range of time represented in the response.
              example: ''
              format: date-time
      example:
        trend:
          - sampled_at: '2022-03-01T00:00:00.000Z'
            unique_viewers: 358
            viewing_seconds: 1288800
            viewing_bytes: 8483993
          - sampled_at: '2022-03-02T00:00:00.000Z'
            unique_viewers: 75
            viewing_seconds: 270000
            viewing_bytes: 6937994
          - sampled_at: '2022-03-03T00:00:00.000Z'
            unique_viewers: 400
            viewing_seconds: 1440000
            viewing_bytes: 3958503
        limits:
          from: '2022-03-01T00:00:00.000Z'
          to: '2022-03-05T00:00:00.000Z'
    usage_vod_streams_viewer_data:
      type: object
      description: ''
      properties:
        vod_stream:
          type: object
          title: vod_stream
          description: ''
          properties:
            id:
              type: string
              description: The unique alphanumeric string that identifies the VOD stream.
              format: int32
            unique_viewers:
              type: integer
              description: >-
                The total number of unique viewers to download at least one
                chunk of the VOD stream. A unique viewer is a single IP address;
                multiple users that share the same IP address are counted once.
              example: ''
              format: int32
            countries:
              type: object
              title: countries
              description: An array of viewer countries.
              properties:
                code:
                  type: string
                  description: A country code where the stream was requested.
                  example: ''
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the VOD stream. A unique viewer is a single IP
                    address; multiple users that share the same IP address are
                    counted once.
                  example: ''
                  format: int32
            viewer_trend:
              type: object
              title: Array of viewer trends
              description: >-
                An array of viewer trend data. Returns one data point per minute
                for the past hour.
              properties:
                sampled_at:
                  type: string
                  description: The date and time the trend data was sampled.
                  format: date-time
                unique_viewers:
                  type: integer
                  description: >-
                    The total number of unique viewers to download at least one
                    chunk of the VOD stream. A unique viewer is a single IP
                    address; multiple users that share the same IP address are
                    counted once.
                  example: ''
                  format: int32
      example:
        vod_stream:
          id: tvctq36g
          unique_viewers: 7
          countries:
            - code: US
              unique_viewers: 3
            - code: DE
              unique_viewers: 4
          viewer_trend:
            - sampled_at: '2022-01-26T12:01:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:02:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:03:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:04:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:05:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:06:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:07:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:08:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:09:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:10:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:11:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:12:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:13:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:14:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:15:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:16:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:17:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:18:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:19:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:20:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:21:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:22:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:23:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:24:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:25:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:26:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:27:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:28:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:29:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:30:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:31:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:32:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:33:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:34:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:35:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:36:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:37:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:38:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:39:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:40:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:41:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:42:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:43:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:44:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:45:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:46:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:47:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:48:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:49:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:50:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:51:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:52:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:53:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:54:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:55:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:56:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:57:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:58:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:59:00Z'
              unique_viewers: 7
            - sampled_at: '2022-01-26T12:60:00Z'
              unique_viewers: 7
    index_real_time_stream:
      type: object
      title: real_time_streams
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the real-time stream was created.
          example: ''
          format: date-time
        id:
          type: string
          description: The unique alphanumeric string that identifies the real-time stream.
          example: ''
        name:
          type: string
          description: A descriptive name for the real-time stream.
          example: ''
        state:
          type: string
          description: The state of the stream.
          example: ''
        updated_at:
          type: string
          description: The date and time that the real-time stream was updated.
          example: ''
          format: date-time
    real_time_streams:
      type: object
      description: ''
      required:
        - real_time_streams
      properties:
        real_time_streams:
          type: array
          items:
            $ref: '#/components/schemas/index_real_time_stream'
      example:
        real_time_streams:
          - id: 2adffc17
            name: MyRealTimeStream
            state: active
            created_at: '2021-01-29T17:16:21.849Z'
            updated_at: '2021-01-31T16:06:47.849Z'
          - id: if7le8ip
            name: MyRealTimeStream2
            state: active
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-31T02:26:05.849Z'
          - id: dd4udt1b
            name: MyRealTimeStream3
            state: active
            created_at: '2020-01-29T17:16:21.849Z'
            updated_at: '2020-01-30T18:13:18.849Z'
    real_time_stream_create:
      type: object
      description: ''
      properties:
        real_time_stream:
          type: object
          title: real_time_stream
          description: ''
          required:
            - name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the real-time stream. Maximum 255
                characters.


                <blockquote><strong>Note:</strong>  If you record a real-time
                stream, the name is used to for the recording file name. To
                avoid file management issues in storage, Wowza Video removes or
                replaces special  characters in file names, so the recording
                file name might vary from the name you provided
                here.</blockquote>
              example: ''
            disable_vod_encoder:
              type: boolean
              description: >-
                Skips VOD encoding and only creates an MP4 file for download. No
                VOD stream is created from the real-time stream. 


                Can only be set when **recording** is true and you can't change
                this value after you create the stream.


                **Default:** false


                **Example:** <code>"disable_vod_encoder": true</code>
            enable_secure_viewer:
              type: boolean
              description: |-
                Require viewers to pass a security token for playback.

                **Example:** <code>"enable_secure_viewer": false</code>
            expires_on:
              type: string
              description: >-
                The date and time the security token expires. Specify
                **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour clock in UTC.
                If you don't specify **HH:MM:SS**, the token expires at 12AM UTC
                on the specified day.


                Required when *enable_secure_viewer* is **true**.


                **Example:** <code>"expires_on": "2021-10-27 23:08:55
                UTC"</code>
              format: date-time
            region:
              type: string
              description: >-
                An option to set the regional server the stream is distributed
                through. Select the region closest to your broadcast location
                for the most reliable stream.


                **Default:** phoenix



                **Example:** <code>"region": amsterdam</code>
              example: ''
              enum:
                - phoenix
                - amsterdam
                - singapore
                - bangalore
            recording:
              type: boolean
              description: >-
                If **true**, records the real-time stream so you can download an
                MP4 later. The recording starts when the stream starts and stops
                automatically when the stream stops.


                Recordings for real-time streams capture up to twelve hours of
                content in a single MP4 file. If the real-time stream recording
                is longer twelve hours, you'll have multiple files for the
                recording. 


                **Default:** false


                <blockquote>Note: You can't update this value after you create
                the stream.</blockquote>


                **Example:** <code>"recording": true</code>
      example:
        real_time_stream:
          name: MyRealTimeStream
    real_time_stream:
      type: object
      description: ''
      properties:
        created_at:
          type: string
          description: The date and time that the real-time stream was created.
          example: ''
          format: date-time
        id:
          type: string
          description: >-
            The unique identifier of the real-time stream. Use this ID to
            perform other operations on the stream, like getting the details of
            the stream or deleting it.
          example: ''
        name:
          type: string
          description: A descriptive name for the real-time stream.
          example: ''
        stream_name:
          type: string
          description: The generated alphanumeric stream name you pass to the SDK.
          example: ''
        token:
          type: string
          description: The authentication token you pass to the SDK.
          example: ''
        subscribe_token:
          type: string
          description: >-
            A secure token that must be passed by viewers for playback.
            Generated after you set *enable_secure_viewer* to **true**.
        rtmp_url:
          type: string
          description: The URL you can use to configure an RTMP encoder as the source.
        enable_secure_viewer:
          type: boolean
          description: Require viewers to pass a security token for playback.
        expires_on:
          type: string
          description: >-
            The date and time the security token expires. Specify **YYYY-MM-DD
            HH:MM:SS**, where **HH** is a 24-hour clock in UTC. If you don't
            specify **HH:MM:SS**, the token expires at 12AM UTC on the specified
            day. Required when *enable_secure_viewer* is **true**.
          format: date-time
        state:
          type: string
          description: The state of the stream.
          example: ''
        region:
          type: string
          description: >-
            An option to set the regional server the stream is distributed
            through. Select the region closest to your broadcast location for
            the most reliable stream.


            **Default:** phoenix



            **Example:** <code>"region": amsterdam</code>
          example: ''
          enum:
            - phoenix
            - amsterdam
            - singapore
            - bangalore
        recording:
          type: boolean
          description: >-
            If **true**, records the real-time stream so you can download an MP4
            later. The recording starts when the stream starts and stops
            automatically when the stream stops. 


            Recordings for real-time streams capture up to twelve hours of
            content in a single MP4 file. If the real-time stream recording is
            longer twelve hours, you'll have multiple files for the recording.


            **Default:** false


            <blockquote>Note: You can't update this value after you create the
            stream.</blockquote>


            **Example:** <code>"recording": true</code>
        disable_vod_encoder:
          type: boolean
          description: >-
            Skips VOD encoding and only creates an MP4 file for download. No VOD
            stream is created from the real-time stream. 


            Can only be set when **recording** is true and you can't change this
            value after you create the stream.


            **Default:** false


            **Example:** <code>"disable_vod_encoder": true</code>
        updated_at:
          type: string
          description: The date and time the real-time stream was updated.
          example: ''
          format: date-time
      example:
        id: 2adffc17
        name: MyRealTimeStream
        stream_name: 8d304b93f1684320a54f2798666eeca7
        token: 97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc
        rtmp_url: >-
          rtmp://rtmp-realtime1.wowza.com:1935/v2/pub/8d304b93f1684320a54f2798666eeca7?token=97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc
        enable_secure_viewer: false
        state: active
        region: amsterdam
        recording: true
        disable_vod_encoder: true
        created_at: '2021-06-30T18:02:20.000Z'
        updated_at: '2021-06-30T20:03:16.000Z'
    real_time_stream_update:
      type: object
      description: ''
      properties:
        real_time_stream:
          type: object
          title: real_time_stream
          description: ''
          required:
            - name
          properties:
            name:
              type: string
              description: >-
                A descriptive name for the real-time stream. Maximum 255
                characters.


                <blockquote><strong>Note:</strong>  If you record a real-time
                stream, the name is used to for the recording file name. To
                avoid file management issues in storage, Wowza Video removes or
                replaces special  characters in file names, so the recording
                file name might vary from the name you provided
                here.</blockquote>
              example: ''
            enable_secure_viewer:
              type: boolean
              description: |-
                Require viewers to pass a security token for playback.

                **Example:** <code>"enable_secure_viewer": false</code>
            expires_on:
              type: string
              description: >-
                The date and time the security token expires. Specify
                **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour clock in UTC.
                If you don't specify **HH:MM:SS**, the token expires at 12AM UTC
                on the specified day.


                Required when *enable_secure_viewer* is **true**.


                **Example:** <code>"expires_on": "2021-10-27 23:08:55
                UTC"</code>
              format: date-time
            region:
              type: string
              description: >-
                An option to set the regional server the stream is distributed
                through. Select the region closest to your broadcast location
                for the most reliable stream. If you select the auto option,
                Wowza Video selects the region based on the publisher's
                location.


                **Default:** phoenix


                **Example:** <code>"region": amsterdam</code>
              example: ''
              enum:
                - phoenix
                - amsterdam
                - singapore
                - bangalore
                - auto
      example:
        real_time_stream:
          name: MyUpdatedRealTimeStream
x-tagGroups:
  - name: Resource Management
    tags:
      - live_streams
      - players
      - transcoders
      - stream_sources
      - stream_targets
      - assets
      - recordings
      - schedules
      - vod_streams
      - real_time
  - name: Analytics
    tags:
      - usage_account
      - usage_transcoders
      - usage
      - storage
      - usage_vod_streams
      - usage_real_time_streams
