{
  "openapi": "3.0.2",
  "info": {
    "version": "v2.0",
    "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: [Current](https://www.wowza.com/docs/wowza-video-rest-api-lifecycle-management#api-lifecycle0)\n\n\n<table>\n<tr style=\"background-color:lightgrey;\"><td>\n<strong>Want to take the API for a test run?</strong>\n\nAll 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\nmaking calls to our REST API in minutes!\n\nSee [Trial the Wowza Video REST API using Postman](https://www.wowza.com/docs/trial-the-wowza-video-rest-api-using-postman) for more information.\n</td>\n</tr>\n</table>\n\n\nThis reference documentation provides details about the operations, parameters, and request and response schemas for every resource and endpoint in the Wowza Video REST API.\nSamples 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. \nExamples 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).\n\n\nReference 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.\n\n<blockquote><strong>Note</strong>: If you haven't moved over to the new Wowza Video UI experience, you won't be able to access v2.0 of the API. We're migrating customers iteratively. See <a href=\"https://developer.wowza.com/docs/wowza-video/upgrade-to-wowza-video/\">Upgrade to the Wowza Video 2.0 REST API</a> for more information.</blockquote>\n"
  },
  "servers": [
    {
      "url": "https://api.video.wowza.com/api/v2.0"
    }
  ],
  "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\n\nOperations 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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nOperations 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": "<blockquote>The <strong>recordings</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote> \n\nOperations 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.\n ### Wowza Stream Sources\n 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.\n \n ### Wowza CDN Stream Targets\n Wowza CDN stream targets distribute streams to players. When you create a live stream in the API, a Wowza CDN stream target is created automatically. \n \n \n In contrast, you can use ``/stream_targets/wowza_cdn`` endpoints to manually create Wowza CDN stream targets and associate them with transcoders.\n \n \n With Wowza CDN 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 stream targets.\n \n ### Custom Stream Targets\n Custom stream targets connect to external CDNs to deliver streams to viewers. You manually create custom stream targets and associate them to a transcoder.",
      "x-displayName": "Stream Targets"
    },
    {
      "name": "transcoders",
      "description": "Operations related to transcoders, output renditions, and output stream targets.\n ### Transcoders\n 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.\n\n 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.\n ### Output Renditions\n 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.\n ### Output Stream Targets\n 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": "<blockquote>The <strong>VOD stream</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote> \n\nOperations 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>.\n\n<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": "usage_live_streams",
      "description": "Operations related to livestream analytics.",
      "x-displayName": "Livestreams"
    },
    {
      "name": "storage",
      "description": "<blockquote>The <strong>storage</strong> operations are deprecated in 2.0.\n\nOperations related to peak and current storage for an account.",
      "x-displayName": "Storage"
    },
    {
      "name": "usage_vod_streams",
      "description": "<blockquote>The <strong>VOD stream</strong> operations are deprecated in 2.0.\n\nOperations related to video on demand (VOD) stream analytics.",
      "x-displayName": "VOD Streams (Usage)"
    },
    {
      "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"
    },
    {
      "name": "analytics_viewers",
      "description": "Operations related to viewer analytics.",
      "x-displayName": "Viewers"
    },
    {
      "name": "analytics_ingest",
      "description": "Operations related to ingest analytics for a live stream.",
      "x-displayName": "Ingest"
    },
    {
      "name": "analytics_engagement",
      "description": "Operations related to engagement analytics for a VOD stream.",
      "x-displayName": "Engagement"
    },
    {
      "name": "analytics_popularity",
      "description": "Operations related to popularity analytics.",
      "x-displayName": "Popularity"
    },
    {
      "name": "quality_of_experience",
      "description": "Operations related to quality of experience metrics.",
      "x-displayName": "Quality of Experience"
    },
    {
      "name": "videos",
      "description": "Operations related to uploading and categorizing videos.",
      "x-displayName": "Videos"
    },
    {
      "name": "categories",
      "description": "Operations related to categorizing videos.",
      "x-displayName": "Categories"
    },
    {
      "name": "advanced_token_authentication",
      "description": "Operations related to using advanced token authentication, known in Wowza Video as a default playback token behavior option, with videos. \n\nUse token authentication when distributing valuable or sensitive video content to audiences to ensure that only authorized users can access the content within the intended application. This allows for protection of intellectual property, compliance with regulations, and the ability to maintain control over content distribution.  The token is embedded in the videos' embed URLs. \n\nThrough the <a href=\"https://www.wowza.com/docs/video-details-page-in-wowza-video\" target=\"_blank\">UI</a> or <a href=\"https://developer.wowza.com/docs/wowza-video/api/video/current/tag/videos/#tag/videos/operation/patchVideo\" target=\"_blank\">Wowza Video API</a>, you can choose one of the following options for token authentication of a video:\n \n - **NO_TOKEN** - Video files are accessible and can be downloaded and played by anyone at any time. This is the default.  \n - **BASIC_TOKEN** - The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer to extract the video URL and store it for usage in unintended applications over time since the embed URL, which has the token as part of the URL, will only be playable for 48 hours. The token auto renews after 48 hours when used in the intended application. \n - **ADVANCED_TOKEN** - You add the stream's JS embed code (Share Stream) and a token to your site to provide tokenization.  The protections are similar to those for the Basic Token option except you customize the time limit, geographical limits, etc. during token creation. \n - **FOLLOW_DEFAULT:** - The token behavior is based on the **Default Playback Token Behavior** setting you selected for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article for where to set this configuration. \n\n    **Note:** You'll use the <a href=\"https://developer.wowza.com/docs/wowza-video/api/video/current/tag/videos/#tag/videos/operation/patchVideo\" target=\"_blank\">/videos endpoints</a> to update and review the token authentication enums bulleted above.\n\nBefore selecting to use the **ADVANCED_TOKEN**, you must, first, either: \n\n - Generate a key id via the Wowza Video API, then customize and generate a token via the Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.  \n - Generate a key id and key via the Wowza Video 2.0 API, then customize and generate a standard common access token (CAT) through the means you usually use to create tokens to add to your site. You'll need the key id and key to create and sign the token.  \n\n\n After you have your playback token, you add the video JS-embed and the playback token to your site if you're going to use the **ADVANCED_TOKEN** option. The JS-embed code automatically adds the player and related video to your site. See the section on <a href=\"<a href=\"https://developer.wowza.com/docs/wowza-video/api/video/current/tag/videos/#tag/videos/operation/patchVideo\" target=\"_blank\">how to embed the player and video</a>\". ",
      "x-displayName": "Advanced Token Authentication"
    },
    {
      "name": "clipping",
      "description": "Operations related to clipping and stitching videos and live streams.",
      "x-displayName": "Clipping"
    }
  ],
  "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/live_streams\" \\\n  -d $'{\n  \"live_stream\": {\n    \"name\": \"My New Live Stream\",\n    \"transcoder_type\": \"transcoded\",\n    \"billing_mode\": \"pay_as_you_go\",\n    \"broadcast_location\": \"us_west_california\",\n    \"encoder\": \"other_rtmp\",\n    \"delivery_method\": \"push\",\n    \"aspect_ratio_width\": 1920,\n    \"aspect_ratio_height\": 1080\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"live_stream\": {\n    \"name\": \"My New Live Stream\",\n    \"transcoder_type\": \"transcoded\",\n    \"billing_mode\": \"pay_as_you_go\",\n    \"broadcast_location\": \"us_west_california\",\n    \"encoder\": \"other_rtmp\",\n    \"delivery_method\": \"push\",\n    \"aspect_ratio_width\": 1920,\n    \"aspect_ratio_height\": 1080\n  }\n}));\nreq.end();\n"
          }
        ],
        "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"
                    }
                  },
                  "example": {
                    "aspect_ratio_height": 720,
                    "aspect_ratio_width": 1280,
                    "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"
                    ],
                    "description": "This is my first live stream.",
                    "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",
                    "flowplayer": true,
                    "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://embed.flowplayer.com/hosted/default/e8dk5bf6"
                    },
                    "id": "wdjfqvsv",
                    "name": "My PAYG Transcoded WSE Live Stream",
                    "playback_stream_name": "wxyz6789",
                    "player_id": "205b4e8-b160-43c2-868d-d88698a4e850",
                    "player_type": "wowza_flowplayer_v2",
                    "embed_code": null,
                    "hls_playback_url": "https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8",
                    "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
                    "logo_position": "top-right",
                    "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,
                    "security": {
                      "force_ssl_playback": 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",
                      "token_auth_enabled": false,
                      "token_auth_playlist_only": false
                    },
                    "state": "stopped",
                    "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,
                    "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
                  }
                }
              }
            }
          },
          "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/live_streams\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17\" \\\n  -d $'{\n  \"live_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"live_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/start\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/start';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/stop\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/stop';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/reset\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/reset';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/regenerate_connection_code\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/regenerate_connection_code';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/thumbnail_url\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/thumbnail_url';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/live_streams/2adffc17/state\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/players": {
      "get": {
        "summary": "Fetch all players",
        "description": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/players\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation shows details of a specific player.",
        "operationId": "showPlayer",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation updates a player.",
        "operationId": "updatePlayer",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17\" \\\n  -d $'{\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation rebuilds the player with the current configuration.",
        "operationId": "requestPlayerRebuild",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/rebuild\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/rebuild';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation shows the current state of a player.",
        "operationId": "showPlayerState",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/state\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation creates a new player URL.",
        "operationId": "createPlayerUrl",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/urls\" \\\n  -d $'{\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/urls';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation shows the details of all player URLs.",
        "operationId": "listPlayerUrls",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/urls\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/urls';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation shows the details of a player URL.",
        "operationId": "showPlayerUrl",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/urls/1acfg43d\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/urls/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation updates a player URL.",
        "operationId": "updatePlayerUrl",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/urls/1acfg43d\" \\\n  -d $'{\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/urls/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"player\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>player</strong> operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the <strong>player</strong> operations will be ignored.</blockquote>\nThis operation deletes a player URL.",
        "operationId": "deletePlayerUrl",
        "tags": [
          "players"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/players/2adffc17/urls/1acfg43d\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/players/2adffc17/urls/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/assets\" \\\n  -d $'{\n  \"asset\": {\n    \"name\": \"My New Asset\"\n  }\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"name\": \"My New Asset\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/assets\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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).\n\nExample:\n**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).\n\nExample:\n**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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis operation shows the details of a specific asset.\n\nThe 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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis operation updates an asset. Assets must be uploaded and complete processing before they can be updated.\n\nThe 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\" \\\n  -d $'{\n  \"asset\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/live_streams\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/asset_tags\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/asset_tags';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\nThis operation reports that an asset was successfully uploaded to storage.",
        "operationId": "reportUploadedAsset",
        "tags": [
          "assets"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/upload_completed\" \\\n  -d $'{\n  \"asset\": {\n    \"file_size\": \"1570024\",\n    \"duration\": \"9241\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/upload_completed';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"file_size\": 1570024,\n    \"duration\": 9241\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/upload_failed\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/upload_failed';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "<blockquote>The <strong>recordings</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/recordings\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/recordings';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>recordings</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\nThis operation shows the details of a specific recording.",
        "operationId": "showRecording",
        "tags": [
          "recordings"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/recordings/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/recordings/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>recordings</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/recordings/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/recordings/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>recordings</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\nThis operation shows the current state of a recording.",
        "operationId": "showRecordingState",
        "tags": [
          "recordings"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/recordings/2adffc17/state\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/recordings/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/schedules\" \\\n  -d $'{\n  \"schedule\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"schedule\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/schedules\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17\" \\\n  -d $'{\n  \"schedule\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"schedule\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17/enable\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17/enable';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17/disable\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17/disable';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/schedules/2adffc17/state\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/schedules/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_sources\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/stream_sources/wowza\" \\\n  -d $'{\n  \"stream_source_wowza\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_source_wowza\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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_create"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_sources/wowza/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/stream_sources/wowza/2adffc17\" \\\n  -d $'{\n  \"stream_source_wowza\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_source_wowza\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/stream_sources/wowza/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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 stream targets. For detailed information, fetch a single stream target of a specific type.",
        "operationId": "listStreamTargets",
        "tags": [
          "stream_targets"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/assignable"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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/{id}": {
      "get": {
        "summary": "Fetch a stream target",
        "description": "This operation shows the details of a specific stream target whether it be a Wowza CDN, custom, Facebook Live, or LinkedIn Live stream target.",
        "operationId": "showStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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",
                  "properties": {
                    "stream_target_custom": {
                      "$ref": "#/components/schemas/stream_target_custom"
                    },
                    "stream_target_wowza_cdn": {
                      "$ref": "#/components/schemas/stream_target_fastly"
                    },
                    "stream_target_facebook": {
                      "$ref": "#/components/schemas/stream_target_facebook"
                    },
                    "stream_target_linkedin": {
                      "$ref": "#/components/schemas/stream_target_linkedin"
                    }
                  }
                }
              }
            }
          },
          "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_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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/custom\" \\\n  -d $'{\n  \"stream_target_custom\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/custom';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_target_custom\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/custom\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/custom';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/custom/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/custom/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/custom/2adffc17\" \\\n  -d $'{\n  \"stream_target_custom\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/custom/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_target_custom\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/custom/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/custom/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the custom stream target.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "description": "When `true`, forces a hard delete by first disconnecting the stream target from any associated transcoder and then deleting it.",
            "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/wowza_cdn": {
      "post": {
        "summary": "Create a Wowza CDN stream target",
        "description": "(Available from version 1.4) This operation creates a Wowza CDN stream target to deliver your stream using the Wowza CDN.",
        "operationId": "createFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/wowza_cdn\" \\\n  -d $'{\n  \"stream_target_wowza_cdn\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/wowza_cdn';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_target_wowza_cdn\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/fastly_stream_target_create_input"
              }
            }
          },
          "description": "Provide the details of the Wowza CDN 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_wowza_cdn"
                  ],
                  "properties": {
                    "stream_target_wowza_cdn": {
                      "$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 stream targets",
        "description": "(Available from version 1.4) This operation lists limited details for all of your Wowza CDN 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/wowza_cdn\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/wowza_cdn';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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/wowza_cdn/{id}": {
      "get": {
        "summary": "Fetch a Wowza CDN stream target",
        "description": "(Available from version 1.4) This operation shows the details of a specific Wowza CDN stream target.",
        "operationId": "showFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/wowza_cdn/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/wowza_cdn/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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_wowza_cdn"
                  ],
                  "properties": {
                    "stream_target_wowza_cdn": {
                      "$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 stream target",
        "description": "(Available from version 1.4) This operation updates a Wowza CDN stream target.",
        "operationId": "updateFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/wowza_cdn/2adffc17\" \\\n  -d $'{\n  \"stream_target_wowza_cdn\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/wowza_cdn/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"stream_target_wowza_cdn\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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 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_wowza_cdn"
                  ],
                  "properties": {
                    "stream_target_wowza_cdn": {
                      "$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 stream target",
        "description": "(Available from version 1.4) This operation deletes a Wowza CDN 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/wowza_cdn/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/wowza_cdn/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the stream target.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "description": "When `true`, forces a hard delete by first disconnecting the stream target from any associated transcoder and then deleting it.",
            "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/{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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17/regenerate_connection_code\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17/regenerate_connection_code';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\n\nFor 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17/properties\" \\\n  -d $'{\n  \"property\": {\n    \"key\": \"chunkSize\",\n    \"section\": \"hls\",\n    \"value\": 6\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17/properties';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"property\": {\n    \"key\": \"chunkSize\",\n    \"section\": \"hls\",\n    \"value\": 6\n  }\n}));\nreq.end();\n"
          }
        ],
        "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.\n\n\n  For a comprehensive resource describing the use of advanced properties, see [Set advanced properties with the Wowza Video\n  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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17/properties\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17/properties';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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. \n\n\n  For a comprehensive resource describing the use of advanced properties, see [Set advanced properties with the Wowza Video\n  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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17/properties/hls-chunkSize\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17/properties/hls-chunkSize';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/stream_targets/2adffc17/properties/hls-chunkSize\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_targets/2adffc17/properties/hls-chunkSize';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/transcoders\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/enable_all_stream_targets\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/enable_all_stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/disable_all_stream_targets\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/disable_all_stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/start\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/start';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/stop\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/stop';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/reset\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/reset';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\nIf 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/start_recording\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/start_recording';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\nIf 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/stop_recording\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/stop_recording';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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": "<blockquote>Deprecated in 2.0.</blockquote>\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/recordings\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/recordings';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/schedules\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/schedules';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/thumbnail_url\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/thumbnail_url';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/state\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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}/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/vod_streams\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/vod_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/uptimes\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/uptimes';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/uptimes/1acfg43d\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/uptimes/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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}/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77\" \\\n  -d $'{\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/enable\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/enable';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/disable\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/disable';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/restart\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/outputs/1acfg43d/output_stream_targets/82daaf77/restart';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
          }
        ],
        "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.\n\n**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.\n\nFor 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/properties\" \\\n  -d $'{\n  \"property\": {\n    \"key\": \"rtpIgnoreProfileLevelId\",\n    \"section\": \"rtsp\",\n    \"value\": true\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/properties';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"property\": {\n    \"key\": \"rtpIgnoreProfileLevelId\",\n    \"section\": \"rtsp\",\n    \"value\": true\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/properties\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/properties';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/properties/rtsp-rtpIgnoreProfileLevelId\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/properties/rtsp-rtpIgnoreProfileLevelId';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/transcoders/2adffc17/properties/cupertino-aes128Secret\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/transcoders/2adffc17/properties/cupertino-aes128Secret';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/account": {
      "get": {
        "summary": "Fetch viewer analytics data for an account",
        "description": "(Available from version 1.11) This operation returns live and historic viewer data for the account related to the JSON web token used for API authentication. You'll use the query parameters to return live vs historic data, as well as specific types of viewer data. \n\n**Querying live data**\n\n1. To get data for currently live streams, do not send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data.\n\nIf you don't send any query parameters (to, from, or include), the total number of viewers is returned.\n\n**Querying historic data**\n1. To get data for streams that ran previously, send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send **include** values, the total number of viewers is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsAccountViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/account?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/account?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the from date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2024-04-13T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, **devices**, and **trend**.\n\nExample:\n**countries,trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/live_streams/{id}": {
      "get": {
        "summary": "Fetch viewer analytics data for a live stream",
        "description": "(Available from version 1.11) This operation returns the live and historic viewer data for a specific live stream. You'll use the query parameters to return live vs historic data, as well as specific types of viewer data.\n\n**Querying live data**\n\n1. To get data for currently live streams, do not send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send any query parameters (to, from, or include), the total number of viewers is returned.\n\n**Querying historic data**\n1. To get data for streams that ran previously, send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send **include** values, the total number of viewers is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticLivestreamViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/live_streams/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/live_streams/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2024-04-13T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, **devices**, and **trend**.\n\nExample:\n**countries,trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/vod_streams/{id}": {
      "get": {
        "summary": "Fetch viewer analytics data for a VOD stream",
        "description": "(Available from version 1.11) This operation returns the live and historic viewer data for a specific VOD stream. You'll use the query parameters to return live vs historic data, as well as specific types of viewer data.\n\n**Querying live data**\n\n1. To get data for currently live streams, do not send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send any query parameters (to, from, or include), the total number of viewers is returned.\n\n**Querying historic data**\n1. To get data for streams that ran previously, send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send **include** values, the total number of viewers is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsVodStreamViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/vod_streams/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/vod_streams/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the from date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2024-04-13T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, **devices**, and **trend**.\n\nExample:\n**countries,trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/stream_targets/{id}": {
      "get": {
        "summary": "Fetch viewer analytics data for a stream target",
        "description": "(Available from version 1.11) This operation returns the live and historic viewer data for a specific stream target. You'll use the query parameters to return live vs historic data, as well as specific types of viewer data.\n\n**Querying live data**\n\n1. To get data for currently live streams, do not send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send any query parameters (to, from, or include), the total number of viewers is returned.\n\n**Querying historic data**\n1. To get data for streams that ran previously, send **from** and **to** values.\n2. Use the **include** query parameter to specify what data you want to return, including: countries, renditions, devices, and trend data. \n\nIf you don't send **include** values, the total number of viewers is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsStreamTargetViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/stream_targets/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/stream_targets/tvctq36g?from=2024-03-14T10:31:54.486Z&to=2024-04-13T10:31:54.486Z&include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2024-04-13T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, **devices**, and **trend**.\n\nExample:\n**countries,trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/live_streams": {
      "get": {
        "summary": "Fetch viewer analytics data for the most viewed live streams",
        "description": "(Available from version 1.11) This operation returns viewer data for the top 100 live streams in an account.\n\n**Querying data**\n\nTo get viewer data for the top 100 streams that ran previously, send **from** and **to** values.\n\nIf you do not send **from** and **to** values, the last five minutes' worth of live stream viewer data is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsLiveStreamsViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/live_streams?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/live_streams?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the from date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_live_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/vod_streams": {
      "get": {
        "summary": "Fetch viewer analytics data for the most viewed VOD streams",
        "description": "(Available from version 1.11) This operation returns viewer data for the top 100 VOD streams in an account.\n\n**Querying data**\n\nTo get viewer data for the top 100 streams that ran previously, send **from** and **to** values.\n\nIf you do not send **from** and **to** values, the last five minutes' worth of VOD stream viewer data is returned.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsVodStreamsViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/vod_streams?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/vod_streams?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the from date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/account/total": {
      "get": {
        "summary": "Fetch total viewers analytics data for an account",
        "description": "(Available from version 2.0) This operation returns the total viewers data for the account related to the JSON web token used for API authentication.\n\n\n**Querying data**\n\n\nUse the **include** query parameter to specify what data you want to return, including:\ncountries, renditions, and devices.\n\n\nIf you don't send the **include** query parameter, the total number of viewers is returned.",
        "operationId": "analyticsAccountTotalViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/account/total?include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/account/total?include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, and **devices**.\n\nExample:\n**countries**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_account_total"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/live_streams/{id}/total": {
      "get": {
        "summary": "Fetch total viewers analytics data for a live stream",
        "description": "(Available from version 2.0) This operation returns the total viewers data for a specific live stream.\n\n\n**Querying data**\n\n\nUse the **include** query parameter to specify what data you want to return, including:\ncountries, renditions, and devices.\n\n\nIf you don't send the **include** query parameter, the total number of viewers is returned.",
        "operationId": "analyticsLivestreamTotalViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/live_streams/tvctq36g/total?include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/live_streams/tvctq36g/total?include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, and **devices**.\n\nExample:\n**countries**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_live_stream_total"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/vod_streams/{id}/total": {
      "get": {
        "summary": "Fetch total viewers analytics data for a VOD stream",
        "description": "(Available from version 2.0) This operation returns the total viewers data for a specific VOD stream.\n\n\n**Querying data**\n\n\nUse the **include** query parameter to specify what data you want to return, including:\ncountries, renditions, and devices.\n\n\nIf you don't send the **include** query parameter, the total number of viewers is returned.",
        "operationId": "analyticsVodstreamTotalViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/vod_streams/tvctq36g/total?include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/vod_streams/tvctq36g/total?include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the VOD stream.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, and **devices**.\n\nExample:\n**countries**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_vod_stream_total"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/viewers/stream_targets/{id}/total": {
      "get": {
        "summary": "Fetch total viewers analytics data for a stream target",
        "description": "(Available from version 2.0) This operation returns the total viewers data for a specific stream target.\n\n\n**Querying data**\n\n\nUse the **include** query parameter to specify what data you want to return, including:\ncountries, renditions, and devices.\n\n\nIf you don't send the **include** query parameter, the total number of viewers is returned.",
        "operationId": "analyticsStreamTargetTotalViewers",
        "tags": [
          "analytics_viewers"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/viewers/stream_targets/tvctq36g/total?include=countries,renditions,devices\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/viewers/stream_targets/tvctq36g/total?include=countries,renditions,devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the stream target.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid values are: **countries**, **renditions**, and **devices**.\n\nExample:\n**countries**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_viewers_stream_target_total"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/ingest/live_streams/{id}": {
      "get": {
        "summary": "Fetch ingest analytics data for a live stream",
        "description": "(Available from version 1.11) This operation returns the ingest data for a specific live stream. You'll use the query parameters to return live vs historic data, as well as specific types of ingest data. \n\n\n**Querying live data**\n\nTo get data for currently live streams, do not send **include**, **from**, and **to** values.\n\nThis operation returns a hash of metrics keys, each of which identifies a status, text description, unit, and value. \n\n**Querying historic data**\n\nTo get data for streams that ran previously, send **include**, **from**, and **to** values. \n\nThis operation returns a hash of metrics keys, each of which identifies a status, text description, unit, and value in addition to trend data.",
        "operationId": "analyticLivestreamIngest",
        "tags": [
          "analytics_ingest"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/ingest/live_streams/tvctq36g?from=2024-03-14T10:31:54.486&to=2024-04-13T10:31:54.486Z&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/ingest/live_streams/tvctq36g?from=2024-03-14T10:31:54.486&to=2024-04-13T10:31:54.486&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. 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 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. 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 30 days or from your last invoice date, whichever is shorter.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_ingest_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"
                }
              }
            }
          }
        }
      }
    },
    "/usage/account": {
      "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/accounts\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/accounts';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\nKeep in mind the following for account trend filters:\n <ul><li>The only valid filter is **resource**.</li>\n <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>\n <li>Filters use a zero-based index.</li></ul>\n\n For example:\n  **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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**Default**: end of the current day",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/engagement/vod_streams/{id}": {
      "get": {
        "summary": "Fetch engagement analytics data for a VOD stream",
        "description": "(Available from version 1.11) This operation returns the engagement data for a specific VOD stream. Engagement data provides insight into how many plays your stream received and for how long. \n\nIf you don't send from and to query parameters, the last hour's worth of data is returned. See the **trend** field in the response for information about sample intervals.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsVodStreamEngagement",
        "tags": [
          "analytics_engagement"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/popularity/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/engagement/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. The only valid value for this endpoint is **trend**.\n\nValid values are: trend\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_engagement_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/popularity/live_streams/{id}": {
      "get": {
        "summary": "Fetch popularity analytics data for a live stream or real-time stream",
        "description": "(Available from version 1.11) This operation returns the popularity data for a specific live stream or real-time stream. Popularity data provides insight into how many times  your stream is displayed to a possible viewer and how many times it's played. \n\nIf you don't send from and to query parameters, the last hour's worth of data is returned. \n\nUse the include query parameter to specify whether you want to return trend data. See the **trend** field in the response for information about sample intervals.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsLivestreamPopularity",
        "tags": [
          "analytics_popularity"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/popularity/live_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/popularity/live_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream or real-time stream.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. he only valid value for this endpoint is **trend**.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_popularity_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/popularity/vod_streams/{id}": {
      "get": {
        "summary": "Fetch popularity analytics data for a VOD stream",
        "description": "(Available from version 1.11) This operation returns the popularity data for a specific VOD stream. Popularity data provides insight into how many times  your video is displayed to a possible viewer and how many times it's played. \n\nIf you don't send from and to query parameters, the last hour's worth of data is returned. See the **trend** field in the response for information about sample intervals.\n\nUse the include query parameter to specify whether you want to return trend data. See the **trend** field in the response for information about sample intervals.\n\nIf the time range between **from** and **to** query parameters is:\n\n<ul><li>Less than 60 minutes, the cache time between responses is 10 seconds.</li>\n<li>More than 60 minutes, the cache time between responses is 60 seconds.</li>",
        "operationId": "analyticsVodStreamPopularity",
        "tags": [
          "analytics_popularity"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/analytics/popularity/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/analytics/popularity/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-13T10:31:54.486Z&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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": "Use this parameter, along with **to**, to return historic viewer data. \n\nThe start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **from** query parameter without setting the **to** query parameter, the data returned will reflect 30 days starting at the **from** date, or data up to to the current day, whichever is shorter.\n\nExample:\n**2023-01-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Use this parameter, along with **from**, to return historic viewer data. \n\n\nThe end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second. If you set the **to** query parameter without setting the **from** query parameter, the data returned will be from the past 30 days.\n\nExample:\n**2023-02-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. The only valid value for this endpoint is **trend**.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_popularity_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/error_density/account": {
      "get": {
        "summary": "Fetch error density metrics for an account",
        "description": "(Available from version 2.0) This operation returns the error density metrics for all streams within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoeErrorDensityAccount",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/error_density/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/error_density/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second.\nExample: **2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second.\nExample: **2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\nValid value is **trend**.\nExample: **trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\nExample: **Desktop**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "description": "Specifies whether recoverable (non-fatal) playback errors should be included in the response. Default is `false`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_error_density_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/error_density/media/{id}": {
      "get": {
        "summary": "Fetch error density metrics for specific streams",
        "description": "(Available from version 2.0) This operation returns the error density metrics for specific streams.",
        "operationId": "analyticsQoeErrorDensityMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/error_density/media/7ced08dd-a744-4944-bb87-019979cb3597?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/error_density/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the stream. Send a comma-separated list of live stream and/or video **id**s to request error density data for specific live streams and/or videos.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\nExample:\n**2024-03-14T10:31:54.486Z**",
            "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-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response.\nValid value is **trend**.\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\nExample: **Desktop**\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specifies whether recoverable (non-fatal) playback errors should be included in the response. Default is `false`. "
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_error_density_media_{id}"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/error_free_sessions/account": {
      "get": {
        "summary": "Fetch error free sessions percentage for all the streams in the account",
        "description": "(Available from version 2.0) This operation returns the percentage of error free sessions for all the streams within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoeErrorFreeSessions",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/error_free_sessions/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/error_free_sessions/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_error_free_sessions_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/error_free_sessions/media/{id}": {
      "get": {
        "summary": "Fetch error free sessions percentage for specific streams",
        "description": "(Available from version 2.0) This operation returns the percentage of sessions that were error-free for specific streams.",
        "operationId": "analyticsQoeErrorFreeSessionsMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/error_free_sessions/media/abc123?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/error_free_sessions/media/abc123?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the stream. Send a comma-separated list of stream **id**s to request error free sessions percentage data for specific streams.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_error_free_sessions_media_media_ids"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/errors/detail/media/{error_code}": {
      "get": {
        "summary": "Fetch affected media assets by specific error code",
        "description": "(Available from version 2.0) This operation returns a list of media assets impacted by a specified error, including the number of times each asset was impacted.",
        "operationId": "analyticsQoeErrorsDetailMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n-H \"Content-Type: application/json\" \\\n-X \"GET\" \\\n\"${WV_HOST}/api/2.0/analytics/qoe/errors/detail/media/:error_code/?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/errors/detail/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "error_code",
            "in": "path",
            "required": true,
            "description": "The unique identifier that represents a specific playback error. See this <a href=\"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FC2JAAyelj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBPWyE4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahJEICxtrIJyLF8LA6JgRj8ngZiXrxMh6BhbR48TsgU7TjPSfwKB9Fzhl89kyh6GLjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyXrxv8WwN4IG0Ux2-oruql7178WkZ4R6TiAce6dM7T1nuJee0lF5FxLj7JQ69N4qAgDvPeB81rHyxmfIYpM-7YGvsUdi98m6KCfmoV+tEP4tG7t-fuigIGSSgawLACdAHAMnmAueDDLDQOXrAhA8DXCIO3rvfeh9yoe3gOcawsBCCk3oQvOSN9CExAfs3Z+5D36dyoV-Z6P8yDyMYbXDiLCx69AnqAmenCFFLxXnAhBW9kEiLQUfNBrdd4GO4YXOuKjiE4Abm3IBlCmJ-ExEAA\">list</a> for all the available error codes in Wowza Flowplayer.\n\n\nExample:\n**02-37**"
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_errors_detail_media_error_code"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/errors/detail/message/{error_code}": {
      "get": {
        "summary": "Fetch top error messages by error code",
        "description": "(Available from version 2.0) This operation returns a list of the most frequent error messages associated with a specified error code, including the number of times each message occurred.",
        "operationId": "analyticsQoeErrorsDetailMessage",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/errors/detail/message/:error_code/?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/errors/detail/message/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "error_code",
            "in": "path",
            "required": true,
            "description": "The unique identifier that represents a specific playback error. See this <a href=\"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FC2JAAyelj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBPWyE4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahJEICxtrIJyLF8LA6JgRj8ngZiXrxMh6BhbR48TsgU7TjPSfwKB9Fzhl89kyh6GLjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyXrxv8WwN4IG0Ux2-oruql7178WkZ4R6TiAce6dM7T1nuJee0lF5FxLj7JQ69N4qAgDvPeB81rHyxmfIYpM-7YGvsUdi98m6KCfmoV+tEP4tG7t-fuigIGSSgawLACdAHAMnmAueDDLDQOXrAhA8DXCIO3rvfeh9yoe3gOcawsBCCk3oQvOSN9CExAfs3Z+5D36dyoV-Z6P8yDyMYbXDiLCx69AnqAmenCFFLxXnAhBW9kEiLQUfNBrdd4GO4YXOuKjiE4Abm3IBlCmJ-ExEAA\">list</a> for all the available error codes in Wowza Flowplayer.\n\n\nExample:\n**02-37**"
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_errors_detail_message_error_code"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/errors/detail/resources/{error_code}": {
      "get": {
        "summary": "Fetch a list of resource URLs impacted by a specific error code",
        "description": "(Available from version 2.0) This operation returns a list of resource URLs impacted by a specific error code, along with their corresponding occurrence counts.",
        "operationId": "analyticsQoeErrorsDetailResource",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/errors/detail/resources/:error_code/?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/errors/detail/resources/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "error_code",
            "in": "path",
            "required": true,
            "description": "The unique identifier that represents a specific playback error. See this <a href=\"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FC2JAAyelj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBPWyE4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahJEICxtrIJyLF8LA6JgRj8ngZiXrxMh6BhbR48TsgU7TjPSfwKB9Fzhl89kyh6GLjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyXrxv8WwN4IG0Ux2-oruql7178WkZ4R6TiAce6dM7T1nuJee0lF5FxLj7JQ69N4qAgDvPeB81rHyxmfIYpM-7YGvsUdi98m6KCfmoV+tEP4tG7t-fuigIGSSgawLACdAHAMnmAueDDLDQOXrAhA8DXCIO3rvfeh9yoe3gOcawsBCCk3oQvOSN9CExAfs3Z+5D36dyoV-Z6P8yDyMYbXDiLCx69AnqAmenCFFLxXnAhBW9kEiLQUfNBrdd4GO4YXOuKjiE4Abm3IBlCmJ-ExEAA\">list</a> for all the available error codes in Wowza Flowplayer.\n\n\nExample:\n**02-37**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_errors_detail_resources_error_code"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/errors/drilldown": {
      "get": {
        "summary": "Fetch error drill down metrics for your streams",
        "description": "(Available from version 2.0) This operation returns the error drill down by device metrics for all the live streams and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoeErrorRateDrilldown",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/errors/drilldown/?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/errors/drilldown?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second.\nExample: **2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ** where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest second.\nExample: **2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\nExample: **Desktop**\n\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect.\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results.\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the metric used to sort the returned objects.\nExample: **total_count**\nEnum: `\"total_count\"` `\"session_count\"`"
          },
          {
            "name": "sort_by_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort the results in ascending (`asc`) or descending (`desc`) order.\nDefault: **desc**\nExample: **asc**"
          },
          {
            "name": "error_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter results by a specific type of error.\nExample: **Playback**"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10. The minimum value is 1.\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\nPagination is determined according to the following logic:\n- If page=0, rows 1–10 are returned - If page=1, rows 11–20 are returned\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_errors_drilldown"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/errors/drilldown_trend/{error_code}": {
      "get": {
        "summary": "Fetch errors drill down trend metrics for your streams",
        "description": "(Available from version 2.0) This operation returns the errors drill down trend metrics for all the streams within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoeErrorRateDrilldownTrend",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/errors/drilldown/trend/02-01?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/errors/drilldown_trend/02-01?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "error_code",
            "in": "path",
            "required": true,
            "description": "The unique identifier that represents a specific playback error. See this <a href=\"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FC2JAAyelj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBPWyE4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahJEICxtrIJyLF8LA6JgRj8ngZiXrxMh6BhbR48TsgU7TjPSfwKB9Fzhl89kyh6GLjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyXrxv8WwN4IG0Ux2-oruql7178WkZ4R6TiAce6dM7T1nuJee0lF5FxLj7JQ69N4qAgDvPeB81rHyxmfIYpM-7YGvsUdi98m6KCfmoV+tEP4tG7t-fuigIGSSgawLACdAHAMnmAueDDLDQOXrAhA8DXCIO3rvfeh9yoe3gOcawsBCCk3oQvOSN9CExAfs3Z+5D36dyoV-Z6P8yDyMYbXDiLCx69AnqAmenCFFLxXnAhBW9kEiLQUfNBrdd4GO4YXOuKjiE4Abm3IBlCmJ-ExEAA\">list</a> for all the available error codes in Wowza Flowplayer.\n\n\nExample:\n**02-37**"
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "error_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter results by a specific type of error.\nExample: **Playback**"
          },
          {
            "name": "include_recoverable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include recoverable errors in the response.\nExample: **true**"
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_errors_drilldown_trend_error_code"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_count/account": {
      "get": {
        "summary": "Fetch rebuffer count metrics for an account",
        "description": "(Available from version 2.0) This operation returns the rebuffer count metrics for all the live streams and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoerebufferCountAccount",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_count/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_count/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_count_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_count/media/{id}": {
      "get": {
        "summary": "Fetch rebuffer count metrics for specific live streams and videos",
        "description": "(Available from version 2.0) This operation returns the rebuffer count metrics for specific live stream(s) and/or video(s).",
        "operationId": "analyticsQoerebufferCountMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_count/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_count/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream or video. Send a comma-separated list of live stream and/or video **id**s to request error density data for specific live streams and/or videos.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_count_media_id"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_count/drilldown": {
      "get": {
        "summary": "Fetch rebuffer count drill down metrics for your streams",
        "description": "(Available from version 2.0) This operation returns the rebuffer count drill down metrics for all the live streams and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoerebufferCountDrilldown",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_count/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_count/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the order of the returned objects. The default is **plays**.\n\nExample: **plays**\n\nEnum: `\"metric\"` `\"plays\"`"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_count_drilldown"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_count/drilldown_trend/{ids}": {
      "get": {
        "summary": "Fetch rebuffer count drill down trend metrics for your specific live streams and videos",
        "description": "(Available from version 2.0) This operation returns rebuffer count drill down trend metrics for specific live streams and/or videos.",
        "operationId": "analyticsQoerebufferCountDrilldownTrend",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_count/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_count/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream or video. Send a comma-separated list of live stream and/or video **id**s  to request trended rebuffer count drill down metrics for specific live streams and/or videos.\n\n**Note**: You can send up to 5 IDs in the request. If you send more than 5 IDs, only the first 5 IDs will be considered and the rest are ignored. schema: \n type: string"
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_count_drilldown_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_time/account": {
      "get": {
        "summary": "Fetch rebuffer time metrics for an account",
        "description": "(Available from version 2.0) This operation returns the rebuffer time for all the live streams and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoerebufferTimeAccount",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_time/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_time/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_time_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_time/media/{id}": {
      "get": {
        "summary": "Fetch rebuffer time metrics for specific live streams and videos",
        "description": "(Available from version 2.0) This operation returns the rebuffer time metrics for specific live stream(s) and/or video(s).",
        "operationId": "analyticsQoerebufferTimeMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_time/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_time/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream or video. Send a comma-separated list of live stream and/or video **id**s to request error density data for specific live streams and/or videos.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_time_media_id"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_time/drilldown": {
      "get": {
        "summary": "Fetch rebuffer time drill down metrics for your streams",
        "description": "(Available from version 2.0) This operation returns the rebuffer time drill down metrics for all the live streams and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoerebufferTimeDrilldown",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_time/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_time/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the order of the returned objects. The default is **plays**.\n\nExample: **plays**\n\nEnum: `\"metric\"` `\"plays\"`"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_time_drilldown"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/rebuffer_time/drilldown_trend/{ids}": {
      "get": {
        "summary": "Fetch rebuffer time drill down trend metrics for your specific live streams and videos",
        "description": "(Available from version 2.0) This operation returns rebuffer time drill down trend metrics for specific live streams and/or videos.",
        "operationId": "analyticsQoerebufferTimeDrilldownTrend",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/rebuffer_count/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/rebuffer_count/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the live stream or video. Send a comma-separated list of live stream and/or video **id**s  to request trended rebuffer time drill down metrics for specific live streams and/or videos.\n\n**Note**: You can send up to 5 IDs in the request. If you send more than 5 IDs, only the first 5 IDs will be considered and the rest are ignored.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_rebuffer_time_drilldown_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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/video_start_time/account": {
      "get": {
        "summary": "Fetch video start time metrics for an account",
        "description": "(Available from version 2.0) This operation returns the video start time metrics for all the live streams, real-time streams, and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoeVideoStartTimeAccount",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/video_start_time/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/video_start_time/account?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_video_start_time_account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/video_start_time/media/{id}": {
      "get": {
        "summary": "Fetch video start time metrics for specific live streams, real-time streams, and videos",
        "description": "(Available from version 2.0) This operation returns the video start time metrics for specific live stream(s), real-time stream(s), and/or video(s).",
        "operationId": "analyticsQoeVideoStartTimeMedia",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/video_start_time/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/video_start_time/media/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2024-09-08T14:35:00.486Z&to=2024-10-08T14:35:00.486Z&devices=Desktop&include=trend';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "A unique alphanumeric ID for a live stream, real-time stream, or video. Use a comma-separated list of these IDs to request trended video start time drilldown metrics.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54.486Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The trend data you want returned in the response.\n\nValid value is **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices. If you want to specify multiple devices, send a comma-separated list of the devices you need the returned data to reflect.\n\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_video_start_time_media_id"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/video_start_time/drilldown": {
      "get": {
        "summary": "Fetch video start time drill down metrics for your streams",
        "description": "(Available from version 2.0) This operation returns the video start time drill down metrics for all the live streams, real-time streams, and videos within the account related to the JSON web token used for API authentication.",
        "operationId": "analyticsQoevideostartTimeDrilldown",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/video_start_time/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/video_start_time/drilldown?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z&include=devices';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "The device data you want returned in the response.\n\nValid value is **devices**.\n\nExample:\n**devices**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "media_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A comma separated list of IDs of the streams you want the returned data to reflect. \n\nIf **media_ids** aren't specified, then the pagination parameters, **limit** and **page**, are used instead to determine returned results. \n\nExample: **abcd1234,wxyz3457**"
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the order of the returned objects. The default is **plays**.\n\nExample: **plays**\n\nEnum: `\"metric\"` `\"plays\"`"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Specify the number of results to return per page. The maximum number of results per page is 20. The default is 10.  The minimum value is 1. \n\nExample: **15**"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Returns a paginated view of results. Specify a positive integer to indicate which page of the results should be displayed.\n\nPagination is determined according to the following logic:\n\n- If page=0, rows 1-10 are returned\n\n- If page=1, rows 11-20 are returned\n\nExample: **2**"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_video_start_time_drilldown"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/analytics/qoe/video_start_time/drilldown_trend/{ids}": {
      "get": {
        "summary": "Fetch video start time drill down trend metrics for specific live streams, real-time streams, and videos",
        "description": "(Available from version 2.0) This operation returns video start time drill down trend metrics for specific live streams, real-time streams, and/or videos.",
        "operationId": "analyticsQoevideostartTimeDrilldownTrend",
        "tags": [
          "quality_of_experience"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/2.0/analytics/qoe/video_start_time/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/2.0/analytics/qoe/video_start_time/drilldown_trend/7ced08dd-a744-4944-bb87-019979cb3597,6fa964ce-9515-4001-ae72-f17ae52dbf6c?from=2025-01-08T14:35:00Z&to=2025-02-08T14:35:00Z';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);"
          }
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "path",
            "required": true,
            "description": "A unique alphanumeric ID for a live stream, real-time stream, or video. Use a comma-separated list of these IDs to request trended video start time drilldown metrics.\n\n**Note**: You can send up to 5 IDs in the request. If you send more than 5 IDs, only the first 5 IDs will be considered and the rest are ignored.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "The start of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "The end of the range of time you want to view. Specify **YYYY-DD-MMT HH:MM:SSZ**  where **HH** is a 24-hour clock in UTC. The range queried is rounded to the nearest  second.\n\nExample:\n**2024-03-14T10:31:54Z**",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "devices",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the devices you want the returned data to reflect. If you don't specify a device, the returned data includes all the playback devices.\n\nExample: **Desktop**\n\nenum: `\"Desktop\"` `\"Anonymized\"` `\"Mobile\"` `\"Tablet\"` `\"Watch\"` `\"Phone\"` `\"AugmentedReality\"` `\"VirtualReality\"` `\"EReader\"` `\"SetTopBox\"` `\"TV\"` `\"GameConsole\"` `\"HandheldGameConsole\"` `\"HomeAppliance\"` `\"Voice\"` `\"Car\"` `\"Cloud\"` `\"Robot\"` `\"RobotMobile\"` `\"RobotImitator\"` `\"Hacker\"` `\"Unknown\"` `\"Unclassified\"` `\"SmartDisplay\"`"
          },
          {
            "name": "time_zone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Specify the time zone you want the returned data to reflect. \n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/analytics_qoe_video_start_time_drilldown_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": {
      "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/transcoders\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/transcoders';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/transcoders/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/transcoders/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**Default**: end of the current day",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "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/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/transcoders/summary\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/transcoders/summary';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/stream_targets\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/stream_targets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/stream_targets/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/stream_targets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**Default**: end of the current day",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/stream_targets/summary\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/stream_targets/summary';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/storage/peak": {
      "get": {
        "summary": "Fetch peak storage",
        "description": "This operation is deprecated in 2.0.\n\nThis operation shows the amount of peak recording and VOD stream 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/storage/peak\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/storage/peak';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/storage/current": {
      "get": {
        "summary": "Fetch current storage",
        "description": "This operation was introduced and deprecated in 2.0.\n\nThis operation shows the total amount of recording and VOD stream storage used for the account at the current, or present, time of the request. '",
        "operationId": "usageStorageCurrentRecordingIndex",
        "tags": [
          "storage"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/storage/current\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/storage/current';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_storage_current"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams": {
      "get": {
        "summary": "Fetch usage for all VOD streams",
        "description": "The <strong>VOD stream</strong> operations are deprecated in 2.0. \n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/vod_streams\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/vod_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/{id}": {
      "get": {
        "summary": "Fetch usage for a single VOD stream",
        "description": "The <strong>VOD stream</strong> operations are deprecated in 2.0.\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/vod_streams/1ndgfc11\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/vod_streams/1ndgfc11';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**Default**: end of the current day",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Specify the data you want returned in the response. You can send a comma-separated list of values.\n\nValid value is: **trend**.\n\nExample:\n**trend**",
            "schema": {
              "type": "string"
            }
          }
        ],
        "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/summary": {
      "get": {
        "summary": "Fetch VOD stream usage summary",
        "description": "The <strong>VOD stream</strong> operations are deprecated in 2.0.\n\nThis 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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/vod_streams/summary\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/vod_streams/summary';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/real_time_streams\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/real_time_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/real_time_streams/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/real_time_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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/real_time_streams/summary": {
      "get": {
        "summary": "Fetch real-time stream usage summary",
        "description": "(Available from version 1.11) This operation returns a summary of CDN usage for all real-time streams in the account.",
        "operationId": "summmaryUsageRealtimeStream",
        "tags": [
          "usage_real_time_streams"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/usage/real_time_streams/summary\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/usage/real_time_streams/summary';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
          }
        ],
        "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.\n\nYou can also specify **last_bill_date**.\n\n**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.\n\nYou can also specify **last_bill_date**.\n\n**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_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": "<blockquote>The <strong>VOD streams</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\n(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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/vod_streams\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/vod_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>VOD stream</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n(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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/vod_streams/1kfgc39\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/vod_streams/1kfgc39';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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": "<blockquote>The <strong>VOD stream</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\n(Available from version 1.5) This operation updates a VOD stream.",
        "operationId": "updateVODStream",
        "tags": [
          "vod_streams"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/vod_streams/1kfgc39\" \\\n  -d $'{\n  \"vod_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/vod_streams/1kfgc39';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"vod_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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": "<blockquote>The <strong>VOD stream</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>\n\n(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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/vod_streams/1kfgc39\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/vod_streams/1kfgc39';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/real_time\" \\\n  -d $'{\n  \"real_time_stream\": {\n    \"name\": \"My Real-Time Stream\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"real_time_stream\": {\n    \"name\": \"My Real-Time Stream\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/real_time\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/real_time/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/real_time/2adffc17\" \\\n  -d $'{\n  \"real_time_stream\": {\n    \"name\": \"MyRealTimeStream\"\n  }\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"real_time_stream\": {\n    \"name\": \"MyRealTimeStream\"\n  }\n}));\nreq.end();\n"
          }
        ],
        "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\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/real_time/2adffc17\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/real_time/{id}/state": {
      "get": {
        "summary": "Fetch the state of a real-time stream",
        "description": "This operation shows the current state of a real-time stream.",
        "operationId": "showRealTimeStreamState",
        "tags": [
          "real_time"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/real_time/2adffc17/state\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time/2adffc17/state';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "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"
                  ],
                  "properties": {
                    "real_time": {
                      "type": "object",
                      "title": "real_time",
                      "properties": {
                        "state": {
                          "type": "string",
                          "description": "The state of the real-time stream.",
                          "example": "stopped",
                          "enum": [
                            "started",
                            "stopped",
                            "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"
                }
              }
            }
          }
        }
      }
    },
    "/real_time/{id}/stop": {
      "put": {
        "summary": "Stop a real-time stream",
        "description": "This operation stops a real-time stream.",
        "operationId": "stopRealTimeStream",
        "tags": [
          "real_time"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/real_time/2adffc17/stop\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/real_time/2adffc17/stop';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();"
          }
        ],
        "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": {
                      "type": "object",
                      "title": "real_time_stream",
                      "properties": {
                        "state": {
                          "type": "string",
                          "description": "The state of the real-time stream.",
                          "example": "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"
                }
              }
            }
          },
          "423": {
            "description": "Locked",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error423"
                }
              }
            }
          }
        }
      }
    },
    "/videos": {
      "post": {
        "tags": [
          "videos"
        ],
        "summary": "Create a video",
        "description": "This operation creates a video object in Wowza Video. You can upload a video from your local storage (DIRECT) or from an external storage provider (FETCH).",
        "operationId": "createVideo",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/videos\" \\\n  -d $'{\n  \"name\": \"My New Video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-01-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ],\n  \"category_id\": \"<The default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\",\n  \"input\": {\n    \"method\": \"REMOTE\",\n    \"remote_urls\": \"https://example.com/video.mp4\",\n    \"duration_in_ms\": 0\n  }\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"name\": \"My New Video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-01-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ]\n  \"category_id\": \"<The default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\",\n  \"input\": {\n    \"method\": \"REMOTE\",\n    \"remote_urls\": \"https://example.com/video.mp4\",\n    \"duration_in_ms\": 0\n  }\n}));\nreq.end();\n"
          }
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVideoRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVideoResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "videos"
        ],
        "summary": "Fetch all videos",
        "description": "This operation shows details for all videos available in Wowza Video.",
        "operationId": "listVideos",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/videos\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "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**.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "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",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "description": "Filter the response based on an asset's timespan. The filter can be specified in following formats:\n\n| Spec | Description |\n|-----|-------|\n| `YYYY-MM-DD'T'HH:mm:ss`  | Returns all assets with created_at after the specified date |\n",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000"
          },
          {
            "name": "updated_at",
            "in": "query",
            "description": "Filter the response based on an asset's timespan. The filter can be specified in following formats:\n\n| Spec | Description |\n|-----|-------|\n| `YYYY-MM-DD'T'HH:mm:ss`  | Returns all assets with updated_at after the specified date |\n",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000"
          },
          {
            "name": "published_at",
            "in": "query",
            "description": "Filter the response based on an asset's timespan. The filter can be specified in following formats:\n\n| Spec | Description |\n|-----|-------|\n| `YYYY-MM-DD'T'HH:mm:ss`  | Returns all assets with published_at after the specified date |\n",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000"
          },
          {
            "name": "state",
            "in": "query",
            "description": "The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:\n\n\n| State | Description |\n|-----------|-------|\n| UPLOADING  | The source file is currently being uploaded or waiting to be downloaded by our API. |\n| WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. |\n| PROCESSING  | Source file for the asset is encoding. The current encoding progress can be found on `encoding_progress` property. |\n| FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. |\n| ERROR  | If the platform, for some reason, could not download the source file or failed during the encoding process. `error_messsage` property can give more information about why it errored.  |\n| DELETED  | The video files have been deleted. Usually the video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. |\n",
            "example": "FINISHED",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "Search multiple text fields in a search that is case insensitive and does not require full matches. URL encode the value of the `query` to ensure that it can be processed. There are free URL encoders online.\n\nIt searches `name`, `description`, `tags` searches all your custom fields for matching terms.\nYou can search specific fields by specifying them after a colon (`:`); if you have multiple search terms you can use `pipe` (`|`) to separate the search terms.\n\nSome examples:\n\n| Query | Description |\n| ----- | ----------- |\n| `query=foo` | Searches all fields for `foo`. |\n",
            "schema": {
              "type": "string"
            },
            "example": "foo:name,custom_fields"
          },
          {
            "name": "sort_column",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "created_at",
                "name",
                "published_at",
                "duration"
              ]
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "desc",
                "asc"
              ]
            }
          },
          {
            "name": "origin_id",
            "in": "query",
            "description": "The unique alphanumeric string that identifies the live stream or the real-time stream from which the video originated.\n\nReturns all the videos associated with the same ID.",
            "schema": {
              "type": "string",
              "example": "edfg8k34"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "description": "Filters videos by specific categories. Provide one or more category ID(s) to retrieve only the videos that belong to those categories.\nTo enter multiple category IDs, enter the IDs as a comma-separated list. You can specify up to four category IDs.\n\n**Note:** To get the ID of a category, call the GET /categories endpoint and choose the category ID you need.",
            "schema": {
              "type": "string",
              "example": "cb65a918-ad7d-406a-80d8-09c9c8d0dbb"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          }
        }
      }
    },
    "/videos/{id}": {
      "get": {
        "tags": [
          "videos"
        ],
        "summary": "Fetch a video",
        "description": "This operation shows details for a single, specified video.",
        "operationId": "getSingleVideo",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the video.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoResponseModel"
                }
              }
            }
          },
          "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": {
        "tags": [
          "videos"
        ],
        "summary": "Update a video's metadata",
        "description": "This operation updates a video's metadata. To replace the video file, use the `PUT /video/ID`.",
        "operationId": "patchVideo",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\" \\\n  -d $'{\n  \"name\": \"My video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-01-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ],\n  \"category_id\": \"<The default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\"\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"name\": \"My video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-01-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ],\n  \"category_id\": \"<The account's default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\"\n}));\nreq.end();\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the video.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchVideoRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoResponseModel"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "videos"
        ],
        "summary": "Re-upload a video",
        "description": "This operation initiates a re-upload of a video.",
        "operationId": "reuploadVideo",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PUT\" \\\n  \"${WV_HOST}/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\" \\\n  -d $'{\n  \"input\": {\n    \"method\": \"REMOTE\",\n    \"remote_urls\": \"https://example.com/video.mp4\",\n    \"duration_in_ms\": 0\n  }\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"input\": {\n    \"method\": \"REMOTE\",\n    \"remote_urls\": \"https://example.com/video.mp4\",\n    \"duration_in_ms\": 0\n  }\n}));\nreq.end();\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the video.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReuploadVideoRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVideoResponseModel"
                }
              }
            }
          },
          "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": {
        "tags": [
          "videos"
        ],
        "summary": "Delete a video",
        "description": "This operation deletes a video and all its related files.",
        "operationId": "deleteVideo",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/videos/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the video",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/categories": {
      "get": {
        "tags": [
          "categories"
        ],
        "summary": "Fetch all categories",
        "description": "This operation shows details for all categories available in Wowza Video.",
        "operationId": "listCategories",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/categories\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/categories';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "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**.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "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",
              "format": "int32",
              "default": 1000
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Searches text fields case insensitive and partial. Full matches aren't required.\n\nFor categories, `name` and `description` are the only searchable fields.\n\nLimit to a specific field with a `colon` (`:`).\n\nIf you have multiple search terms you can use `pipe` (`|`) to separate the search terms.\n\nExamples:\n\n| Query | Description |\n| ----- | ----------- |\n| `query=foo` | Searches name & description field for `foo`. |\n| `query=foo:description` | Searches description field for `foo`. |\n| `query=foo\\|bar` | Searches name for `foo` and  `bar`. A category must match both to be included.|"
            }
          },
          {
            "name": "sort_column",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "name"
              ],
              "default": "name"
            }
          },
          {
            "name": "sort_direction",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "DESC"
            }
          },
          {
            "name": "only_top_level",
            "in": "query",
            "schema": {
              "type": "boolean",
              "description": "Only categories without parent categories will be returned if set to `true`.",
              "default": false
            }
          },
          {
            "name": "parent_id",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Limit search to categories with a specific parent category. When specified, only child categories with the specified parent will be returned."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryListModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          }
        }
      }
    },
    "/categories/{id}": {
      "get": {
        "tags": [
          "categories"
        ],
        "summary": "Fetch a category",
        "description": "This operation shows details for a single, specified category.",
        "operationId": "getCategory",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/categories/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/categories/51cd5c07-1583-4f5e-bd81-f1aa11510ea9';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the category.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryResponse"
                }
              }
            }
          },
          "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": {
        "tags": [
          "categories"
        ],
        "summary": "Update a category",
        "description": "This operation updates a category. \n\nOnly the fields that are sent in the request body will be updated.",
        "operationId": "updateCategory",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/categories/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\" \\\n  -d $'{\n  \"name\": \"My first Category\",\n  \"description\": \"This is a category description\",\n  \"parent_id\": \"cb65a918-ad7d-406a-80d8-09c9c8d0dbb\"\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/categories/51cd5c07-1583-4f5e-bd81-f1aa11510ea9';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"name\": \"My first category\",\n  \"description\": \"This is a category description\",\n  \"parent_id\": \"cb65a918-ad7d-406a-80d8-09c9c8d0dbb\"  \n}));\nreq.end();\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the category.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryResponse"
                }
              }
            }
          },
          "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": {
        "tags": [
          "categories"
        ],
        "summary": "Delete a category",
        "description": "This operation deletes a category.",
        "operationId": "deleteCategory",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/categories/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/categories/51cd5c07-1583-4f5e-bd81-f1aa11510ea9';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier for the category.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/playback_tokens/keys": {
      "post": {
        "tags": [
          "advanced_token_authentication"
        ],
        "summary": "Create a playback token key",
        "description": "This operation creates a playback token key that includes a key id and key value. You use one or both of these parameters to create a playback token for advanced token authentication. \n\nBefore using the **ADVANCED_TOKEN** option as your token authentication for a video, you must do **one** of the following: \n\n - Generate a playback token key that has a key id using this endpoint in the Wowza Video API, then customize and generate a token via the Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.  \n - Generate a playback token key that has a key id and key value using this endpoint in the Wowza Video 2.0 API, then customize and generate a standard common access token (CAT) through the means you usually use to create tokens to add to your site. You'll need the key id and key to create and sign the token.  \n   The key value is only returned in this endpoint so keep it in a place that you can access it later when you create your playback token. ",
        "operationId": "createKey",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/playback_tokens/keys\" \\\n  -d $'{\n  \"name\": \"My key name\"\n}'"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/playback_tokens/keys';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"name\": \"My key name\"\n}));\nreq.end();\n"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePlaybackTokenKeyRequestWrapper"
              }
            }
          },
          "description": "Provide the details of the playback token keys to create in the body of the request.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePlaybackTokenKeyResponseWrapper"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "advanced_token_authentication"
        ],
        "summary": "Fetch playback token keys",
        "description": "This operation shows details for playback token keys you've created that are available in Wowza Video for your account. The details include a key id which you use to create a playback token for advanced token authentication. \n\nBefore using the **ADVANCED_TOKEN** option as your token authentication for a video, you must do **one** of the following: \n\n - Generate a playback token key that has a key id using the POST /playback_tokens/keys endpoint in the Wowza Video API, then customize and generate a token via Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.  \n - Generate a playback token key that has a key id and key value using the POST /playback_tokens/keys endpoint in the Wowza Video 2.0 API, then customize and generate a standard common access token (CAT) through the means you usually use to create tokens to add to your site. You'll need the key id and key to create and sign the token. \n   You received the key value in the response when you created the playback token key.  ",
        "operationId": "listPlaybackTokenKeys",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/playback_tokens/keys\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/playback_tokens/keys';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "\n`Name` is the only searchable field.\n\nLimit to a specific field with a `colon` (`:`).\n\nIf you have multiple search terms you can use `pipe` (`|`) to separate the search terms.\n\nExamples:\n\n | Query | Description |\n | ----- | ----------- |\n | `query=foo` | Searches name & description field for `foo`. |"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPlaybackTokenKeyResponseWrapper"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/playback_tokens/keys/{id}": {
      "delete": {
        "tags": [
          "advanced_token_authentication"
        ],
        "summary": "Delete a playback token key",
        "description": "This operation deletes a playback token key.",
        "operationId": "deletePublicTokenKey",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n    \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/playback_tokens/keys/2aa3343e-2fb5-42c3-8671-b52c24b7c3e2\"\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/plaayback_tokens/keys/51cd5c07-1583-4f5e-bd81-f1aa11510ea9';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier, or key id, for the playback token keys.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
            }
          }
        ],
        "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"
                }
              }
            }
          }
        }
      }
    },
    "/playback_tokens": {
      "post": {
        "summary": "Create a playback token",
        "description": "This operation creates a playback token for use with advanced token authentication.\n\nYou'll use the PATCH /videos/{id} endpoint to select **ADVANCED_TOKEN** authentication for your video after you have the  playback token. Then, you'll add the token into your player site along with the JS-embed for the video.\n\nBefore using the **ADVANCED_TOKEN** option as your token authentication for a video, you must do the following: \n\n - Generate a playback token key that has a key id using the POST /playback_tokens/key in the Wowza Video API, then customize and generate a token via this endpoint in the Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.  ",
        "operationId": "CreatePlaybackToken",
        "tags": [
          "advanced_token_authentication"
        ],
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n   -H \"Content-Type: application/json\" \\\n   -X \"POST\" \\\n   \"${WV_HOST}/api/beta/playback_tokens\" \\\n   -d $'{\n   \"exp\": 1679816499,\n   \"key_id\": \"51cd5c07-1583-4f5e-bd81-f1aa11510ea9\",\n   \"nbf\": \"1759183200\",\n   \"iat\": \"1759183200\",\n   \"iss\": \"my-issuer\",\n   \"sub\": \"subscriber1234\",\n   \"aud\": \"my-audience\",\n   \"cti\": \"unique-token-id\",\n   \"catnip\": [\n       {\n          \"tag\": 52,\n          \"value\": [24, {\"0\": 188, \"1\": 4, \"2\": 23 }]\n        },\n        {\n          \"tag\": 54,\n          \"value\": [48, {\"0\": 42, \"1\": 2, \"2\": 33, \"3\": 73, \"4\": 135, \"5\":128}]\n       }\n   ],\n   \"catu\": {\n        \"1\":[\n          0,\n          \"cdn.example.com\"\n      ],\n        \"3\":[\n          3,\n          \"video-id\"\n      ]\n   },\n   \"catgeoiso3166\": [\n        \"US\",\n        \"CA-ON\"\n   ],\n   \"catv\": 1\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/beta/playback_tokens';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n   hostname: hostname,\n   path: path,\n   method: 'POST',\n   headers: {\n     'Authorization': wvJWT,\n     'Content-Type': 'application/json'\n   }\n };\n const req = https.request(options, function(res) {\n   var body = '';\n   res.on('data', function(data) {\n     body += data;\n   });\n   res.on('end', function() {\n     console.log(JSON.parse(body));\n   });\n }).on('error', function(e) {\n   console.log(e.message);\n });\n req.write(JSON.stringify({\n   \"exp\": 1679816499,\n   \"key_id\": \"51cd5c07-1583-4f5e-bd81-f1aa11510ea9\",\n   \"nbf\": \"1759183200\",\n   \"iat\": \"1759183200\",\n   \"iss\": \"my-issuer\",\n   \"sub\": \"subscriber1234\",\n   \"aud\": \"my-audience\",\n   \"cti\": \"unique-token-id\",\n   \"catnip\": [\n       {\n         \"tag\": 52,\n         \"value\": [24, {\"0\": 188, \"1\": 4, \"2\": 23 }]\n       },\n       {\n         \"tag\": 54,\n         \"value\": [48, {\"0\": 42, \"1\": 2, \"2\": 33, \"3\": 73, \"4\": 135, \"5\":128}]\n       } \n   ],\n   \"catu\": {\n        \"1\":[\n          0,\n          \"cdn.example.com\"\n      ],\n        \"3\":[\n          3,\n          \"video-id\"\n      ]\n   },\n   \"catgeoiso3166\": [\n        \"US\",\n        \"CA-ON\"\n   ],\n   \"catv\": 1\n }));\n req.end();\n"
          }
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateTokenResponse"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      }
    },
    "/clipping": {
      "post": {
        "tags": [
          "clipping"
        ],
        "summary": "Create a clip",
        "description": "This operation creates (or replaces) a video object in Wowza Video by clipping a video or live stream or, clipping and stitching together video or live stream clips.\n\n\n**Create a clip**\n\nTo create a clip off of an existing video or live stream, send the `id` of the video or live stream you want to clip along with the `asset_type`, `mode`, `start`, and `stop` parameters.\n\n**Create clips and stitch the clips**\n\nTo create multiple clips and stitch the clips together as one clip, send the `id` of the videos or live streams you want to clip along with the `asset_type`, `mode`, `start`, and `stop` parameters.\n\n**Create a clip and replace the original video**\n\nTo create a clip and replace the original video with the clip, send the `replace_video_id` parameter where `replace_video_id` is the video id of the video to be replaced, along with the `asset_type`, `mode`, `start`, and `stop` parameters.\n\n**Note**: The replace option works only with videos and not live streams. The `replace_video_id` is specifically a video ID and not a live stream ID.\n\n**Caution!** Once you replace the original video with the clip, you will no longer be able to retrieve the original video.",
        "operationId": "createClipStitch",
        "x-code-samples": [
          {
            "lang": "Shell",
            "source": "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/2.0/clipping\" \\\n  -d $'{\n  \"clips\": [\n    \"id\": \"73a0c613-8972-14cd-9d0c-3c993bddb388\",\n    \"asset_type\": \"VOD\",\n    \"start\": \"00:01:20:00\",\n    \"stop\": \"00:05:25:00\"\n    ],\n  \"name\": \"My video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-05-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ],\n  \"category_id\": \"<The default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\",\n}'\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/beta/clipping';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n    \"clips\": [\n      \"id\": \"73a0c613-8972-14cd-9d0c-3c993bddb388\",\n      \"asset_type\": \"VOD\",\n      \"start\": \"00:01:20:00\",\n      \"stop\": \"00:05:25:00\"\n      ],\n  \"name\": \"My New Video\",\n  \"description\": \"A new video for my business.\",\n  \"unpublish\": true,\n  \"unpublished_at\": \"2025-01-01T12:33:22Z\",\n  \"published\": true,\n  \"published_at\": \"2024-05-01T12:33:22Z\",\n  \"tags\": [\n    \"foo\",\n    \"bar\"\n  ]\n  \"category_id\": \"<The default category>\",\n  \"no_ads\": true,\n  \"ad_keywords\": \"special_ads\",\n}));\nreq.end();\n"
          }
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClipStitchRequestModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateClipStitchResponseModel"
                }
              }
            }
          },
          "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": {
      "assignable": {
        "name": "assignable",
        "in": "query",
        "description": "Returns stream targets that are assignable to an output. \nIf **true**, all assignable stream targets are included in the response. \nIf the parameter isn't used, all assignable and unassignable stream targets are included in the response.\n\n\n\nA **primary_stream_target** is a single stream target that automatically \ngets created for all output renditions (the ABR ladder) created when you create a live stream \nthrough a live stream flow. **Primary_stream_targets** cannot be deleted or reassigned so they will not\nbe listed when using the assignable parameter.\n\n Example:\n **api.video.wowza.com/api/v2.0/stream_targets?assignable=true**",
        "schema": {
          "type": "boolean"
        }
      },
      "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.\n\nFor 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).\n\nExample:\n**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**. \n\n 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": ""
          },
          "state": {
            "type": "string",
            "description": "The state of the live stream.",
            "example": "started",
            "enum": [
              "starting",
              "stopping",
              "started",
              "stopped",
              "resetting"
            ]
          },
          "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",
              "state": "stopped",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-31T16:06:47.849Z"
            },
            {
              "id": "KyxWKtHQ",
              "name": "My 24x7 Passthrough Live Stream",
              "state": "started",
              "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",
              "state": "started",
              "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_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.\n\n**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.\n\n**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.\n\n**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.\n\n**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.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</code>",
            "example": ""
          }
        }
      },
      "player_request_object_create": {
        "type": "object",
        "description": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **live_stream** object where you can still access them through the API:\n  * **logo_image**\n  * **logo_position**\n  * **video_poster_image**\n  * **width**",
        "properties": {
          "customizations": {
            "type": "object",
            "description": "Configuration of the player customizations.",
            "properties": {
              "play_icon": {
                "type": "string",
                "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                "example": "solid",
                "enum": [
                  "solid",
                  "outlined",
                  "ring"
                ]
              },
              "thin_timeline": {
                "type": "boolean",
                "description": "If **true**, displays a thinner control bar than the default in the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                "example": ""
              },
              "drag_handle": {
                "type": "boolean",
                "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                "example": ""
              },
              "volume": {
                "type": "boolean",
                "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                "example": ""
              },
              "mute": {
                "type": "boolean",
                "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                "example": ""
              },
              "fullscreen": {
                "type": "boolean",
                "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                "example": ""
              },
              "show_player_title": {
                "type": "boolean",
                "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                "example": ""
              },
              "color": {
                "type": "string",
                "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n\n**Example:** <code>\"color\": \"4d4d4d\"</code>",
                "example": ""
              }
            }
          },
          "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**.\n\n**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.\n\n**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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
            "example": "",
            "enum": [
              "top-left",
              "top-right",
              "bottom-left",
              "bottom-right"
            ]
          },
          "plugins": {
            "type": "object",
            "description": "Configuration of the plugins.",
            "properties": {
              "airplay": {
                "type": "boolean",
                "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                "example": ""
              },
              "chromecast": {
                "type": "boolean",
                "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                "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 *player_width*.\n\n\n **Example:** <code>\"type\": false</code>",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "The player you want to use.\n\n**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.\n\nThe 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.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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",
              "broadcast_location",
              "encoder"
            ],
            "properties": {
              "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"
              },
              "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.\n\nDefault: **720**.",
                "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.\n\nDefault: **1280**.",
                "example": 1920,
                "format": "int32"
              },
              "billing_mode": {
                "type": "string",
                "description": "The billing mode for the stream. \n\nDefault: **pay_as_you_go**.\n\n\n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n\n**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"
                ]
              },
              "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.\n\n**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.\n\nDefault: **push**\n\n**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.\n\n**Example:** See response body sample",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string",
                "description": "An optional description of the live stream.",
                "example": ""
              },
              "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.\n\n**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**.\n\n\n **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.\n\n**Example:** <code>\"password\": 68332313</code>",
                "example": "68332313"
              },
              "player": {
                "$ref": "#/components/schemas/player_request_object_create"
              },
              "player_id": {
                "type": "string",
                "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n\nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850",
                "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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
                "example": "",
                "enum": [
                  "top-left",
                  "top-right",
                  "bottom-left",
                  "bottom-right"
                ]
              },
              "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.\n\n**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**.\n\n**Example:** <code>\"width\": 640</code>",
                "example": "",
                "format": "int32"
              },
              "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.\n\nRecordings 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.\n\nDefault: **false**\n\n> **Note**: If **save_asset** is **true**, that field overrides a true **recording** value and the asset is saved in Asset Management.\n\n**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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.7.\n\n**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.\n> **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.\n\nAvailable from version 1.8.\n\n**Example:** <code>\"save_asset\": true</code>",
                "example": true
              },
              "security": {
                "type": "object",
                "description": "Configuration of stream security. These settings only apply to Wowza CDN on Fastly stream targets, not Facebook Live, LinkedIn Live, or custom targets.",
                "properties": {
                  "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.\n\n**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**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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. \n\n<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.</blockquote>\n\n**Example:** <code>\"geoblock_ip_addresses\": \"77.12.34.567, 78.23.45.678\"</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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"token_auth_playlist_only\": true</code>",
                    "example": ""
                  }
                }
              },
              "source_url": {
                "type": "string",
                "description": "For the *delivery_method* **pull** or *encoder* **file**.\n\nFor **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.\n\nFor **file**, enter the source file URL, including the protocol (http, https, gs, s3).\n\n\n**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**. \n\n**Example:** <code>\"target_delivery_protocol\": \"hls-https\"</code>",
                "example": "hls-https",
                "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. \n\n\n\n> **Note**: **passthrough** isn't supported in the **asia_pacific_singapore** region.\n\n\n\nDefault: **transcoded**.",
                "example": "transcoded",
                "enum": [
                  "transcoded",
                  "passthrough"
                ]
              },
              "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.\n\n**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.\n\n**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.\n> **Note**: If **save_asset** is **true**, that field overrides a true **vod_stream** value and the asset is saved in Asset Management.\n\n**Example:** <code>\"vod_stream\": true</code>",
                "example": true
              },
              "watermark": {
                "type": "boolean",
                "description": "Embeds an image into the transcoded stream for copyright protection. Specify **true** to embed a watermark image.\n\n\n**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.\n\n**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.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"watermark_width\": 100</code>",
                "example": "",
                "format": "int32"
              },
              "countdown": {
                "type": "boolean",
                "description": "Enables or disables a countdown timer. ",
                "example": ""
              },
              "countdown_at": {
                "type": "string",
                "description": "The month, day, year, and time of day that the countdown timer should stop displaying to the viewer. Specify **YYYY-MM-DD  HH:MM:SS**.\n\n\nFor example, if you set the **countdown_at** for **2024-12-15T17:00:00:000Z** and the **countdown_timezone** as  **America/New_York**, the viewer would see their current time minus the time remaining until the date and time you set. So, if there's 5 hours  to go until 1700 NYC time for the viewer, the viewer sees **5:00:00** on the player indicating there are 5 hours left, then the timer counts down from there. The countdown starts as soon as the streamer configures it.\n\nRequired when **countdown** is **true**.\n\n**Example:** <code>\"countdown_at\": \"2024-02-01T00:00:00.000Z\"",
                "example": "2024-02-01T00:00:00.000Z",
                "format": "date-time"
              },
              "countdown_timezone": {
                "type": "string",
                "example": "America/New_York",
                "description": "The time zone the countdown timer runs in. Required when **countdown** is **true**.\n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n  | Locations                     |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   \n\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
              }
            }
          }
        },
        "example": {
          "billing_mode": "pay_as_you_go",
          "broadcast_location": "us_west_oregon",
          "description": "This is my first live stream.",
          "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": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **live_stream** object where you can still access them through the API:\n  * **embed_code**\n  * **hls_playback_url**\n  * **logo_image_url**\n  * **logo_position**\n  * **video_poster_image_url**\n  * **width**",
        "properties": {
          "customizations": {
            "type": "object",
            "description": "Configuration of the player customizations.",
            "properties": {
              "play_icon": {
                "type": "string",
                "description": "A play icon that appears on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.",
                "example": "",
                "enum": [
                  "solid",
                  "outlined",
                  "ring"
                ]
              },
              "thin_timeline": {
                "type": "boolean",
                "description": "A control bar that appears on the video. Specify **true** to display the control bar on the video. The default is **false**.",
                "example": ""
              },
              "drag_handle": {
                "type": "boolean",
                "description": "A drag handle that you can use to drag the progress of the video on the timeline. Specify **true** to display the drag handle. The default is **false**.",
                "example": ""
              },
              "volume": {
                "type": "boolean",
                "description": "A volume button that appears on the video. Specify **true** to display the volume button. The default is **true**.",
                "example": ""
              },
              "mute": {
                "type": "boolean",
                "description": "A mute button that appears on the video. Specify **true** to display the mute button. The default is **true**.",
                "example": ""
              },
              "fullscreen": {
                "type": "boolean",
                "description": "A fullscreen button that appears on the video. Specify **true** to display the fullscreen button. The default is **true**.",
                "example": ""
              },
              "show_player_title": {
                "type": "boolean",
                "description": "The player title that appears on the video. Specify **true** to display the player title. The default is **false**.",
                "example": ""
              },
              "color": {
                "type": "string",
                "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color. ",
                "example": ""
              }
            }
          },
          "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"
            ]
          },
          "plugins": {
            "type": "object",
            "description": "Configuration of the plugins.",
            "properties": {
              "airplay": {
                "type": "boolean",
                "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.",
                "example": ""
              },
              "chromecast": {
                "type": "boolean",
                "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.",
                "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 *player_width*.",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "The player you want to use.\n\n**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.\n\nThe 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.\n\n**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.\n\nDefault: **720**.",
            "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.\n\nDefault: **1280**.",
            "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": "\nThe billing mode for the stream. \n\n\nDefault: **pay_as_you_go**.\n\n\n        \n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n    \n**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"
            }
          },
          "description": {
            "type": "string",
            "description": "An optional description of the live stream.",
            "example": ""
          },
          "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**,\n 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"
            ]
          },
          "flowplayer": {
            "type": "boolean",
            "description": "Indicates whether or not the player for the live stream is a Wowza Flowplayer player. **True** indicates the player is a Wowza Flowplayer player. Our new Wowza Video experience uses Wowza Flowplayer. If you are a Wowza Video legacy subscriber, Wowza Flowplayer is also the player used.\n\n**False** indicates the player is either an **original_html5** player or **wowza_player**. The original HTML and Wowza players are the players available for Wowza Streaming Cloud subscribers.",
            "example": ""
          },
          "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"
          },
          "player_id": {
            "type": "string",
            "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n    \n    \nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n<blockquote><strong>Note</strong>: <strong>player_id</strong> is not returned in the response if it's not explicitly sent and the default player configuration is used instead.</blockquote>\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850"
          },
          "player_type": {
            "type": "string",
            "description": "(Available from version 2.0) The type of player associated with the stream. Streams created in legacy Wowza Video have a  player type of *wowza_flowplayer_v1*. Streams created in later versions of Wowza Video have a player type of *wowza_flowplayer_v2*.\n\nKnowing the player type is useful if you've migrated streams from legacy Wowza Video. The player for a stream created in the legacy version of Wowza Video isn't editable in the new platform. \n\n**Example**: wowza_flowplayer_v1",
            "enum": [
              "wowza_flowplayer_v1",
              "wowza_flowplayer_v2"
            ]
          },
          "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": ""
          },
          "countdown_at": {
            "type": "string",
            "description": "The month, day, year, and time of day that the countdown timer should stop displaying to the viewer. Specify **YYYY-MM-DD  HH:MM:SS**. The response is in UTC time.\n\nFor example, if you set the **countdown_at** for **2024-12-15T17:00:00:000Z** and the **countdown_timezone** as  **America/New_York**, the viewer would see their current time minus the time remaining until the date and time you set. So, if there's 5 hours  to go until 1700 NYC time for the viewer, the viewer sees **5:00:00** on the player indicating their's 5 hours left and the timer counts down from there. The countdown starts as soon as the streamer configures it.\n\nRequired when **countdown** is **true**.\n\n**Example:** <code>\"countdown_at\": \"2024-02-01T00:00:00.000Z\"",
            "example": "2024-02-01T00:00:00.000Z",
            "format": "date-time"
          },
          "countdown_timezone": {
            "type": "string",
            "example": "America/New_York",
            "description": "The time zone the countdown timer runs in.\n\nRequired when **countdown** is **true**.\n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n  | Locations                     |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`   "
          },
          "countdown": {
            "type": "boolean",
            "description": "Enables or disables a countdown timer. ",
            "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"
            ]
          },
          "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"
          },
          "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.\n\nRecordings created from a live stream capture up to eight hours of content.\nIf 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.\n\nDefault: **false**.\n\n> **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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable 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.\n> **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.\n\nAvailable from version 1.8."
          },
          "security": {
            "type": "object",
            "description": "Configuration of stream security. These settings only apply to Wowza CDN on Fastly stream targets, not Facebook Live, LinkedIn Live, or custom targets.",
            "properties": {
              "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": ""
              },
              "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**.\n\n**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": ""
              }
            }
          },
          "source_connection_information": {
            "type": "object",
            "description": "Details that you can use to manually configure and connect a video source to the live stream.",
            "example": ""
          },
          "state": {
            "type": "string",
            "description": "The state of the live stream.",
            "example": "started",
            "enum": [
              "starting",
              "stopping",
              "started",
              "stopped",
              "resetting"
            ]
          },
          "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. A **primary_stream_target** is a single stream target that automatically gets created for all output renditions (the ABR ladder) created when you create a live stream through a live stream flow. The **primary_stream_target** cannot be deleted or reassigned.",
            "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. \n\n\n\n> **Note**: **passthrough** isn't supported in the **asia_pacific_singapore** region.\n\n\n\nDefault: **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.\n> **Note**: If **save_asset** is **true**, that field overrides a true **vod_stream** value and the asset is saved in Asset Management.",
            "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": {
          "aspect_ratio_height": 720,
          "aspect_ratio_width": 1280,
          "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"
          ],
          "description": "This is my first live stream.",
          "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",
          "flowplayer": true,
          "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://embed.flowplayer.com/hosted/default/e8dk5bf6"
          },
          "id": "wdjfqvsv",
          "name": "My PAYG Transcoded WSE Live Stream",
          "playback_stream_name": "wxyz6789",
          "player_id": "205b4e8-b160-43c2-868d-d88698a4e850",
          "player_type": "wowza_flowplayer_v2",
          "embed_code": null,
          "hls_playback_url": "https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8",
          "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
          "logo_position": "top-right",
          "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,
          "security": {
            "force_ssl_playback": 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",
            "token_auth_enabled": false,
            "token_auth_playlist_only": false
          },
          "state": "stopped",
          "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,
          "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
        }
      },
      "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": []
            }
          },
          "Example Response 3": {
            "meta": {
              "status": 422,
              "code": "ERR-422-InvalidStateChange",
              "title": "Invalid State Change Error",
              "message": "The request couldn't be processed. There must be at least one WebRTC output for this transcoder.",
              "description": "",
              "links": []
            }
          },
          "Example Response 4": {
            "meta": {
              "status": 422,
              "code": "ERR-422-RecordInvalid",
              "title": "Record Invalid Error",
              "message": "API cannot remove the primary Output Stream Target with the ID of <output id> from the Live Stream <livestream id><livestream name>.",
              "description": "",
              "links": []
            }
          },
          "Example Response 5": {
            "meta": {
              "status": 422,
              "code": "ERR-422-InvalidStateChange",
              "title": "Invalid State Change Error",
              "message": "The request couldn't be processed. The broadcast location can't be updated when using autostart.",
              "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": []
            }
          }
        }
      },
      "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.\n\n**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.\n\n**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.\n\n**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 hosted page. The default is **false**.\n\n**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.\n\n**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.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</code>",
            "example": ""
          }
        }
      },
      "player_request_object": {
        "type": "object",
        "description": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **live_stream** object where you can still access them through the API:\n  * **logo_image**\n  * **logo_position**\n  * **video_poster_image**\n  * **width**\n  * **remove_video_poster_image**\n  * **remove_logo_image**",
        "properties": {
          "customizations": {
            "type": "object",
            "description": "Configuration of the player customizations.",
            "properties": {
              "play_icon": {
                "type": "string",
                "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                "example": "solid",
                "enum": [
                  "solid",
                  "outlined",
                  "ring"
                ]
              },
              "thin_timeline": {
                "type": "boolean",
                "description": "If **true**, displays a thinner control bar than the default in the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                "example": ""
              },
              "drag_handle": {
                "type": "boolean",
                "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                "example": ""
              },
              "volume": {
                "type": "boolean",
                "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                "example": ""
              },
              "mute": {
                "type": "boolean",
                "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                "example": ""
              },
              "fullscreen": {
                "type": "boolean",
                "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                "example": ""
              },
              "show_player_title": {
                "type": "boolean",
                "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                "example": ""
              },
              "color": {
                "type": "string",
                "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n\n**Example:** <code>\"color\": \"4d4d4d\"</code>",
                "example": ""
              }
            }
          },
          "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**.\n\n**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.\n\n**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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
            "example": "",
            "enum": [
              "top-left",
              "top-right",
              "bottom-left",
              "bottom-right"
            ]
          },
          "plugins": {
            "type": "object",
            "description": "Configuration of the plugins.",
            "properties": {
              "airplay": {
                "type": "boolean",
                "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                "example": ""
              },
              "chromecast": {
                "type": "boolean",
                "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                "example": ""
              }
            }
          },
          "remove_logo_image": {
            "type": "boolean",
            "description": "If **true**, removes the logo file from the player. The default is **false**.\n\n**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**.\n\n**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*.\n\n\n **Example:** <code>\"type\": false</code>",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "The player you want to use.\n\n**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.\n\nThe 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.\n\n**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**.\n\n**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.\n\n**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**.\n\n**Example:** <code>\"width\": 640</code>",
            "example": "",
            "format": "int32"
          }
        }
      },
      "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.\n\nDefault: **720**.\n\n**Example:** <code>\"aspect_ratio_height\": 720</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.\n\nDefault: **1280**.\n\n**Example:** <code>\"aspect_ratio_width\": 1280</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**.\n\n**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.\n\n**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.\n\n**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.\n\n**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.\n\n**Example:** See response body sample",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string",
                "description": "An optional description of the live stream.",
                "example": ""
              },
              "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.\n\n**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.\n\n**Example:** <code>\"password\": 68332313</code>",
                "example": "68332313"
              },
              "player": {
                "$ref": "#/components/schemas/player_request_object"
              },
              "player_id": {
                "type": "string",
                "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n\nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850"
              },
              "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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
                "example": "",
                "enum": [
                  "top-left",
                  "top-right",
                  "bottom-left",
                  "bottom-right"
                ]
              },
              "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.\n\n**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**.\n\n**Example:** <code>\"width\": 640</code>",
                "example": "",
                "format": "int32"
              },
              "remove_logo_image": {
                "type": "boolean",
                "description": "If **true**, removes the logo file from the player. The default is **false**.\n\n**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**.\n\n**Example:** <code>\"remove_video_poster_image\": true</code>",
                "example": true
              },
              "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.\n\nRecordings 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.\n\nDefault: **false**\n\n> **Note**: If **save_asset** is **true**, that field overrides a true **recording** value and the asset is saved in Asset Management.\n\n**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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.7.\n\n**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\n> **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.\n\nAvailable from version 1.8.\n\n**Example:** <code>\"save_asset\": true</code>"
              },
              "security": {
                "type": "object",
                "description": "Configuration of stream security. These settings only apply to Wowza CDN on Fastly stream targets, not Facebook Live, LinkedIn Live, or custom targets.",
                "properties": {
                  "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.\n\n**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**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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. \n\n<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.</blockquote>\n\n**Example:** <code>\"geoblock_ip_addresses\": \"77.12.34.567, 78.23.45.678\"</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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"token_auth_playlist_only\": true</code>",
                    "example": ""
                  }
                }
              },
              "source_url": {
                "type": "string",
                "description": "For the *delivery_method* **pull** or *encoder* **file**.\n\nFor **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.\n\nFor **file**, enter the source file URL, including the protocol (http, https, gs, s3).\n\n\n**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**.\n\n**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.\n\n**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.\n\n**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.\n> **Note**: If **save_asset** is **true**, that field overrides a true **vod_stream** value and the asset is saved in Asset Management.\n\n**Example:** <code>\"vod_stream\": true</code>",
                "example": true
              },
              "watermark": {
                "type": "boolean",
                "description": "Embeds an image into the transcoded stream for copyright protection. Specify **true** to embed a watermark image.\n\n**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.\n\n**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.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"watermark_width\": 100</code>",
                "example": "",
                "format": "int32"
              },
              "countdown": {
                "type": "boolean",
                "description": "Enables or disables a countdown timer. ",
                "example": ""
              },
              "countdown_at": {
                "type": "string",
                "description": "The month, day, year, and time of day that the countdown timer should stop displaying to the viewer. Specify **YYYY-MM-DD  HH:MM:SS**.\n\nFor example, if you set the **countdown_at** for **2024-12-15T17:00:00:000Z** and the **countdown_timezone** as  **America/New_York**, the viewer would see their current time minus the time remaining until the date and time you set. So, if there's 5 hours  to go until 1700 NYC time for the viewer, the viewer sees **5:00:00** on the player indicating there are 5 hours left, then the timer counts down from there. The countdown starts as soon as the streamer configures it.\n\nRequired when **countdown** is **true**.\n\n**Example:** <code>\"countdown_at\": \"2024-02-01T00:00:00.000Z\"",
                "example": "2024-02-01T00:00:00.000Z",
                "format": "date-time"
              },
              "countdown_timezone": {
                "type": "string",
                "example": "America/New_York",
                "description": "The time zone the countdown timer runs in.\n\nRequired when **countdown** is **true**.\n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n | Locations |  Wowza Video time_zone value |\n |---|---|\n | International Date Line West  | Etc/GMT+12                     |\n | Midway Island                 | Pacific/Midway                 |\n | American Samoa                | Pacific/Pago_Pago              |\n | Hawaii                        | Pacific/Honolulu               |\n | Alaska                        | America/Juneau                 |\n | Pacific Time (US & Canada)    | America/Los_Angeles            |\n | Tijuana                       | America/Tijuana                |\n | Mountain Time (US & Canada)   | America/Denver                 |\n | Arizona                       | America/Phoenix                |\n | Chihuahua                     | America/Chihuahua              |\n | Mazatlan                      | America/Mazatlan               |\n | Central Time (US & Canada)    | America/Chicago                |\n | Saskatchewan                  | America/Regina                 |\n | Guadalajara                   | America/Mexico_City            |\n | Mexico City                   | America/Mexico_City            |\n | Monterrey                     | America/Monterrey              |\n | Central America               | America/Guatemala              |\n | Eastern Time (US & Canada)    | America/New_York               |\n | Indiana (East)                | America/Indiana/Indianapolis   |\n | Bogota                        | America/Bogota                 |\n | Lima                          | America/Lima                   |\n | Quito                         | America/Lima                   |\n | Atlantic Time (Canada)        | America/Halifax                |\n | Caracas                       | America/Caracas                |\n | La Paz                        | America/La_Paz                 |\n | Santiago                      | America/Santiago               |\n | Newfoundland                  | America/St_Johns               |\n | Brasilia                      | America/Sao_Paulo              |\n | Buenos Aires                  | America/Argentina/Buenos_Aires |\n | Montevideo                    | America/Montevideo             |\n | Georgetown                    | America/Guyana                 |\n | Puerto Rico                   | America/Puerto_Rico            |\n | Greenland                     | America/Godthab                |\n | Mid-Atlantic                  | Atlantic/South_Georgia         |\n | Azores                        | Atlantic/Azores                |\n | Cape Verde Is.                | Atlantic/Cape_Verde            |\n | Dublin                        | Europe/Dublin                  |\n | Edinburgh                     | Europe/London                  |\n | Lisbon                        | Europe/Lisbon                  |\n | London                        | Europe/London                  |\n | Casablanca                    | Africa/Casablanca              |\n | Monrovia                      | Africa/Monrovia                |\n | UTC                           | Etc/UTC                        |\n | Belgrade                      | Europe/Belgrade                |\n | Bratislava                    | Europe/Bratislava              |\n | Budapest                      | Europe/Budapest                |\n | Ljubljana                     | Europe/Ljubljana               |\n | Prague                        | Europe/Prague                  |\n | Sarajevo                      | Europe/Sarajevo                |\n | Skopje                        | Europe/Skopje                  |\n | Warsaw                        | Europe/Warsaw                  |\n | Zagreb                        | Europe/Zagreb                  |\n | Brussels                      | Europe/Brussels                |\n | Copenhagen                    | Europe/Copenhagen              |\n | Madrid                        | Europe/Madrid                  |\n | Paris                         | Europe/Paris                   |\n | Amsterdam                     | Europe/Amsterdam               |\n | Berlin                        | Europe/Berlin                  |\n | Bern                          | Europe/Zurich                  |\n | Zurich                        | Europe/Zurich                  |\n | Rome                          | Europe/Rome                    |\n | Stockholm                     | Europe/Stockholm               |\n | Vienna                        | Europe/Vienna                  |\n | West Central Africa           | Africa/Algiers                 |\n | Bucharest                     | Europe/Bucharest               |\n | Cairo                         | Africa/Cairo                   |\n | Helsinki                      | Europe/Helsinki                |\n | Kyiv                          | Europe/Kiev                    |\n | Riga                          | Europe/Riga                    |\n | Sofia                         | Europe/Sofia                   |\n | Tallinn                       | Europe/Tallinn                 |\n | Vilnius                       | Europe/Vilnius                 |\n | Athens                        | Europe/Athens                  |\n | Istanbul                      | Europe/Istanbul                |\n | Minsk                         | Europe/Minsk                   |\n | Jerusalem                     | Asia/Jerusalem                 |\n | Harare                        | Africa/Harare                  |\n | Pretoria                      | Africa/Johannesburg            |\n | Kaliningrad                   | Europe/Kaliningrad             |\n | Moscow                        | Europe/Moscow                  |\n | St. Petersburg                | Europe/Moscow                  |\n | Volgograd                     | Europe/Volgograd               |\n | Samara                        | Europe/Samara                  |\n | Kuwait                        | Asia/Kuwait                    |\n | Riyadh                        | Asia/Riyadh                    |\n | Nairobi                       | Africa/Nairobi                 |\n | Baghdad                       | Asia/Baghdad                   |\n | Tehran                        | Asia/Tehran                    |\n | Abu Dhabi                     | Asia/Muscat                    |\n | Muscat                        | Asia/Muscat                    |\n | Baku                          | Asia/Baku                      |\n | Tbilisi                       | Asia/Tbilisi                   |\n | Yerevan                       | Asia/Yerevan                   |\n | Kabul                         | Asia/Kabul                     |\n | Ekaterinburg                  | Asia/Yekaterinburg             |\n | Islamabad                     | Asia/Karachi                   |\n | Karachi                       | Asia/Karachi                   |\n | Tashkent                      | Asia/Tashkent                  |\n | Chennai                       | Asia/Kolkata                   |\n | Kolkata                       | Asia/Kolkata                   |\n | Mumbai                        | Asia/Kolkata                   |\n | New Delhi                     | Asia/Kolkata                   |\n | Kathmandu                     | Asia/Kathmandu                 |\n | Astana                        | Asia/Dhaka                     |\n | Dhaka                         | Asia/Dhaka                     |\n | Sri Jayawardenepura           | Asia/Colombo                   |\n | Almaty                        | Asia/Almaty                    |\n | Novosibirsk                   | Asia/Novosibirsk               |\n | Rangoon                       | Asia/Rangoon                   |\n | Bangkok                       | Asia/Bangkok                   |\n | Hanoi                         | Asia/Bangkok                   |\n | Jakarta                       | Asia/Jakarta                   |\n | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n | Beijing                       | Asia/Shanghai                  |\n | Chongqing                     | Asia/Chongqing                 |\n | Hong Kong                     | Asia/Hong_Kong                 |\n | Urumqi                        | Asia/Urumqi                    |\n | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n | Singapore                     | Asia/Singapore                 |\n | Taipei                        | Asia/Taipei                    |\n | Perth                         | Australia/Perth                |\n | Irkutsk                       | Asia/Irkutsk                   |\n | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n | Seoul                         | Asia/Seoul                     |\n | Osaka                         | Asia/Tokyo                     |\n | Sapporo                       | Asia/Tokyo                     |\n | Tokyo                         | Asia/Tokyo                     |\n | Yakutsk                       | Asia/Yakutsk                   |\n | Darwin                        | Australia/Darwin               |\n | Adelaide                      | Australia/Adelaide             |\n | Canberra                      | Australia/Melbourne            |\n | Melbourne                     | Australia/Melbourne            |\n | Sydney                        | Australia/Sydney               |\n | Brisbane                      | Australia/Brisbane             |\n | Hobart                        | Australia/Hobart               |\n | Vladivostok                   | Asia/Vladivostok               |\n | Guam                          | Pacific/Guam                   |\n | Port Moresby                  | Pacific/Port_Moresby           |\n | Magadan                       | Asia/Magadan                   |\n | Srednekolymsk                 | Asia/Srednekolymsk             |\n | Solomon Is.                   | Pacific/Guadalcanal            |\n | New Caledonia                 | Pacific/Noumea                 |\n | Fiji                          | Pacific/Fiji                   |\n | Kamchatka                     | Asia/Kamchatka                 |\n | Marshall Is.                  | Pacific/Majuro                 |\n | Auckland                      | Pacific/Auckland               |\n | Wellington                    | Pacific/Auckland               |\n | Nuku'alofa                    | Pacific/Tongatapu              |\n | Tokelau Is.                   | Pacific/Fakaofo                |\n | Chatham Is.                   | Pacific/Chatham                |\n | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n\n **Default:** `Etc/UTC`\n\n\n**Example:** `America/New_York`"
              }
            }
          }
        },
        "example": {
          "live_stream": {
            "name": "My Updated Live Stream",
            "description": "This is my first live stream.",
            "recording": true
          }
        }
      },
      "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.\n\n\n **Wowza Video subscribers**</br>\nWowza 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.\n\nThe 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.\n\n**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": {
          "customizations": {
            "type": "object",
            "description": "Configuration of the player customizations.",
            "properties": {
              "play_icon": {
                "type": "string",
                "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\nDefault: **solid**",
                "example": "solid",
                "enum": [
                  "solid",
                  "outlined",
                  "ring"
                ]
              },
              "thin_timeline": {
                "type": "boolean",
                "description": "If **true**, displays a control bar on the video. The default is **false**.",
                "example": ""
              },
              "drag_handle": {
                "type": "boolean",
                "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.",
                "example": ""
              },
              "volume": {
                "type": "boolean",
                "description": "If **true**, displays a volume button on the video. The default is **true**.",
                "example": ""
              },
              "mute": {
                "type": "boolean",
                "description": "If **true**, displays a mute button on the video. The default is **true**.",
                "example": ""
              },
              "fullscreen": {
                "type": "boolean",
                "description": "If **true**, displays a fullscreen button on the video. The default is **true**.",
                "example": ""
              },
              "show_player_title": {
                "type": "boolean",
                "description": "If **true**, displays a preview title on the video. The default is **false**.",
                "example": ""
              },
              "color": {
                "type": "string",
                "description": "The color of the timeline and volume bar of the player.",
                "example": ""
              }
            }
          },
          "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": ""
          },
          "plugins": {
            "type": "object",
            "description": "Configuration of the plugins.",
            "properties": {
              "airplay": {
                "type": "boolean",
                "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.",
                "example": ""
              },
              "chromecast": {
                "type": "boolean",
                "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.",
                "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.\n\n**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.\n\nThe 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.\n\n**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": {
          "customizations": {
            "play_icon": "solid",
            "thin_timeline": false,
            "drag_handle": false,
            "volume": true,
            "mute": true,
            "fullscreen": true,
            "show_player_title": false,
            "color": "4d4d4d"
          },
          "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://embed.flowplayer.com/hosted/default/e8dk5bf6"
          },
          "id": "e8dk5bf6",
          "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
          "logo_position": "top-right",
          "plugins": {
            "airplay": false,
            "chromecast": false
          },
          "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": {
              "customizations": {
                "type": "object",
                "description": "Configuration of the player customizations.",
                "properties": {
                  "play_icon": {
                    "type": "string",
                    "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                    "example": "solid",
                    "enum": [
                      "solid",
                      "outlined",
                      "ring"
                    ]
                  },
                  "thin_timeline": {
                    "type": "boolean",
                    "description": "If **true**, displays a control bar on the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                    "example": ""
                  },
                  "drag_handle": {
                    "type": "boolean",
                    "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                    "example": ""
                  },
                  "volume": {
                    "type": "boolean",
                    "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                    "example": ""
                  },
                  "mute": {
                    "type": "boolean",
                    "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                    "example": ""
                  },
                  "fullscreen": {
                    "type": "boolean",
                    "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                    "example": ""
                  },
                  "show_player_title": {
                    "type": "boolean",
                    "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                    "example": ""
                  },
                  "color": {
                    "type": "string",
                    "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n**Example:** <code>\"color\": \"4d4d4d\"</code>",
                    "example": ""
                  }
                }
              },
              "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**.\n\n**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.\n\n**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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-left\"</code>",
                "example": "top-left"
              },
              "plugins": {
                "type": "object",
                "description": "Configuration of the plugins.",
                "properties": {
                  "airplay": {
                    "type": "boolean",
                    "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                    "example": ""
                  },
                  "chromecast": {
                    "type": "boolean",
                    "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                    "example": ""
                  }
                }
              },
              "remove_logo_image": {
                "type": "boolean",
                "description": "If **true**, removes the logo file from the output. The default is **false**.\n\n**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**.\n\n**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**.\n\n**Example:** <code>\"responsive\": true</code>",
                "example": false
              },
              "type": {
                "type": "string",
                "description": "The player you want to use.\n\n**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.\n\nThe 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.\n\n> **Note**: If you update a live stream from **original_html5** or **wowza_player** to **wowza_flowplayer**, it cannot be changed later.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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"
          },
          "published": {
            "type": "boolean",
            "description": "Specifies whether an asset is published, which enables playback."
          },
          "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"
            ]
          },
          "reason": {
            "type": "string",
            "description": "The reason that an asset has the state **failed**. Only returned when state is **failed** after processing is attempted.",
            "example": ""
          },
          "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.\n\n<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",
              "published": 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",
              "published": 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",
              "published": 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.\n\n<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.\n\n<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"
          },
          "published": {
            "type": "boolean",
            "description": "Specifies whether an asset is published, which enables playback."
          },
          "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.\n\nOnly 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"
            ]
          },
          "reason": {
            "type": "string",
            "description": "The reason that an asset has the state **failed**. Only returned when state is **failed** after processing is attempted.",
            "example": ""
          },
          "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 unique_viewers parameter is deprecated. To get unique viewers for an asset, use the GET /analytics/viewers/vod_stream/{id} endpoint.",
            "example": 5986
          },
          "total_viewing_time": {
            "type": "integer",
            "description": "The total_viewing_time parameter is deprecated.",
            "example": 4492549
          },
          "average_view_time": {
            "type": "integer",
            "description": "The average_view_time parameter is deprecated.",
            "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.\n\n<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
          },
          "player_embed_code": {
            "type": "string",
            "description": "The HTML code that can be used in external webpage to host the Wowza Flowplayer.",
            "example": "<div id='wowza_player'></div>\\n<script id='player_embed' src='//player.video.wowza.com/qa/xhb9jdmc/wowza.js' type='text/javascript'></script>\\n"
          },
          "hosted_page": {
            "type": "object",
            "description": "Configuration of the hosted page.",
            "properties": {
              "title": {
                "type": "string",
                "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</code>",
                "example": "My Hosted Page"
              },
              "url": {
                "type": "string",
                "description": "The URL of the Wowza Video-hosted webpage that viewers can visit to watch the stream.",
                "example": "https://embed.flowplayer.com/hosted/default/e8dk5bf6"
              },
              "description": {
                "type": "string",
                "description": "A description that appears on the hosted page below the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"description\": \"My Hosted Page Description\"</code>",
                "example": "This is my hosted page."
              },
              "logo_image_url": {
                "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.\n\n**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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                "example": false
              }
            }
          }
        }
      },
      "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.\n\n**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.\n\n**Example:** <code>\"name\": \"My Updated Live Stream Asset\"</code>",
                "example": "My Live Stream"
              },
              "published": {
                "type": "boolean",
                "description": "Specifies whether an asset is published, which enables playback.\n\n**Example:** <code>\"published\": true</code>"
              },
              "tags": {
                "type": "array",
                "description": "A list of tags associated with the asset.\n\n**Example:** <code>\"tags\": [\"Tag1\", \"Tag2\", \"Tag3\"]</code>",
                "example": [
                  "Tag1",
                  "Tag2",
                  "Tag3"
                ]
              },
              "hosted_page": {
                "type": "object",
                "description": "Configuration of the hosted page.",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</code>",
                    "example": "My Hosted Page"
                  },
                  "description": {
                    "type": "string",
                    "description": "A description that appears on the hosted page below the player. Can't include custom HTML, JavaScript, or other tags.\n\n**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.\n\n**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 hosted page. The default is **false**.\n\n**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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                    "example": false
                  }
                }
              }
            }
          }
        }
      },
      "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"
          },
          "published": {
            "type": "boolean",
            "description": "Specifies whether an asset is published, which enables playback."
          },
          "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.\n\n<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
          },
          "player_embed_code": {
            "type": "string",
            "description": "The HTML code that can be used in external webpage to host the Wowza Flowplayer.",
            "example": "<div id='wowza_player'></div>\\n<script id='player_embed' src='//player.video.wowza.com/qa/xhb9jdmc/wowza.js' type='text/javascript'></script>\\n"
          },
          "hosted_page": {
            "type": "object",
            "description": "Configuration of the hosted page.",
            "properties": {
              "title": {
                "type": "string",
                "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</code>",
                "example": "My Hosted Page"
              },
              "description": {
                "type": "string",
                "description": "A description that appears on the hosted page below the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"description\": \"My Hosted Page Description\"</code>",
                "example": "This is my hosted page."
              },
              "logo_image_url": {
                "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.\n\n**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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                "example": false
              },
              "url": {
                "type": "string",
                "description": "The URL of the Wowza Video-hosted webpage that viewers can visit to watch the stream.",
                "example": "https://embed.flowplayer.com/hosted/default/e8dk5bf6"
              }
            }
          }
        }
      },
      "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.\n\n<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.\n\n<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.\n\n<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.\n\n<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"
          },
          "time_zone": {
            "type": "string",
            "description": "The time zone the schedule runs in."
          },
          "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": {
          "id": "28bwb5WT",
          "state": "disabled",
          "name": "Scheduled recurring start for my camera",
          "time_zone": "America/New_York",
          "transcoder_id": "VGB21JFJ",
          "transcoder_name": "My Camera",
          "recurrence_type": "recur",
          "recurrence_data": "monday,tuesday,wednesday,thursday,friday",
          "action_type": "start_stop",
          "start_transcoder": "2020-02-01T00:00:00.000Z",
          "stop_transcoder": "2020-02-29T23:59:59.999Z",
          "start_repeat": "2020-02-01T00:00:00.000Z",
          "end_repeat": "2020-02-29T00:00:00.000Z",
          "created_at": "2020-01-29T17:16:21.995Z",
          "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": [
            {
              "id": "28bwb5WT",
              "state": "disabled",
              "name": "Scheduled recurring start for my camera",
              "transcoder_id": "VGB21JFJ",
              "transcoder_name": "My Camera",
              "recurrence_type": "recur",
              "recurrence_data": "monday,tuesday,wednesday,thursday,friday",
              "action_type": "start_stop",
              "start_transcoder": "2020-02-01T00:00:00.000Z",
              "stop_transcoder": "2020-02-29T23:59:59.999Z",
              "start_repeat": "2020-02-01T00:00:00.000Z",
              "end_repeat": "2020-02-29T00:00:00.000Z",
              "created_at": "2020-01-29T17:16:21.995Z",
              "updated_at": "2020-01-31T14:58:43.995Z"
            },
            {
              "id": "4RCWgfS5",
              "state": "enabled",
              "name": "Scheduled stop for my live event",
              "transcoder_id": "Qjl5J38Z",
              "transcoder_name": "Awesome Live Event",
              "recurrence_type": "once",
              "action_type": "stop",
              "start_transcoder": "2020-02-01T00:00:00.000Z",
              "stop_transcoder": "2020-02-29T23:59:59.999Z",
              "created_at": "2020-01-29T17:16:21.995Z",
              "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"
                ]
              },
              "time_zone": {
                "type": "string",
                "example": "America/New_York",
                "description": "The time zone the schedule runs in.\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`"
              },
              "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**.\n\n**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.\n\n**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**.\n\n**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.\n\nRequired when **action_type** is **start** or **start_stop**.\n\n**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.\n\nRequired when **action_type** is **stop** or **start_stop**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**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.\n\n**Example:** <code>\"start_transcoder\": \"2020-02-29T23:59:59.999Z\"</code>",
                "example": "2020-02-29T23:59:59.999Z",
                "format": "date-time"
              },
              "time_zone": {
                "type": "string",
                "description": "The time zone the schedule runs in.\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n  | Locations |  Wowza Video time_zone value |\n  |---|---|\n  | International Date Line West  | Etc/GMT+12                     |\n  | Midway Island                 | Pacific/Midway                 |\n  | American Samoa                | Pacific/Pago_Pago              |\n  | Hawaii                        | Pacific/Honolulu               |\n  | Alaska                        | America/Juneau                 |\n  | Pacific Time (US & Canada)    | America/Los_Angeles            |\n  | Tijuana                       | America/Tijuana                |\n  | Mountain Time (US & Canada)   | America/Denver                 |\n  | Arizona                       | America/Phoenix                |\n  | Chihuahua                     | America/Chihuahua              |\n  | Mazatlan                      | America/Mazatlan               |\n  | Central Time (US & Canada)    | America/Chicago                |\n  | Saskatchewan                  | America/Regina                 |\n  | Guadalajara                   | America/Mexico_City            |\n  | Mexico City                   | America/Mexico_City            |\n  | Monterrey                     | America/Monterrey              |\n  | Central America               | America/Guatemala              |\n  | Eastern Time (US & Canada)    | America/New_York               |\n  | Indiana (East)                | America/Indiana/Indianapolis   |\n  | Bogota                        | America/Bogota                 |\n  | Lima                          | America/Lima                   |\n  | Quito                         | America/Lima                   |\n  | Atlantic Time (Canada)        | America/Halifax                |\n  | Caracas                       | America/Caracas                |\n  | La Paz                        | America/La_Paz                 |\n  | Santiago                      | America/Santiago               |\n  | Newfoundland                  | America/St_Johns               |\n  | Brasilia                      | America/Sao_Paulo              |\n  | Buenos Aires                  | America/Argentina/Buenos_Aires |\n  | Montevideo                    | America/Montevideo             |\n  | Georgetown                    | America/Guyana                 |\n  | Puerto Rico                   | America/Puerto_Rico            |\n  | Greenland                     | America/Godthab                |\n  | Mid-Atlantic                  | Atlantic/South_Georgia         |\n  | Azores                        | Atlantic/Azores                |\n  | Cape Verde Is.                | Atlantic/Cape_Verde            |\n  | Dublin                        | Europe/Dublin                  |\n  | Edinburgh                     | Europe/London                  |\n  | Lisbon                        | Europe/Lisbon                  |\n  | London                        | Europe/London                  |\n  | Casablanca                    | Africa/Casablanca              |\n  | Monrovia                      | Africa/Monrovia                |\n  | UTC                           | Etc/UTC                        |\n  | Belgrade                      | Europe/Belgrade                |\n  | Bratislava                    | Europe/Bratislava              |\n  | Budapest                      | Europe/Budapest                |\n  | Ljubljana                     | Europe/Ljubljana               |\n  | Prague                        | Europe/Prague                  |\n  | Sarajevo                      | Europe/Sarajevo                |\n  | Skopje                        | Europe/Skopje                  |\n  | Warsaw                        | Europe/Warsaw                  |\n  | Zagreb                        | Europe/Zagreb                  |\n  | Brussels                      | Europe/Brussels                |\n  | Copenhagen                    | Europe/Copenhagen              |\n  | Madrid                        | Europe/Madrid                  |\n  | Paris                         | Europe/Paris                   |\n  | Amsterdam                     | Europe/Amsterdam               |\n  | Berlin                        | Europe/Berlin                  |\n  | Bern                          | Europe/Zurich                  |\n  | Zurich                        | Europe/Zurich                  |\n  | Rome                          | Europe/Rome                    |\n  | Stockholm                     | Europe/Stockholm               |\n  | Vienna                        | Europe/Vienna                  |\n  | West Central Africa           | Africa/Algiers                 |\n  | Bucharest                     | Europe/Bucharest               |\n  | Cairo                         | Africa/Cairo                   |\n  | Helsinki                      | Europe/Helsinki                |\n  | Kyiv                          | Europe/Kiev                    |\n  | Riga                          | Europe/Riga                    |\n  | Sofia                         | Europe/Sofia                   |\n  | Tallinn                       | Europe/Tallinn                 |\n  | Vilnius                       | Europe/Vilnius                 |\n  | Athens                        | Europe/Athens                  |\n  | Istanbul                      | Europe/Istanbul                |\n  | Minsk                         | Europe/Minsk                   |\n  | Jerusalem                     | Asia/Jerusalem                 |\n  | Harare                        | Africa/Harare                  |\n  | Pretoria                      | Africa/Johannesburg            |\n  | Kaliningrad                   | Europe/Kaliningrad             |\n  | Moscow                        | Europe/Moscow                  |\n  | St. Petersburg                | Europe/Moscow                  |\n  | Volgograd                     | Europe/Volgograd               |\n  | Samara                        | Europe/Samara                  |\n  | Kuwait                        | Asia/Kuwait                    |\n  | Riyadh                        | Asia/Riyadh                    |\n  | Nairobi                       | Africa/Nairobi                 |\n  | Baghdad                       | Asia/Baghdad                   |\n  | Tehran                        | Asia/Tehran                    |\n  | Abu Dhabi                     | Asia/Muscat                    |\n  | Muscat                        | Asia/Muscat                    |\n  | Baku                          | Asia/Baku                      |\n  | Tbilisi                       | Asia/Tbilisi                   |\n  | Yerevan                       | Asia/Yerevan                   |\n  | Kabul                         | Asia/Kabul                     |\n  | Ekaterinburg                  | Asia/Yekaterinburg             |\n  | Islamabad                     | Asia/Karachi                   |\n  | Karachi                       | Asia/Karachi                   |\n  | Tashkent                      | Asia/Tashkent                  |\n  | Chennai                       | Asia/Kolkata                   |\n  | Kolkata                       | Asia/Kolkata                   |\n  | Mumbai                        | Asia/Kolkata                   |\n  | New Delhi                     | Asia/Kolkata                   |\n  | Kathmandu                     | Asia/Kathmandu                 |\n  | Astana                        | Asia/Dhaka                     |\n  | Dhaka                         | Asia/Dhaka                     |\n  | Sri Jayawardenepura           | Asia/Colombo                   |\n  | Almaty                        | Asia/Almaty                    |\n  | Novosibirsk                   | Asia/Novosibirsk               |\n  | Rangoon                       | Asia/Rangoon                   |\n  | Bangkok                       | Asia/Bangkok                   |\n  | Hanoi                         | Asia/Bangkok                   |\n  | Jakarta                       | Asia/Jakarta                   |\n  | Krasnoyarsk                   | Asia/Krasnoyarsk               |\n  | Beijing                       | Asia/Shanghai                  |\n  | Chongqing                     | Asia/Chongqing                 |\n  | Hong Kong                     | Asia/Hong_Kong                 |\n  | Urumqi                        | Asia/Urumqi                    |\n  | Kuala Lumpur                  | Asia/Kuala_Lumpur              |\n  | Singapore                     | Asia/Singapore                 |\n  | Taipei                        | Asia/Taipei                    |\n  | Perth                         | Australia/Perth                |\n  | Irkutsk                       | Asia/Irkutsk                   |\n  | Ulaanbaatar                   | Asia/Ulaanbaatar               |\n  | Seoul                         | Asia/Seoul                     |\n  | Osaka                         | Asia/Tokyo                     |\n  | Sapporo                       | Asia/Tokyo                     |\n  | Tokyo                         | Asia/Tokyo                     |\n  | Yakutsk                       | Asia/Yakutsk                   |\n  | Darwin                        | Australia/Darwin               |\n  | Adelaide                      | Australia/Adelaide             |\n  | Canberra                      | Australia/Melbourne            |\n  | Melbourne                     | Australia/Melbourne            |\n  | Sydney                        | Australia/Sydney               |\n  | Brisbane                      | Australia/Brisbane             |\n  | Hobart                        | Australia/Hobart               |\n  | Vladivostok                   | Asia/Vladivostok               |\n  | Guam                          | Pacific/Guam                   |\n  | Port Moresby                  | Pacific/Port_Moresby           |\n  | Magadan                       | Asia/Magadan                   |\n  | Srednekolymsk                 | Asia/Srednekolymsk             |\n  | Solomon Is.                   | Pacific/Guadalcanal            |\n  | New Caledonia                 | Pacific/Noumea                 |\n  | Fiji                          | Pacific/Fiji                   |\n  | Kamchatka                     | Asia/Kamchatka                 |\n  | Marshall Is.                  | Pacific/Majuro                 |\n  | Auckland                      | Pacific/Auckland               |\n  | Wellington                    | Pacific/Auckland               |\n  | Nuku'alofa                    | Pacific/Tongatapu              |\n  | Tokelau Is.                   | Pacific/Fakaofo                |\n  | Chatham Is.                   | Pacific/Chatham                |\n  | Samoa                         | Pacific/Apia                   |\n\n</details>\n\n**Default:** `Etc/UTC`\n\n**Example:** `America/New_York`",
                "example": "America/New_York"
              }
            }
          }
        }
      },
      "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": "A **wowza** stream source enables automatic transcoder start, stop, and broadcast location detection.",
            "example": "",
            "enum": [
              "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_create": {
        "type": "object",
        "description": "",
        "title": "stream_source_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": ""
          },
          "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": ""
          },
          "transcoders": {
            "type": "array",
            "description": "The transcoders associated with the Wowza stream source.",
            "items": {
              "type": "object",
              "title": "transcoders",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the transcoder.",
                  "example": ""
                },
                "name": {
                  "type": "string",
                  "description": "A descriptive name for the transcoder. Maximum 255 characters.",
                  "example": "dcxq5q6c"
                },
                "type": {
                  "type": "string",
                  "description": "The type of transcoder associated with the Wowza stream source be it a transcoder associated with a live stream or a standalone transcoder.",
                  "example": "",
                  "enum": [
                    "transcoder",
                    "livestream"
                  ]
                }
              }
            }
          },
          "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",
          "transcoders": [
            {
              "id": "dkcr5y9l",
              "name": "my transcoder",
              "type": "LiveStream"
            }
          ],
          "updated_at": "2020-01-31T14:56:21.001Z"
        }
      },
      "stream_source_wowza": {
        "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": ""
          },
          "transcoders": {
            "type": "array",
            "description": "The transcoders associated with the Wowza stream source.",
            "items": {
              "type": "object",
              "title": "transcoders",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the transcoder.",
                  "example": ""
                },
                "name": {
                  "type": "string",
                  "description": "A descriptive name for the transcoder. Maximum 255 characters.",
                  "example": "dcxq5q6c"
                },
                "type": {
                  "type": "string",
                  "description": "The type of transcoder associated with the Wowza stream source be it a transcoder associated with a live stream or a standalone transcoder.",
                  "example": "",
                  "enum": [
                    "transcoder",
                    "livestream"
                  ]
                }
              }
            }
          },
          "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",
          "transcoders": [
            {
              "id": "dkcr5y9l",
              "name": "my transcoder",
              "type": "LiveStream"
            }
          ],
          "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 **wowza_cdn** is a Wowza CDN target. ",
            "example": "",
            "enum": [
              "custom",
              "wowza_cdn"
            ]
          },
          "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_target_facebook": {
        "type": "object",
        "description": "",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the stream target.",
            "example": ""
          },
          "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.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "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": ""
          },
          "facebook_privacy": {
            "type": "string",
            "description": "The Facebook setting that determines who can watch your stream.",
            "example": "",
            "enum": [
              "self",
              "all_friends",
              "friends_of_friends",
              "everyone"
            ]
          },
          "facebook_resource_id": {
            "type": "integer",
            "description": "A unique identifier assigned to each individual item (like a post, page, ad, or user) within the Facebook platform."
          },
          "facebook_resource_type": {
            "type": "string",
            "description": "The video's destination within Facebook where users can view the stream.",
            "example": ""
          },
          "facebook_save_vod": {
            "type": "boolean",
            "description": "Whether or not the video data should be saved for later consumption in VOD format. This is set to **true** by default. This can only be set at the time of creation.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          },
          "facebook_token": {
            "type": "string",
            "description": "A unique alphanumeric string that identifies a user, app, or page and allows an application to access an API.",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "The type of stream target returned.",
            "example": "",
            "enum": [
              "FacebookStreamTarget"
            ]
          }
        },
        "example": {
          "created_at": "2020-01-28T17:16:22.011Z",
          "id": "RMS45lfvx",
          "type": "FAcebookStreamTarget",
          "name": "My Facebook Stream Target",
          "title": "My Facebook Stream Target",
          "description": "This is my Facebook stream.",
          "delivery_protocols": [
            "rtmp"
          ],
          "facebook_resource_id": 277111822674604,
          "facebook_resource_type": "timeline",
          "facebook_save_vod": true,
          "facebook_token": "EAAX01HBCtQ0BO0LTScgBW4OLwqqI9DZAVLwu6lUDbKhfQH5leQnJu3FvNn9d5p32YZAgKZByLUxKiSZCcZBsUm72TPwnW3NiZCgZAKbn8jkvqUE2TRnVZBcSjeSt3eCctlYS8VPfGRm2Sew9h4C4MNvNtS8FuEckrZCE1putjYaPOWzVphAZCDAZBKlw62u",
          "facebook_privacy": "self",
          "updated_at": "2020-01-30T19:14:11.011Z"
        }
      },
      "stream_target_linkedin": {
        "type": "object",
        "description": "",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the stream target.",
            "example": ""
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "member_type": {
            "type": "string",
            "description": "Indicates wethher you're streaming into LinkedIn as a person or organization.",
            "example": "",
            "enum": [
              "person",
              "organization"
            ]
          },
          "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": ""
          },
          "description": {
            "type": "string",
            "description": "An optional description of the stream target.",
            "example": ""
          },
          "region": {
            "type": "string",
            "description": "The region that is closest to the broadcast location of your transcoder.",
            "example": "",
            "enum": [
              "WEST_US",
              "EAST_US_NORTH",
              "EAST_US_SOUTH",
              "CENTRAL_US",
              "SOUTH_CENTRAL_US",
              "SOUTH_AMERICA",
              "SOUTHEAST_ASIA",
              "CENTRAL_INDIA",
              "NORTH_EUROPE",
              "WEST_EUROPE"
            ]
          },
          "urn": {
            "type": "string",
            "description": "A globally unique alphanumeric identifier used to represent an entity's association in an API."
          },
          "member_description": {
            "type": "string",
            "description": "A description of the person or organization.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          },
          "access_token": {
            "type": "string",
            "description": "A unique alphanumeric string that allows access to LinkedIn from Wowza Video. When the token expires, you must log in again.",
            "example": ""
          }
        },
        "example": {
          "id": "RMS45lfvx",
          "title": "LinkedIn Live",
          "description": "This is my LinkedIn Live stream.",
          "region": "WEST_EUROPE",
          "name": "My LinkedIn Stream Target",
          "urn": "Xd4aGv6ZXR",
          "member_type": "person",
          "member_description": "Drew Bennet",
          "access_token": "AQW4H_TnVj9jgYr7U2WjTTq60R31xsjmSXvdJ_2QHF2h07rqfoa7Jm8fdlV8BHmpOE8cgBGH7e4F8eUcuQrsg_Jam11U4NOdlA7M5C5T6cAwlRJDZ-gGn-eRb97cfqEolZLymX8Mb3RV_DaPCm2NYXsOZUhRbz52cWFnNfdzcFWmo5KqJY8gXD4TwBbNSTu5KW3nRO9X7gQuDSTOvP-IaJFKzSqTxsCDZDrKmi4D9mwPGW1vo9ED4-6CCB9XFGq8Bvn4XOn03AjVY1SM61xP5G5K0aIxM4OnBWgHP3SSEiDpglmrm96mepYc8tuekIsERkaydSfGxTXgOyfKy7kP1HrpXzarBw",
          "access_token_expires_at": "2024-12-15",
          "created_at": "2023-01-28T17:16:22.011Z",
          "updated_at": "2024-01-30T19:14:11.011Z"
        }
      },
      "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*.\n\n**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.\n\n**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.\n\n**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*.\n**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*.\n\n**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.\n\n**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.\n\n**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*.\n\n**Note:** If you want to clear both username and password for RTMP authentication, send an empty string for both username and password fields.\n\n**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.\n\n\n**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.\n\n**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.\n\n**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.\n\n**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*.\n\n**Note:** If you want to clear both username and password for RTMP authentication, send an empty string for both username and password fields.\n\n**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_wowza_cdn",
        "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_wowza_cdn"
        ],
        "properties": {
          "stream_targets_wowza_cdn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_fastly_stream_target"
            }
          }
        },
        "example": {
          "stream_targets_wowza_cdn": [
            {
              "created_at": "2020-01-28T17:16:22.010Z",
              "id": "abc45lfyz",
              "name": "My Wowza CDN 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 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.\n\nThe following table lists the available property keys.\n\nKey | Description\n----------------|-------------\n**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.\n**chunkSize** | Defines the duration of the time-based audio and video chunks that Wowza Video delivers to the target.\n**convertAMFData** | Determines whether Wowza Video converts incoming AMF data into ID3 tags.\n**playlistSeconds** | Defines the maximum allowable length of the playlist.\n**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\nproperty.\n\n\nSection | Valid keys for the section\n----------------|-------------\n**hls** | **acao**, **chunkSize**, and **convertAMFData**\n**playlist** | **playlistSeconds** and **relativePlaylists**",
            "example": "",
            "enum": [
              "hls",
              "playlist"
            ]
          },
          "value": {
            "type": "string",
            "description": "\nThe value of the property.\n\nThe following table provides information about valid values for each property key.\n\nKey(s) | Values for the key\n----------------|-------------\n**acao** | Displays as **http://&lt;_origin_&gt;**\n**chunkSize** | Valid values are the integers **2**, **4**, **6**, **8**, and **10**.\n**convertAMFData** <br/> **relativePlaylists** | Valid values are the Booleans **true** and **false**.\n**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_wowza_cdn"
        ],
        "properties": {
          "stream_target_wowza_cdn": {
            "type": "object",
            "title": "stream_target_wowza_cdn",
            "description": "",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.",
                "example": "My Stream Target"
              },
              "custom_origin_region": {
                "type": "string",
                "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.\n\nValid values:\n   * **us** - United States\n   * **eu** - Europe\n   * **asia** - Asia\n   * **sa** - South America\n   * **india** - India\n\n\n**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.\n\n**Note:** You can find the **Host - Server** address on the home page of Wowza Streaming Engine under **Application Connection Settings**."
              },
              "url_suffix": {
                "type": "string",
                "description": "The path to append to the end of the playback url to make it a valid URL, to have playback through the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin. \n\nYou must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream.   \n\nExample: \"custom_origin/cW8JTDFr\""
              },
              "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.\n\n**Note:** If you enable more than one protocol, you'll incur egress charges for each protocol you select.\n\nSee <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.\n\n**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.\n\n**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**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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. \n\n<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>\n\n**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.\n\n**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**.\n\n**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.\n\nAvailable from version 1.7.\n\nFor more information about the Referer header, see the [HTTP specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).\n\n**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.\n\nAvailable from version 1.7.\n\n**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*.\n\nAvailable from version 1.7.\n\n**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**.\n\nWe 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_).\n\n**Example:** _example.com, *.example.com, *.mysubdomain.example.com_\n\nIf 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>\n\nAvailable from version 1.7.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**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_wowza_cdn": {
            "name": "My Wowza CDN Stream Target"
          }
        }
      },
      "stream_target_fastly": {
        "type": "object",
        "title": "stream_target_wowza_cdn",
        "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"
          },
          "url_suffix": {
            "type": "string",
            "description": "The path appended to the end of the playback url to make it a valid URL, to have playback through the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin.\n\nYou must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream.   \n\nExample: \"custom_origin/cW8JTDFr\"",
            "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**.\n\n**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.\nAvailable 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.\n\nAvailable 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*.\n\nAvailable 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**.\n\nWe 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_).\n\n**Example:** _example.com, *.example.com, *.mysubdomain.example.com_\n\nIf 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>\n\nAvailable 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**.\n\n**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 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_wowza_cdn"
        ],
        "properties": {
          "stream_target_wowza_cdn": {
            "type": "object",
            "title": "stream_target_wowza_cdn",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.\n\n**Example:** <code>\"name\": \"My Updated Stream Target\"</code>",
                "example": "My Updated Stream Target"
              },
              "custom_origin_region": {
                "type": "string",
                "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.\n\nValid values:\n   * **us** - United States\n   * **eu** - Europe\n   * **asia** - Asia\n   * **sa** - South America\n   * **india** - India\n\n\n**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.\n\n**Note:** You can find the **Host - Server** address on the home page of Wowza Streaming Engine under **Application Connection Settings**."
              },
              "url_suffix": {
                "type": "string",
                "description": "The path to append to the end of the playback url to make it a valid URL, to have playback through the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin.\n\nYou must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream.   \n\nExample: \"custom_origin/cW8JTDFr\""
              },
              "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.\n\n**Note:** If you enable more than one protocol, you'll incur egress charges for each protocol you select.\n\nSee <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.\n\n**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.\n\n**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**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n<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>\n\n**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.\n\n**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**.\n\n**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.\n\nAvailable 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).\n\n**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.\n\nAvailable from version 1.7.\n\n**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*.\n\nAvailable from version 1.7.\n\n**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**.\n\nWe 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_).\n\n**Example:** _example.com, *.example.com, *.mysubdomain.example.com_\n\nIf 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>\nAvailable from version 1.7.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"token_auth_playlist_only\": true</code>",
                "example": ""
              }
            },
            "example": {
              "name": "My Updated Wowza CDN Stream Target"
            }
          }
        }
      },
      "fastly_stream_target_patch_response": {
        "type": "object",
        "title": "stream_target_wowza_cdn",
        "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"
          },
          "url_suffix": {
            "type": "string",
            "description": "The path appended to the end of the playback url to make it a valid URL, to have playback throuogh the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin.\n\nYou must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream.   \n\nExample: \"custom_origin/cW8JTDFr\"",
            "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**.\n\n**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.\n\nAvailable 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.\n\nAvailable 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*.\n\nAvailable 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**.\n\nWe 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_).\n\n**Example:** _example.com, *.example.com, *.mysubdomain.example.com_\n\nIf 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>\n\nAvailable 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**.\n\n**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 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
                  ]
                },
                "reason": {
                  "type": "string",
                  "description": "The reason that a VOD stream has the state of **failed**. Only returned when the state is **failed**.",
                  "example": ""
                },
                "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"
            }
          ]
        }
      },
      "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.\n\nThe following table lists the available property keys.\n\nKey | Description\n----------------|-------------\n**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\n**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\n**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\n**playlistSeconds** | Defines the maximum allowable length of the playlist. <br/><br/>**Available on these targets types:** Wowza CDN on Fastly, Custom: akamai_cupertino\n**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\n**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\n**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\n**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\nproperty.\n\n\nSection | Valid keys for the section\n----------------|-------------\n**hls** | **acao**, **chunkSize**, **convertAMFData**, and **sendSSL**\n**playlist** | **playSSL**, **playlistSeconds**, **redundantChunklists**, and **relativePlaylists**",
            "example": "",
            "enum": [
              "hls",
              "playlist"
            ]
          },
          "value": {
            "type": "string",
            "description": "\nThe value of the property.\n\nThe following table provides information about valid values for each property key.\n\nKey(s) | Values for the key\n----------------|-------------\n**acao** | Displays as **http://&lt;_origin_&gt;**\n**chunkSize** | Valid values are the integers **2**, **4**, **6**, **8**, and **10**.\n**convertAMFData** <br/> **playSSL** <br/> **sendSSL** <br/> **redundantChunklists** <br/> **relativePlaylists** | Valid values are the Booleans **true** and **false**.\n**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.\n\nThe following table lists the available property keys and what transcoder table section they're stored in.\n\nSection | Valid keys for the section\n----------------|-------------\n**asset_management** | <ul><li>**enabled**</li></ul> <br/>**Note:** You need a Wowza Video subscription to access Asset Management.\n**cupertino** | <ul><li>**aes128Host**</li><li>**aes128Secret**</li></ul>\n**ezdrm** | <ul><li>**username**</li><li>**password**</li><li>**fairPlayAssetId**</li><li>**wideVineContentId**</li></ul>\n**file** | <ul><li>**repeat**</li><li>**start_streaming_at**</li></ul>\n**output** | <ul><li>**fitMode**</li><li>**record**</li></ul>\n**recording** | <ul><li>**mp4**</li></ul>\n**rtmp** | <ul><li>**allowDirectPlayback**</li></ul>\n**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>\n**srt** | <ul><li>**passPhrase**</li></ul>\n**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",
              "srt",
              "vod_stream"
            ]
          },
          "value": {
            "type": "string",
            "description": "The value of the property.\n\nThe following table provides information about valid values for each property key.\n\nKey(s) | Values for the key\n----------------|-------------\n**aes128Host** | Specify the URL that devices will use to fetch the key to decrypt the stream.\n**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**.\n**enabled** | Specify **true** or **false**. Used in the **asset_mangement** section.\n**fitMode** | Use **letterbox**, **fit-width**, **fit-height**, **crop**, **stretch**, or **match-source**. The default is **fit-height**.\n**maxRtcpWaitTime** | Use a whole number, expressed as a string or an integer. The default is **2000** (ms).\n**passPhrase** | Use a string between 10-79 characters in length. It adds security to a live stream for an incoming SRT stream from your device or encoder to Wowza Video. The password protection secures the data payload of SRT live streams, ensuring that the transmitted content is encrypted and safeguarded against unauthorized interception during its journey across the network.\n**record** | Use an output ID associated with the transcoder.\n**rtpDePacketizerPacketSorterBufferTime** | Use an integer, expressed as a string or an integer. The default is **500** (ms).\n**rtpDePacketizerPacketSorterFlushTime** | Use an integer, expressed as a string or an integer. The default is **10** (ms).\n**rtpDePacketizerWrapper** | Use the string **RTPDePacketizerWrapperPacketSorter**.\n**rtpTransportMode** | Use the string **udp** or **interleave** (the default).\n**rtspValidationFrequency** | Use a whole number, expressed as a string or an integer. The default is **15000** (ms).\n**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.\n<ul><li>**username**</li><li>**password**</li><li>**fairplayAssetId**</li><li>**wideVineContentId**</li></ul> | Use account information and asset IDs from EZDRM. All strings.\n<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.\n<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**.\n\n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n\n**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.\n\n\n\n> **Note**: **passthrough** isn't supported in the **asia_pacific_singapore** region.\n\n\n\nDefault: **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).\n\n**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.\n\n**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.\n\n**Example:** See response body sample </code>",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string",
                "description": "An optional description of the transcoder.\n\n**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.\n\n**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).\n\n**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**.\n\n**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.\n\n**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.\n\n**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.\n\nAvailable from version 1.5.\n\n**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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.7.\n\n**Example:** <code>\"reference_id\": \"mySystemID_01\"</code>",
                "example": ""
              },
              "source_url": {
                "type": "string",
                "description": "For the *delivery_method* **pull** or *protocol* **file**.\n\nFor **pull**, enter the source's web address without the protocol or the trailing slash (/).\n\nFor **file**, enter the source file URL, including the protocol (http, https, gs, s3).\n\n\n**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.\n\n**Example:** <code>\"stream_extension\": \".sdp\"</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.\n\n**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.\n\n**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.\n\n**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.\n\n\n**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.\n\n**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.\n\n**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.\n\n**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**.\n\n**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.\n\n**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",
            "description": "My Transcoder Description",
            "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": ""
          },
          "target_state": {
            "type": "string",
            "description": "Specifies whether the stream target is **enabled** or **disabled**. This parameter displays in the response when the transcoder or live stream associated with the stream target is running and receiving a stream. **Enabled** means the stream target is enabled and streaming video to its destination. **Disabled** means the stream target is disabled and is not streaming video to its destination.",
            "example": "",
            "enum": [
              "enabled",
              "disabled"
            ]
          }
        },
        "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"
          },
          "target_state": "Enabled"
        }
      },
      "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": ""
          },
          "type": {
            "type": "string",
            "description": "The type of output rendition, be it WebRTC to use with a transcoder that uses WebRTC as the protocol or a normal output rendition.",
            "example": "",
            "enum": [
              "WebRtcOutput",
              "Output"
            ]
          },
          "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": ""
          },
          "delete_restrictions": {
            "type": "array",
            "description": "The reasons why the output cannot be deleted.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "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"
          },
          "target_state": {
            "type": "string",
            "description": "Specifies whether the stream target is **enabled** or **disabled**. This parameter displays in the response when the transcoder or live stream associated with the stream target is running and receiving a stream. **Enabled** means the stream target is enabled and streaming video to its destination. **Disabled** means the stream target is disabled and is not streaming video to its destination.",
            "example": "",
            "enum": [
              "enabled",
              "disabled"
            ]
          }
        },
        "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**.\n\n\n    \n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n    \n\n**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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable 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**.\n\nFor **pull**, enter the source's web address without the preceding protocol or the trailing slash (/).\n\nFor **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_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.\n\n\n\n> **Note**: **passthrough** isn't supported in the **asia_pacific_singapore** region.\n\n\n\nDefault: **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",
          "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.\n\n**Example:** <code>\"delivery_method\": \"pull\"</code>",
                "example": "",
                "enum": [
                  "pull",
                  "cdn",
                  "push"
                ]
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the transcoder. Maximum 200 characters.\n\n**Example:** <code>\"name\": \"My Updated Transcoder\"</code>",
                "example": ""
              },
              "protocol": {
                "type": "string",
                "description": "The transport protocol for the source video. The default is **rtmp**.\n\n**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.\n\nYou cannot change the broadcast location after initial creation if you are using autostart functionality on your transcoder.\n\n**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).\n\n**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.\n\n**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.\n\n**Example:** See response body sample </code>",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string",
                "description": "An optional description of the transcoder.\n\n**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.\n\n**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).\n\n**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**.\n\n**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.\n\n**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.\n\n**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.\n\nAvailable from version 1.5.\n\n**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 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.7.\n\n**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**.\n\n**Example:** <code>\"remove_watermark_image\": true</code>",
                "example": ""
              },
              "source_url": {
                "type": "string",
                "description": "For the *delivery_method* **pull** or *protocol* **file**.\n\nFor **pull**, enter the source's web address without the protocol or the trailing slash (/).\n\nFor **file**, enter the source file URL, including the protocol (http, https, gs, s3).\n\n\n**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.\n\n**Example:** <code>\"stream_extension\": \".sdp\"</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.\n\n**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.\n\n**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.\n\n\n**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.\n\n**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.\n\n**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.\n\n**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.\n\n**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**.\n\n**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.\n\n**Example:** <code>\"watermark_width\": 100</code>",
                "example": "",
                "format": "int32"
              }
            }
          }
        },
        "example": {
          "transcoder": {
            "name": "My Updated Transcoder",
            "description": "My Transcoder Description",
            "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"
            }
          ]
        }
      },
      "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.\n\n**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.\n\n**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**.\n\n**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**.\n\n**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.\n\n**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**.\n\n**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.\n\n**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": "\nSpecifies whether the output stream target uses the stream target's primary or backup URL.\n\nWhen 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**.\n\n**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": "\nThe 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.\n\nThe following table lists the available property keys and what transcoder table section they're stored in.\n\nSection | Valid keys for the section\n----------------|-------------\n**asset_management** | <ul><li>**enabled**</li></ul> <br/>**Note:** You need a Wowza Video subscription to access Asset Management.\n**cupertino** | <ul><li>**aes128Host**</li><li>**aes128Secret**</li></ul>\n**ezdrm** | <ul><li>**username**</li><li>**password**</li><li>**fairPlayAssetId**</li><li>**wideVineContentId**</li></ul>\n**file** | <ul><li>**repeat**</li><li>**start_streaming_at**</li></ul>\n**output** | <ul><li>**fitMode**</li><li>**record**</li></ul>\n**recording** | <ul><li>**mp4**</li></ul>\n**rtmp** | <ul><li>**allowDirectPlayback**</li></ul>\n**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>\n**srt** | <ul><li>**passPhrase**</li></ul>\n**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",
                  "srt",
                  "vod_stream"
                ]
              },
              "value": {
                "type": "string",
                "description": "The value of the property.\n\nThe following table provides information about valid values for each property key.\n\nKey(s) | Values for the key\n----------------|-------------\n**aes128Host** | Specify the URL that devices will use to fetch the key to decrypt the stream.\n**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**.\n**enabled** | Specify **true** or **false**. Used in the **asset_mangement** section.\n**fitMode** | Use **letterbox**, **fit-width**, **fit-height**, **crop**, **stretch**, or **match-source**. The default is **fit-height**.\n**maxRtcpWaitTime** | Use a whole number, expressed as a string or an integer. The default is **2000** (ms).\n**passPhrase** | Use a string between 10-79 characters in length. It adds security to a live stream for an incoming SRT stream from your device or encoder to Wowza Video. The password protection secures the data payload of SRT live streams, ensuring that the transmitted content is encrypted and safeguarded against unauthorized interception during its journey across the network.\n**record** | Use an output ID associated with the transcoder.\n**rtpDePacketizerPacketSorterBufferTime** | Use an integer, expressed as a string or an integer. The default is **500** (ms).\n**rtpDePacketizerPacketSorterFlushTime** | Use an integer, expressed as a string or an integer. The default is **10** (ms).\n**rtpDePacketizerWrapper** | Use the string **RTPDePacketizerWrapperPacketSorter**.\n**rtpTransportMode** | Use the string **udp** or **interleave** (the default).\n**rtspValidationFrequency** | Use a whole number, expressed as a string or an integer. The default is **15000** (ms).\n**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.\n<ul><li>**username**</li><li>**password**</li><li>**fairplayAssetId**</li><li>**wideVineContentId**</li></ul> | Use account information and asset IDs from EZDRM. All strings.\n<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.\n<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.\n\nAvailable 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
            }
          ]
        }
      },
      "analytics_viewers_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**.  ",
                "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": {
          "account": {
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York",
            "trend": [
              {
                "sampled_at": "2024-03-14T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-15T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-16T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-17T00:00:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_live_stream": {
        "type": "object",
        "description": "",
        "properties": {
          "live_stream": {
            "type": "object",
            "title": "live_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream.",
                "format": "int32"
              },
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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": {
          "live_stream": {
            "id": "tvctq36g",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York",
            "trend": [
              {
                "sampled_at": "2024-03-14T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-15T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-16T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-17T00:00:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_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"
              },
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 3
              },
              {
                "code": "DE",
                "viewers": 4
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York",
            "trend": [
              {
                "sampled_at": "2024-03-14T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-15T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-16T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-17T00:00:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_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"
              },
              "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": "An array of viewer countries.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A country code where the stream was requested.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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_target": {
            "id": "tvctq36g",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York",
            "trend": [
              {
                "sampled_at": "2024-03-14T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-15T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-16T00:00:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2024-03-17T00:00:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_live_streams": {
        "type": "object",
        "description": "",
        "required": [
          "live_streams"
        ],
        "properties": {
          "live_streams": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "",
              "title": "live_streams",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the live stream.",
                  "example": "4Jjzstdt",
                  "format": "int32"
                },
                "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": 3,
                  "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": {
          "live_streams": [
            {
              "id": "4Jjzstdt",
              "viewers": 3
            },
            {
              "id": "fFWxVsyj",
              "viewers": 4
            }
          ],
          "limits": {
            "from": "2023-04-14T10:31:54.000Z",
            "to": "2023-07-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_vod_streams": {
        "type": "object",
        "description": "",
        "required": [
          "vod_streams"
        ],
        "properties": {
          "vod_streams": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "",
              "title": "vod_streams",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the VOD stream.",
                  "example": "4Jjzstdt",
                  "format": "int32"
                },
                "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": 3,
                  "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_streams": [
            {
              "id": "4Jjzstdt",
              "viewers": 3
            },
            {
              "id": "fFWxVsyj",
              "viewers": 4
            }
          ],
          "limits": {
            "from": "2023-04-14T10:31:54.000Z",
            "to": "2023-07-13T10:31:54.000Z"
          }
        }
      },
      "analytics_viewers_live_streams_total": {
        "type": "object",
        "description": "",
        "required": [
          "live_streams"
        ],
        "properties": {
          "live_streams": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "",
              "title": "live_streams",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the live stream.",
                  "example": "4Jjzstdt",
                  "format": "int32"
                },
                "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": 3,
                  "format": "int32"
                }
              }
            }
          }
        },
        "example": {
          "live_streams": [
            {
              "id": "4Jjzstdt",
              "viewers": 3
            },
            {
              "id": "fFWxVsyj",
              "viewers": 4
            }
          ]
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "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
          }
        }
      },
      "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.\n\n<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
          }
        }
      },
      "trend_metric": {
        "type": "object",
        "description": "An array of viewer trend data.\n> **Note:** This parameter only returns data for Fastly stream targets.",
        "properties": {
          "bits_in_rate": {
            "type": "integer",
            "description": "The rate at which data is processed in.",
            "example": ""
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the trend was created.",
            "example": ""
          },
          "frame_rate": {
            "type": "integer",
            "description": "The number of frames that appear in a second.",
            "example": ""
          },
          "height": {
            "type": "integer",
            "description": "The height of the video player, in pixels.",
            "example": ""
          },
          "keyframe_interval": {
            "type": "integer",
            "description": "An encoding setting that determines how often the whole picture is transmitted.",
            "example": ""
          },
          "width": {
            "type": "integer",
            "description": "The width of the video player, in pixels.",
            "example": ""
          }
        },
        "example": [
          {
            "bits_in_rate": 1030123,
            "created_at": "2023-03-30T22:42:57Z",
            "frame_rate": 30,
            "height": 288,
            "keyframe_interval": 60,
            "width": 512
          },
          {
            "bits_in_rate": 866928,
            "created_at": "2023-03-30T22:42:58Z",
            "frame_rate": 30,
            "height": 288,
            "keyframe_interval": 60,
            "width": 512
          }
        ]
      },
      "limits_metric": {
        "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": "2024-03-14T10:31:54.000Z",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "description": "The end of the range of time represented in the response.",
            "example": "2024-04-13T10:31:54.000Z",
            "format": "date-time"
          }
        }
      },
      "analytics_viewers_account_total": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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": {
          "account": {
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York"
          },
          "limits": {
            "from": "2024-04-01T00:00:00.000Z",
            "to": "2024-04-09T14:20:03.000Z"
          }
        }
      },
      "analytics_viewers_live_stream_total": {
        "type": "object",
        "description": "",
        "properties": {
          "live_stream": {
            "type": "object",
            "title": "live_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream.",
                "format": "int32"
              },
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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": {
          "live_stream": {
            "id": "tvctq36g",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York"
          },
          "limits": {
            "from": "2024-04-01T00:00:00.000Z",
            "to": "2024-04-09T14:20:03.000Z"
          }
        }
      },
      "analytics_viewers_vod_stream_total": {
        "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"
              },
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**. ",
                "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",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York"
          },
          "limits": {
            "from": "2024-04-01T00:00:00.000Z",
            "to": "2024-04-09T14:20:03.000Z"
          }
        }
      },
      "analytics_viewers_stream_target_total": {
        "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"
              },
              "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": ""
                  },
                  "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"
                  }
                }
              },
              "renditions": {
                "type": "object",
                "title": "renditions",
                "description": "An array of viewer renditions.",
                "properties": {
                  "name": {
                    "type": "integer",
                    "description": "The rendition of the stream played. 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.\n\nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "devices": {
                "type": "object",
                "title": "devices",
                "description": "An array of viewer devices.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A device where the stream was played.",
                    "example": ""
                  },
                  "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"
                  }
                }
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**.",
                "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_target": {
            "id": "tvctq36g",
            "viewers": 7,
            "countries": [
              {
                "code": "US",
                "viewers": 4
              },
              {
                "code": "DE",
                "viewers": 3
              }
            ],
            "renditions": [
              {
                "name": 720,
                "viewers": 7
              }
            ],
            "devices": [
              {
                "name": "Desktop",
                "viewers": 7
              }
            ],
            "time_zone": "America/New_York"
          },
          "limits": {
            "from": "2024-06-01T00:00:00.000Z",
            "to": "2024-04-09T14:20:03.000Z"
          }
        }
      },
      "analytics_ingest_live_stream": {
        "type": "object",
        "description": "",
        "properties": {
          "live_stream": {
            "type": "object",
            "title": "live_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream.",
                "example": "tvctq36g",
                "format": "int32"
              },
              "audio_codec": {
                "$ref": "#/components/schemas/audio_codec_metric"
              },
              "bits_in_rate": {
                "$ref": "#/components/schemas/bits_in_rate_metric"
              },
              "bytes_in_rate": {
                "$ref": "#/components/schemas/bytes_in_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"
              },
              "video_codec": {
                "$ref": "#/components/schemas/video_codec_metric"
              },
              "width": {
                "$ref": "#/components/schemas/width_metric"
              },
              "stream_target_status": {
                "type": "array",
                "description": "An array of stream_target_status data.",
                "items": {
                  "type": "object",
                  "title": "stream_target_status",
                  "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": "Active"
                    },
                    "id": {
                      "type": "string",
                      "description": "The unique alphanumeric string that identifies the stream_target_status. This ID id created by combining the output ID and stream target ID as OUTPUTIDX_STREAMTARGETIDX.",
                      "example": "3lftlf1r_fcm6d98"
                    }
                  }
                }
              },
              "trend": {
                "$ref": "#/components/schemas/trend_metric"
              }
            }
          },
          "limits": {
            "$ref": "#/components/schemas/limits_metric"
          }
        }
      },
      "usage_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "Data for the account.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies an account.",
                "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"
              },
              "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"
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\nRequests 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>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              }
            }
          },
          "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": {
            "id": "rfP7rDv2",
            "viewing_seconds": 44925498,
            "avg_viewing_seconds": 2634,
            "viewing_bytes": 22886,
            "egress_seconds": 49549,
            "egress_seconds_additional_targets": 345,
            "egress_bytes": 7066810,
            "trend": [
              {
                "sampled_at": "2019-10-01T08:00:00.000Z",
                "viewing_seconds": 45,
                "viewing_bytes": 20
              }
            ]
          },
          "limits": {
            "resources": [
              "transcoders",
              "vod_streams"
            ],
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "analytics_engagement_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"
              },
              "play_rate": {
                "type": "integer",
                "description": "The ratio between displays and plays. For example, 100 displays and 20 plays will result in 0.20 which means that 20% of the displays resulted in a play.",
                "example": "",
                "format": "int32"
              },
              "completion_rate": {
                "type": "integer",
                "description": "The ratio of viewers that watched the last segment of the asset. It is represented in a decimal value.",
                "example": ""
              },
              "duration_ms": {
                "type": "integer",
                "description": "The length of the stream in milliseconds.",
                "example": ""
              },
              "avg_seconds_watched": {
                "type": "integer",
                "description": "The average number of seconds the viewers viewed the stream.",
                "example": ""
              },
              "avg_percentage_watched": {
                "type": "integer",
                "description": "The average time watched represented as a percentage.",
                "example": ""
              },
              "total_seconds_watched": {
                "type": "integer",
                "description": "The total number of seconds the stream was viewed.",
                "example": ""
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data for an asset in the given time period.\n\n\n <blockquote>Note: Data from the most recent hour data might not be included in the result of a time range that extends beyond the most recent 3 days. </blockquote>\n\n\n<strong>Default</strong>: Last hour",
                "properties": {
                  "percent": {
                    "type": "integer",
                    "description": "A specific segment of the VOD asset. A VOD asset has 100 segments and each segment represents a completion percentage of the asset. For example, 1 is the data for 0 to 1% of the asset, 2 is the data for 1 to 2% and so on.\n\nTrend data is aggregated for each segment.\n\nUse _**duration_ms** / 1000 x **percent**_ to calculate a timestamp, in seconds, for the trend data.",
                    "format": "int32"
                  },
                  "viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers who watched this specific segment of the VOD asset. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "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",
            "play_rate": 0.2,
            "completion_rate": 0.42,
            "duration_ms": 9761000,
            "avg_seconds_watched": 302,
            "avg_percentage_watched": 67,
            "total_seconds_watched": 77699,
            "trend": [
              {
                "percent": 1,
                "viewers": 7
              },
              {
                "percent": 2,
                "viewers": 7
              },
              {
                "percent": 3,
                "viewers": 7
              },
              {
                "percent": 4,
                "viewers": 7
              },
              {
                "percent": 5,
                "viewers": 10
              },
              {
                "percent": 6,
                "viewers": 7
              },
              {
                "percent": 7,
                "viewers": 7
              },
              {
                "percent": 8,
                "viewers": 25
              },
              {
                "percent": 9,
                "viewers": 25
              },
              {
                "percent": 10,
                "viewers": 25
              },
              {
                "percent": 11,
                "viewers": 7
              },
              {
                "spercent": 12,
                "viewers": 7
              },
              {
                "percent": 13,
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_popularity_live_stream": {
        "type": "object",
        "description": "",
        "properties": {
          "live_stream": {
            "type": "object",
            "title": "live_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream or real-time stream.",
                "format": "int32"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a live stream or real-time stream. A play is registered when the stream begins to play.",
                "example": "",
                "format": "int32"
              },
              "displays": {
                "type": "integer",
                "description": "The total number of displays for a live stream or real-time stream. A display is registered when the player is completely loaded and ready to play the stream.",
                "example": "",
                "format": "int32"
              },
              "trend": {
                "type": "object",
                "title": "Array of popularity trends",
                "description": "An array of popularity trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n1. Requests made for data _within_ the most recent 3 days returns sample intervals by the hour. You can return sample intervals by the minute by specifying a specific hour range.\n\n2. Requests made for data _beyond_ the most recent 3 days can only return sample intervals by the hour or day. The minute data is not retained beyond the 3rd day. \n\n\n <blockquote>Note: Data from the most recent hour data might not be included in the result of a time range that extends beyond the most recent 3 days. </blockquote>\n\n\n<strong>Default</strong>: Last hour",
                "properties": {
                  "plays": {
                    "type": "integer",
                    "description": "The total number of plays for a stream at the time the trend data was sampled. A play is registered when the stream begins to play.",
                    "example": "",
                    "format": "int32"
                  },
                  "displays": {
                    "type": "integer",
                    "description": "The total number of displays for a stream at the time the trend data was sampled. A display is registered when the player is completely loaded and ready to play the stream.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "live_stream": {
            "id": "tvctq36g",
            "plays": 2,
            "displays": 2,
            "trend": [
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2024-03-14T11:31:54.000Z"
              },
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2024-03-14T12:31:54.000Z"
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-04-13T10:31:54.000Z"
          }
        }
      },
      "analytics_popularity_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"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a VOD stream. A play is registered when the stream begins to play.",
                "example": "",
                "format": "int32"
              },
              "displays": {
                "type": "integer",
                "description": "The total number of displays for a VOD stream. A display is registered when the player is completely loaded and ready to play the VOD stream.",
                "example": "",
                "format": "int32"
              },
              "trend": {
                "type": "object",
                "title": "Array of popularity trends",
                "description": "An array of popularity trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n1. Requests made for data _within_ the most recent 3 days returns sample intervals by the hour. You can return sample intervals by the minute by specifying a specific hour range.\n\n2. Requests made for data _beyond_ the most recent 3 days can only return sample intervals by the hour or day. The minute data is not retained beyond the 3rd day. \n\n\n <blockquote>Note: Data from the most recent hour data might not be included in the result of a time range that extends beyond the most recent 3 days. </blockquote>\n\n\n\n<strong>Default</strong>: Last hour",
                "properties": {
                  "plays": {
                    "type": "integer",
                    "description": "The total number of plays for a VOD stream at the time the trend data was sampled. A play is registered when the stream begins to play.",
                    "example": "",
                    "format": "int32"
                  },
                  "displays": {
                    "type": "integer",
                    "description": "The total number of displays for a VOD stream at the time the trend data was sampled. A display is registered when the player is completely loaded and ready to play the VOD stream. ",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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",
            "plays": 2,
            "displays": 2,
            "trend": [
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2024-03-14T11:31:54.000Z"
              },
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2024-03-14T12:31:54.000Z"
              }
            ]
          },
          "limits": {
            "from": "2024-03-14T10:31:54.000Z",
            "to": "2024-03-14T10:31:54.000Z"
          }
        }
      },
      "analytics_qoe_error_density_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "error_density": {
                "type": "integer",
                "description": "The average number of playback errors per playback start. A playback start includes the initial start of a stream as well as any resume events after rebuffering or user-initiated pauses. For example, if there are 1000 total playback errors across 500 play sessions, the error density would be 2.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of error density trends",
                "description": "An array of error density trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "error_density": {
                    "type": "integer",
                    "description": "The percentage of errors encountered during video playback.",
                    "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": {
          "account": {
            "error_density": 7,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "1.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "0.9829059829059829,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "0.806060606060606,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_error_density_media_{id}": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "media",
            "description": "",
            "properties": {
              "error_density": {
                "type": "integer",
                "description": "The average number of playback errors per playback start. A playback start includes the initial start of a stream as well as any resume events after rebuffering or user-initiated pauses. For example, if there are 1000 total playback errors across 500 play sessions, the error density would be 2.",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of error density trends",
                "description": "An array of error density trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "error_density": {
                    "type": "integer",
                    "description": "The percentage of plays that encountered issues during playback.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "media": {
            "error_density": 7,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "1.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "0.9829059829059829,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "0.806060606060606,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_error_free_sessions_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "error_free_sessions": {
                "type": "integer",
                "description": "The percentage of sessions with no fatal errors across any stream before or during playback. A session is considered error-free if no fatal errors occur at any time, either before or during playback.\n\n**Note:** The value for error-free sessions will be 100% if there is no playback activity during the specified time range, as no errors would have occurred.  ",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of error free sessions",
                "description": "An array of error free sessions trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "average": {
                    "type": "integer",
                    "description": "The average percentage of error free sessions encountered during video playback.",
                    "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": {
          "account": {
            "error_free_sessions": 7,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "1.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "2.0,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_error_free_sessions_media_media_ids": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "media",
            "description": "",
            "properties": {
              "error_free_sessions": {
                "type": "integer",
                "description": "The percentage of sessions with no fatal errors across any stream before or during playback. A session is considered error-free if no fatal errors occur at any time, either before or during playback.\n\n**Note:** The value for error-free sessions will be 100% if there is no playback activity during the specified time range, as no errors would have occurred.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of error free sessions",
                "description": "An array of error free sessions trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "average": {
                    "type": "integer",
                    "description": "The average percentage of error free sessions encountered during video playback.",
                    "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": {
          "media": {
            "error_free_sessions": 7,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "1.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "2.0,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_errors_detail_media_error_code": {
        "type": "object",
        "description": "Error drilldown metrics by media",
        "properties": {
          "code": {
            "type": "string",
            "description": "The error code associated with the playback issue.",
            "example": "02-01"
          },
          "name": {
            "type": "string",
            "description": "The name of the playback error.",
            "example": "PlaybackVideoBufferUnderRun"
          },
          "type": {
            "type": "string",
            "description": "The type of media event associated with the error.",
            "example": "Media"
          },
          "media": {
            "type": "array",
            "description": "An array of media items where the error occurred.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier for the media.",
                  "example": "abcd1234"
                },
                "playback_type": {
                  "type": "string",
                  "description": "Type of playback for the media (e.g., live, VOD).",
                  "example": "VOD"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of times the error occurred for this media.",
                  "example": 5
                }
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time range and pagination for the returned results.",
            "properties": {
              "from": {
                "type": "string",
                "format": "date-time",
                "description": "The start of the time range for the results.",
                "example": "2024-09-08T00:00:00Z"
              },
              "to": {
                "type": "string",
                "format": "date-time",
                "description": "The end of the time range for the results.",
                "example": "2024-10-08T00:00:00Z"
              },
              "limit": {
                "type": "integer",
                "description": "The maximum number of results returned per page.",
                "example": 10
              },
              "page": {
                "type": "integer",
                "description": "The current page of results.",
                "example": 0
              },
              "max_page": {
                "type": "integer",
                "description": "The maximum number of available pages.",
                "example": 10
              }
            }
          }
        },
        "example": {
          "code": "02-01",
          "name": "PlaybackVideoBufferUnderRun",
          "type": "Media",
          "media": [
            {
              "id": "abcd1234",
              "playback_type": "VOD",
              "count": 5
            }
          ],
          "limits": {
            "from": "2024-09-08T00:00:00Z",
            "to": "2024-10-08T00:00:00Z",
            "limit": 10,
            "page": 0,
            "max_page": 10
          }
        }
      },
      "analytics_qoe_errors_detail_message_error_code": {
        "type": "object",
        "description": "Error drilldown metrics by error message",
        "properties": {
          "code": {
            "type": "string",
            "description": "The error code associated with the playback issue.",
            "example": "02-01"
          },
          "name": {
            "type": "string",
            "description": "The name of the playback error.",
            "example": "PlaybackVideoBufferUnderRun"
          },
          "type": {
            "type": "string",
            "description": "The type of media event associated with the error.",
            "example": "Media"
          },
          "message": {
            "type": "array",
            "description": "An array of error messages and their associated counts.",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The specific error message text.",
                  "example": "Buffer underrun occurred during playback"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of times this specific error message occurred.",
                  "example": 7
                }
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time range and pagination for the returned results.",
            "properties": {
              "from": {
                "type": "string",
                "format": "date-time",
                "description": "The start of the time range for the results.",
                "example": "2024-09-08T00:00:00Z"
              },
              "to": {
                "type": "string",
                "format": "date-time",
                "description": "The end of the time range for the results.",
                "example": "2024-10-08T00:00:00Z"
              },
              "limit": {
                "type": "integer",
                "description": "The maximum number of results returned per page.",
                "example": 10
              },
              "page": {
                "type": "integer",
                "description": "The current page of results.",
                "example": 0
              },
              "max_page": {
                "type": "integer",
                "description": "The maximum number of available pages.",
                "example": 10
              }
            }
          }
        },
        "example": {
          "code": "02-01",
          "name": "PlaybackVideoBufferUnderRun",
          "type": "Media",
          "message": [
            {
              "text": "Buffer underrun occurred during playback",
              "count": 7
            }
          ],
          "limits": {
            "from": "2024-09-08T00:00:00Z",
            "to": "2024-10-08T00:00:00Z",
            "limit": 10,
            "page": 0,
            "max_page": 10
          }
        }
      },
      "analytics_qoe_errors_detail_resources_error_code": {
        "type": "object",
        "description": "",
        "properties": {
          "code": {
            "type": "string",
            "description": "The error code id. For a full list of the player error codes, see this <a href= \"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FF4e60Celj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBUBCAsbayCcixfCwV78U4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahaPoxj8ngZiXrxMh6BhbQM6zshc-zwvSfwKB9DLhkK9kyh6BrjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyUkaPY8UbA3ggbRTCwOiYC7qpe+TsfnhHtnEA48C5F2nrPcS89pKL2rrXH2Sh16bxUBAHee8D5rWPljM+QxSbSGeNfYo7F74x3xM-NQb8O5fxaN3X+-dFCQMktA1gWBM5AJAZPcBc9GGWBgcvOBCAEGuCQdvXe+9D7lQ9vAc41hYCEFJgwheckb5EJiCQuOL8KEf07tQn+z0-70PLkwtuHFWFj16BPMBM8uGKKXiveBiCt4oNEego+6CE67wUUYj6xDH44GjonYB2imJ-ExEAA\">list</a>."
          },
          "resource": {
            "type": "object",
            "title": "resource",
            "description": "",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL associated with a specific error code.",
                "example": ""
              },
              "count": {
                "type": "integer",
                "description": "Total number of times this specific error occurred for the media."
              },
              "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"
                  },
                  "page": {
                    "type": "integer",
                    "description": "Returns a paginated view of results. A positive integer indicates which page of the results are displayed. The default is **0**.\n\n- If page=0, rows 1-10 are returned.\n- If page=1, rows 11-20 are returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "limit": {
                    "type": "integer",
                    "description": "The number of results returned per page. The maximum number of results per page is 20. The default is **10**.",
                    "example": "",
                    "format": "int32"
                  },
                  "max_page": {
                    "type": "integer",
                    "description": "The maximum number of pages that will be returned.",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "name": {
                "type": "string",
                "description": "The name of the playback error.",
                "example": ""
              },
              "type": {
                "type": "string",
                "description": "The type of event related to video/audio streaming.",
                "example": ""
              }
            }
          }
        },
        "example": {
          "code": "02-01",
          "resource": {
            "url": "https://www.w3schools.com/html/mov_bbb.mp4",
            "count": 10
          },
          "name": "PlaybackVideoBufferUnderRun",
          "type": "Playback",
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_errors_drilldown_trend_error_code": {
        "type": "object",
        "description": "",
        "properties": {
          "error": {
            "type": "object",
            "title": "error",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "The error code id. For a full list of the player error codes, see this <a href= \"https://try.flowplayer.com/?channel=stable#0=N4IgtglgJlA2CmIBcBWADAGhAZ3ggxgC7xTIgB0+22IW+A9rPQE5nMDmARgBQDMAHBnRCAbAEpaIQgAt4YREnABDYswhLYAWgAOG+ADsI7aYUmwlAT3oBXU4qW36k5vGwQAXvCWcEyQs2t4LBIIQm9fJH9ArEJ6Rk4lVkiAoJAAMwgEABVvGmTokFgIfQBrHM48qNTsaUT4ACFbWP0-FKwXJiUoRsJm1oKGfWxGBSqsB1iAJTx6Lv7UifppzqgAETxLZAAWNEwQRYAxenxrPLSNXHHHAAl4IxNkc9hLnHxmRlhkAG1MNABdLAZBB5L6gfRKeRkbQuABuEHgAHdJINiPo7CAQABfDBgiEKKT0EoGcgAKxodHoaIM6IRxSg9AR5AA+kyDgAZADyAHUAApsgCCAE0AKKTJlZDkAaWFADkALwAHRA8AsAClmEouQBFCAciCqrUAZRJUBlxukKCg7gAsrwtWB+BA2QBhVVoeAADX5uv1koAagBGHUu1XSTgAcXwPtVBwAqu4AJIBmX6gCc5BVqpJCZJ9HhAdpgq5MuwHudCZEKYAHvgE2BYCUyxWywbjabzZabXawKna-o0E7Xdp8LxrdHwxHU7x8OGq7IuX6LAn++Q-arrtd9F5w4bw6sufRBcwtiJDfh+at2Ch6uH+WhrvzmPxDbwPVlVQAmNLsNn0VOaGVCAALX4bRDQ-EQPTCLUSnwVN6Hqa4uWgcwIAgKt6GkfhhWYBEoGYElrQ5egPy1epJQRJUAG5JGkaAoAMeZsVxSFFFJckQBRakyA5TgSXgIgMzRNRXG4NImARbRzAseBmAzZh3mYbAxHINIWGFJR8GkbhuC+IkLAwAACBgGL+MQ5QAPkM4AFX0QzjMpbBCEM-ThQQOVDPpE55DRSgXBUeA3LkaluCVbBdH0JUxFs+zBichyGKCwyPK86wfMIPyvGIIL0tCnAIqimKHKGZywh8eBks8440upch2HgQgcupeolygPLZMUzQTNcQq7JclUgvIYgq0IZ1KVRZyPP0orusG4bRvG6lKu6oqyoQcglG0bQDDa1yECM2aEGi-RMQkLBcAIQgIEcsgUCQD9+CxHEQHBViKCoDiuLRMgAGIOpYLr6AY7BrKKqAIHC6SkEM9g1CgKiith6BNGIMApICwHYDSoZoYDNJmEMvHmCowyAHoACpDOFABHawNEM2koBkBysbAIZDPJ0nEc26GPzQbQqxJinDMNXR8AqzgGoReADBZ7GQc52zMUkC6BKum7FF4e60Celj8XIEx62RRbvsUWyAB5wZhQzoEVZUFIB7rsCVCyiot0mrYslW8DV66hjIAMkC2LEAUKYoShBUBCAsbayCcixfCwV78U4IGLEkaxmE+RQTEIbRsCQUnSf8CxVIk9GZLkhgwFJgI0QgeRNCgRISkoahaPoxj8ngZiXrxMh6BhbQM6zshc-zwvSfwKB9DLhkK9kyh6BrjovFwbBSfBK6YXgUneFJpzwl3qTrHYYoN8H7RyEgWeyUkaPY8UbA3ggbRTCwOiYC7qpe+TsfnhHtnEA48C5F2nrPcS89pKL2rrXH2Sh16bxUBAHee8D5rWPljM+QxSbSGeNfYo7F74x3xM-NQb8O5fxaN3X+-dFCQMktA1gWBM5AJAZPcBc9GGWBgcvOBCAEGuCQdvXe+9D7lQ9vAc41hYCEFJgwheckb5EJiCQuOL8KEf07tQn+z0-70PLkwtuHFWFj16BPMBM8uGKKXiveBiCt4oNEego+6CE67wUUYj6xDH44GjonYB2imJ-ExEAA\">list</a>.",
                "example": ""
              },
              "trend": {
                "type": "object",
                "title": "Array of error density trends",
                "description": "An array of error density trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "count": {
                    "type": "integer",
                    "description": "The total number of times this specific error occurred at the sampled time.",
                    "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"
                  }
                }
              },
              "name": {
                "type": "string",
                "description": "The name of the playback error.",
                "example": ""
              },
              "type": {
                "type": "string",
                "description": "The type of event related to video/audio streaming.",
                "example": ""
              }
            }
          }
        },
        "example": {
          "error": [
            {
              "code": "02-01",
              "trend": {
                "count": 10,
                "sampled_at": "2024-09-19T00:00:00Z"
              },
              "name": "PlaybackVideoBufferUnderRun",
              "type": "Playback",
              "limits": {
                "from": "2024-09-08T14:35:00.000Z",
                "to": "2024-10-08T14:35:00.000Z"
              }
            }
          ]
        }
      },
      "analytics_qoe_errors_drilldown": {
        "type": "object",
        "description": "",
        "properties": {
          "error": {
            "type": "object",
            "title": "Error",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "The error code ID. For a full list of the player error codes, see this <a href=\"https://try.flowplayer.com/?channel=stable#0=N4Igtglg...\">list</a>.",
                "example": "02-01"
              },
              "name": {
                "type": "string",
                "description": "The name of the playback error.",
                "example": "PlaybackVideoBufferUnderRun"
              },
              "type": {
                "type": "string",
                "description": "The type of event related to video/audio streaming.",
                "example": "Playback"
              },
              "avg_retry_count": {
                "type": "number",
                "format": "float",
                "description": "The average number of retry attempts for the error.",
                "example": 0.92
              },
              "total_count": {
                "type": "integer",
                "description": "The total number of times the error occurred in the timeframe.",
                "example": 10
              },
              "session_count": {
                "type": "integer",
                "description": "The number of unique sessions in which the error occurred.",
                "example": 2
              },
              "trend": {
                "type": "array",
                "title": "Array of error density trends",
                "description": "An array of error density trend data. The granularity of sampled data changes based on the from and to query values you use:\n<ul>\n  <li>0 minutes to 8 hours - Samples returned per minute</li>\n  <li>8 hours, 1 second to 24 hours - Samples returned per hour</li>\n  <li>24 hours, 1 second to 175 days - Samples returned per day</li>\n  <li>175 days to 14 years - Samples returned per month</li>\n  <li>14 years or greater - Samples returned per year</li>\n</ul>",
                "items": {
                  "type": "object",
                  "properties": {
                    "sampled_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The date and time the trend data was sampled.",
                      "example": "2024-09-08T14:35:00.000Z"
                    },
                    "count": {
                      "type": "integer",
                      "description": "The number of times this specific error occurred at that time.",
                      "example": 3
                    }
                  }
                }
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "format": "date-time",
                "description": "The start of the range of time represented in the response.",
                "example": "2024-09-08T14:35:00.000Z"
              },
              "to": {
                "type": "string",
                "format": "date-time",
                "description": "The end of the range of time represented in the response.",
                "example": "2024-10-08T14:35:00.000Z"
              },
              "limit": {
                "type": "integer",
                "description": "The maximum number of results returned per page.",
                "example": 10
              },
              "page": {
                "type": "integer",
                "description": "The current page number of the response.",
                "example": 0
              },
              "max_page": {
                "type": "integer",
                "description": "The maximum number of available pages.",
                "example": 0
              }
            }
          }
        },
        "example": {
          "error": [
            {
              "code": "02-01",
              "avg_retry_count": 0.92,
              "total_count": 10,
              "session_count": 2,
              "name": "PlaybackVideoBufferUnderRun",
              "type": "Playback"
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z",
            "limit": 10,
            "page": 0,
            "max_page": 0
          }
        }
      },
      "analytics_qoe_rebuffer_count_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "rebuffer_per_view": {
                "type": "integer",
                "description": "The average number of rebuffer events per view. Rebuffer events can be the pauses to load or buffer additional data experienced during playback.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of rebuffer count trends",
                "description": "An array of rebuffer count trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "average": {
                    "type": "integer",
                    "description": "The average number of rebuffer events per view.",
                    "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": {
          "account": {
            "rebuffer_per_view": 0.009584664536741214,
            "time_zone": "Etc/UTC",
            "trend": [
              {
                "average": "0.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "0.01171875,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "0.0,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_rebuffer_count_media_id": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "media",
            "description": "",
            "properties": {
              "rebuffer_per_view": {
                "type": "integer",
                "description": "The average number of rebuffer events per each play. Rebuffer events can be the pauses to load or buffer additional data experienced during playback. ",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of rebuffer count trends",
                "description": "An array of rebuffer count trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "average": {
                    "type": "integer",
                    "description": "The average number of rebuffer events per view.",
                    "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": {
          "media": {
            "rebuffer_per_view": 0,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "0.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "0.0,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "0.0,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_rebuffer_count_drilldown": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream or video.",
                "example": ""
              },
              "rebuffer_count": {
                "type": "number",
                "description": "The average rebuffer count of the specific live stream or video.",
                "example": "",
                "format": "float"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a live stream or video. A play is registered when the stream begins to play.",
                "example": "",
                "format": "int32"
              },
              "playback_type": {
                "type": "string",
                "description": "The playback type of the stream.",
                "example": ""
              },
              "devices": {
                "type": "object",
                "title": "Array of devices",
                "description": "An array of devices.        ",
                "properties": {
                  "device": {
                    "type": "string",
                    "description": "The device type like **Desktop**."
                  },
                  "plays": {
                    "type": "integer",
                    "description": "The number of plays for the specific device type.",
                    "example": "",
                    "format": "int32"
                  },
                  "rebuffer_count": {
                    "type": "number",
                    "description": "Represents the average rebuffer count of the specific device type.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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"
                  },
                  "page": {
                    "type": "integer",
                    "description": "Returns a paginated view of results. A positive integer indicates which page of the results are displayed. The default is **0**.\n\n- If page=0, rows 1-10 are returned.\n- If page=1, rows 11-20 are returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "limit": {
                    "type": "integer",
                    "description": "The number of results returned per page. The maximum number of results per page is 20. The default is **10**.",
                    "example": "",
                    "format": "int32"
                  },
                  "max_page": {
                    "type": "integer",
                    "description": "The maximum number of pages that will be returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "sort_by": {
                    "type": "string",
                    "description": "Specifies by what order the objects are returned. The default is **plays**.",
                    "example": "",
                    "enum": [
                      "metric",
                      "plays"
                    ]
                  },
                  "sort_by_order": {
                    "type": "string",
                    "description": "Specifies the order the objects are returned. The default is **desc**.",
                    "example": "",
                    "enum": [
                      "asc",
                      "des"
                    ]
                  }
                }
              }
            }
          }
        },
        "example": {
          "media": [
            {
              "id": "crtspppp",
              "rebuffer_count": 1.19,
              "plays": 233,
              "playback_type": "vod",
              "devices": [
                {
                  "device": "Desktop",
                  "plays": 174,
                  "rebuffer_count": 1.19
                },
                {
                  "device": "Tablet",
                  "plays": 59,
                  "rebuffer_count": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2025-09-08T14:35:00Z",
            "to": "2025-10-08T14:35:00Z",
            "page": 0,
            "limit": 10,
            "max_page": 7,
            "sort_by": "metric",
            "sort_by_order": "desc"
          }
        }
      },
      "analytics_qoe_rebuffer_count_drilldown_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream or video.",
                "example": ""
              },
              "trend": {
                "type": "object",
                "description": "An array of rebuffer count drill down trends. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "rebuffer_count": {
                    "type": "number",
                    "description": "The rebuffer count encountered during video playback.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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": {
          "media": [
            {
              "id": "62588c40-9326-4a98-8836-a347bdad6e5b",
              "trend": [
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "rebuffer_count": 1.19
                },
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "rebuffer_count": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00Z",
            "to": "2024-10-08T14:35:00Z"
          }
        }
      },
      "analytics_qoe_rebuffer_time_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "rebuffer_time": {
                "type": "integer",
                "description": "The average time, in seconds, that the video pauses to rebuffer during one hour of playback.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of rebuffer time trends",
                "description": "An array of rebuffer time trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "average": {
                    "type": "integer",
                    "description": "The average time, in seconds, that the video pauses to rebuffer during one hour of playback.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "account": {
            "rebuffer_time": 165.99156363636365,
            "time_zone": "Etc/UTC",
            "trend": [
              {
                "average": "0.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "165.99156363636365,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "0.0,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_rebuffer_time_media_id": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "media",
            "description": "",
            "properties": {
              "rebuffer_time": {
                "type": "integer",
                "description": "The average time, in seconds, that the video pauses to rebuffer during one hour of playback.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "trend": {
                "type": "object",
                "title": "Array of rebuffer time trends",
                "description": "An array of rebuffer time trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "average": {
                    "type": "integer",
                    "description": "The average time, in seconds, that the video pauses to rebuffer during one hour of playback.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "media": {
            "rebuffer_time": 1.71232543562145,
            "time_zone": "America/New_York",
            "trend": [
              {
                "average": "1.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "1.9829059829059829,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "1.806060606060606,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_rebuffer_time_drilldown": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream or video.",
                "example": ""
              },
              "rebuffer_time": {
                "type": "number",
                "description": "The average rebuffer time of the specific live stream or video.",
                "example": "",
                "format": "float"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a live stream or video. A play is registered when the stream begins to play.",
                "example": "",
                "format": "int32"
              },
              "playback_type": {
                "type": "string",
                "description": "The playback type of the stream.",
                "example": ""
              },
              "devices": {
                "type": "object",
                "title": "Array of devices",
                "description": "An array of devices.        ",
                "properties": {
                  "device": {
                    "type": "string",
                    "description": "The device type like **Desktop**."
                  },
                  "plays": {
                    "type": "integer",
                    "description": "The number of plays for the specific device type.",
                    "example": "",
                    "format": "int32"
                  },
                  "rebuffer_time": {
                    "type": "number",
                    "description": "Represents the average rebuffer time of the specific device type.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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"
                  },
                  "page": {
                    "type": "integer",
                    "description": "Returns a paginated view of results. A positive integer indicates which page of the results are displayed. The default is **0**.\n\n- If page=0, rows 1-10 are returned.\n- If page=1, rows 11-20 are returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "limit": {
                    "type": "integer",
                    "description": "The number of results returned per page. The maximum number of results per page is 20. The default is **10**.",
                    "example": "",
                    "format": "int32"
                  },
                  "max_page": {
                    "type": "integer",
                    "description": "The maximum number of pages that will be returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "sort_by": {
                    "type": "string",
                    "description": "Specifies by what order the objects are returned. The default is **plays**.",
                    "example": "",
                    "enum": [
                      "metric",
                      "plays"
                    ]
                  },
                  "sort_by_order": {
                    "type": "string",
                    "description": "Specifies the order the objects are returned. The default is **desc**.",
                    "example": "",
                    "enum": [
                      "asc",
                      "des"
                    ]
                  }
                }
              }
            }
          }
        },
        "example": {
          "media": [
            {
              "id": "crtspppp",
              "rebuffer_time": 1.19,
              "plays": 233,
              "playback_type": "vod",
              "devices": [
                {
                  "device": "Desktop",
                  "plays": 174,
                  "rebuffer_time": 1.19
                },
                {
                  "device": "Tablet",
                  "plays": 59,
                  "rebuffer_time": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00Z",
            "to": "2024-10-08T14:35:00Z",
            "page": 0,
            "limit": 10,
            "max_page": 7,
            "sort_by": "metric",
            "sort_by_order": "desc"
          }
        }
      },
      "analytics_qoe_rebuffer_time_drilldown_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream or video.",
                "example": ""
              },
              "trend": {
                "type": "object",
                "description": "An array of rebuffer time drill down trends. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "rebuffer_time": {
                    "type": "number",
                    "description": "The rebuffer time encountered during video playback.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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": {
          "media": [
            {
              "id": "62588c40-9326-4a98-8836-a347bdad6e5b",
              "trend": [
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "rebuffer_time": 1.19
                },
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "rebuffer_time": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00Z",
            "to": "2024-10-08T14:35:00Z"
          }
        }
      },
      "analytics_qoe_video_start_time_account": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "average": {
                "type": "integer",
                "description": "The average time, in seconds, from when a user requests a video stream until playback begins.",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "quantile_25": {
                "type": "integer",
                "description": "The video start time of 25th percentile of video streams. This means that 25% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_50": {
                "type": "integer",
                "description": "The video start time of 50th percentile of video streams. This means that 50% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_75": {
                "type": "integer",
                "description": "The video start time of 75th percentile of video streams. This means that 75% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_95": {
                "type": "integer",
                "description": "The video start time of 95th percentile of video streams. This means that 95% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_99": {
                "type": "integer",
                "description": "The video start time of 99th percentile of video streams. This means that 99% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "trend": {
                "type": "object",
                "title": "Array of video start time trends",
                "description": "An array of video start time trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "average": {
                    "type": "integer",
                    "description": "The average time, in seconds, from when a user requests a video stream until playback begins.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "account": {
            "average": 400.64516129032256,
            "time_zone": "Etc/UTC",
            "quantile_25": 300,
            "quantile_50": 300,
            "quantile_75": 300,
            "quantile_95": 1206,
            "quantile_99": 3390,
            "trend": [
              {
                "average": "0.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "525.0,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "382.0,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_video_start_time_media_id": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "average": {
                "type": "integer",
                "description": "The average time, in seconds, from when a user requests a video stream until playback begins. ",
                "example": "",
                "format": "int32"
              },
              "time_zone": {
                "title": "time_zone",
                "type": "string",
                "description": "The time zone in which the data is returned. The default time zone in which the data is returned is **Etc/UTC**."
              },
              "quantile_25": {
                "type": "integer",
                "description": "The video start time of 25th percentile of video streams. This means that 25% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_50": {
                "type": "integer",
                "description": "The video start time of 50th percentile of video streams. This means that 50% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_75": {
                "type": "integer",
                "description": "The video start time of 75th percentile of video streams. This means that 75% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_95": {
                "type": "integer",
                "description": "The video start time of 95th percentile of video streams. This means that 95% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "quantile_99": {
                "type": "integer",
                "description": "The video start time of 99th percentile of video streams. This means that 99% of the users have a video start time equal to or less than this value.",
                "example": "",
                "format": "int32"
              },
              "trend": {
                "type": "object",
                "title": "Array of video start time trends",
                "description": "An array of video start time trend data. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "average": {
                    "type": "integer",
                    "description": "The average time, in seconds, from when a user requests a video stream until playback begins.",
                    "example": "",
                    "format": "int32"
                  },
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  }
                }
              },
              "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": {
          "media": {
            "average": 400.64516129032256,
            "time_zone": "Etc/UTC",
            "quantile_25": 300,
            "quantile_50": 300,
            "quantile_75": 300,
            "quantile_95": 1206,
            "quantile_99": 3390,
            "trend": [
              {
                "average": "0.0,",
                "sampled_at": "2024-09-08T00:00:00+00:00"
              },
              {
                "average": "525.0,",
                "sampled_at": "2024-09-11T00:00:00+00:00"
              },
              {
                "average": "382.0,",
                "sampled_at": "2024-09-13T00:00:00+00:00"
              }
            ]
          },
          "limits": {
            "from": "2024-09-08T14:35:00.000Z",
            "to": "2024-10-08T14:35:00.000Z"
          }
        }
      },
      "analytics_qoe_video_start_time_drilldown": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream, real-time stream, or video.",
                "example": ""
              },
              "video_start_time": {
                "type": "number",
                "description": "The average video start time of the specific live stream, real-time stream, or video.",
                "example": "",
                "format": "float"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a live stream, real-time stream, or video. A play is registered when the stream begins to play.",
                "example": "",
                "format": "int32"
              },
              "playback_type": {
                "type": "string",
                "description": "The playback type of the stream.",
                "example": ""
              },
              "devices": {
                "type": "object",
                "title": "Array of devices",
                "description": "An array of devices.        ",
                "properties": {
                  "device": {
                    "type": "string",
                    "description": "The device type like **Desktop**."
                  },
                  "plays": {
                    "type": "integer",
                    "description": "The number of plays for the specific device type.",
                    "example": "",
                    "format": "int32"
                  },
                  "video_start_time": {
                    "type": "number",
                    "description": "Represents the average video start time of the specific device type.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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"
                  },
                  "page": {
                    "type": "integer",
                    "description": "Returns a paginated view of results. A positive integer indicates which page of the results are displayed. The default is **0**.\n\n- If page=0, rows 1-10 are returned.\n- If page=1, rows 11-20 are returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "limit": {
                    "type": "integer",
                    "description": "The number of results returned per page. The maximum number of results per page is 20. The default is **10**.",
                    "example": "",
                    "format": "int32"
                  },
                  "max_page": {
                    "type": "integer",
                    "description": "The maximum number of pages that will be returned.",
                    "example": "",
                    "format": "int32"
                  },
                  "sort_by": {
                    "type": "string",
                    "description": "Specifies by what order the objects are returned. The default is **plays**.",
                    "example": "",
                    "enum": [
                      "metric",
                      "plays"
                    ]
                  },
                  "sort_by_order": {
                    "type": "string",
                    "description": "Specifies the order the objects are returned. The default is **desc**.",
                    "example": "",
                    "enum": [
                      "asc",
                      "des"
                    ]
                  }
                }
              }
            }
          }
        },
        "example": {
          "media": [
            {
              "id": "crtspppp",
              "video_start_time": 1.19,
              "plays": 233,
              "playback_type": "vod",
              "devices": [
                {
                  "device": "Desktop",
                  "plays": 174,
                  "video_start_time": 1.19
                },
                {
                  "device": "Tablet",
                  "plays": 59,
                  "video_start_time": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00Z",
            "to": "2024-10-08T14:35:00Z",
            "page": 0,
            "limit": 10,
            "max_page": 7,
            "sort_by": "metric",
            "sort_by_order": "desc"
          }
        }
      },
      "analytics_qoe_video_start_time_drilldown_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "media": {
            "type": "object",
            "title": "Array of media",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the live stream, real-time stream, or video.",
                "example": ""
              },
              "trend": {
                "type": "object",
                "description": "An array of video start time drill down trends. The granularity of sampled data changes based on the from and to query values you use:\n\n<ul><li>0 minutes to 8 hours - Samples returned per minute</li> <li>8 hours, 1 second to 24 hours - Samples returned per hour</li> <li>24 hours, 1 second to 175 days - Samples returned per day</li> <li>175 days to 14 years - Samples returned per month</li> <li>14 years or greater - Samples returned per year</li></ul>",
                "properties": {
                  "sampled at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "video_start_time": {
                    "type": "number",
                    "description": "The video start time encountered during video playback.",
                    "example": "",
                    "format": "float"
                  }
                }
              },
              "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": {
          "media": [
            {
              "id": "62588c40-9326-4a98-8836-a347bdad6e5b",
              "trend": [
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "video_start_time": 1.19
                },
                {
                  "sampled_at": "2024-10-08T14:35:00Z",
                  "video_start_time": 1.19
                }
              ]
            }
          ],
          "limits": {
            "from": "2024-09-08T14:35:00Z",
            "to": "2024-10-08T14:35:00Z"
          }
        }
      },
      "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**.\n\n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n\n**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**.\n\n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n\n**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"
              },
              "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"
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\nRequests 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>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              }
            }
          },
          "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,
            "viewing_seconds": 90,
            "viewing_bytes": 49,
            "trend": [
              {
                "sampled_at": "2019-10-01T08:00:00.000Z",
                "viewing_seconds": 45,
                "viewing_bytes": 20
              }
            ]
          },
          "limits": {
            "from": "2019-10-01T07:00:00.000Z",
            "to": "2019-10-16T11: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**.\n\n**pay_as_you_go** — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.\n\n**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_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 target.",
                "example": "",
                "enum": [
                  "fastly"
                ]
              },
              "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"
              }
            }
          },
          "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",
              "viewing_seconds": 44925498,
              "viewing_bytes": 22886
            },
            {
              "id": "bac1256",
              "name": "My Other Stream Target",
              "archived": false,
              "type": "fastly",
              "viewing_seconds": 593275043,
              "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"
                ]
              },
              "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"
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\nRequests 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>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              },
              "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",
            "viewing_seconds": 44925498,
            "viewing_bytes": 22886,
            "trend": [
              {
                "sampled_at": "2019-10-01T08:00:00.000Z",
                "viewing_seconds": 45,
                "viewing_bytes": 20
              }
            ],
            "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": {
              "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"
              },
              "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": {
            "viewing_seconds": 67925498,
            "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_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_storage_current": {
        "type": "object",
        "description": "",
        "properties": {
          "recording_bytes": {
            "type": "integer",
            "description": "The amount, in bytes, used to store all recordings.",
            "example": "",
            "format": "int32"
          },
          "vod_stream_bytes": {
            "type": "integer",
            "description": "The amount, in bytes, used to store all VOD streams.",
            "example": "",
            "format": "int32"
          }
        },
        "example": {
          "recording_bytes": 1057200777662,
          "vod_stream_bytes": 2142226694010
        }
      },
      "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"
                ]
              },
              "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"
              }
            }
          },
          "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",
              "viewing_seconds": 44925498,
              "viewing_bytes": 22886
            },
            {
              "id": "nts8765",
              "name": "My Other VOD Stream on Mar 26, 2021 @ 01:15pm PDT",
              "archived": false,
              "type": "fastly",
              "viewing_seconds": 593275043,
              "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_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"
                ]
              },
              "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"
              },
              "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": ""
              },
              "trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. The granularity of sampled data changes based on the from and to query values you use:\n\nRequests 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>\n\n<strong>Defaults</strong>: from = last billing date, to = end of current day",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "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"
                  }
                }
              }
            }
          },
          "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": "wowza_cdn",
            "viewing_seconds": 44925498,
            "viewing_bytes": 22886,
            "egress_bytes": 1783702,
            "egress_seconds": 97058,
            "trend": [
              {
                "sampled_at": "2019-10-01T08:00:00.000Z",
                "viewing_seconds": 45,
                "viewing_bytes": 20
              }
            ]
          },
          "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": {
              "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"
              },
              "egress_seconds": {
                "type": "integer",
                "description": "The amount of time, in seconds, that it took for the stream to be processed.",
                "example": ""
              },
              "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": {
            "viewing_seconds": 67925498,
            "viewing_bytes": 22886,
            "egress_seconds": 6348,
            "egress_bytes": 1928166892
          },
          "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_real_time_stream_summary": {
        "type": "object",
        "description": "",
        "properties": {
          "summary": {
            "type": "object",
            "title": "summary",
            "description": "",
            "properties": {
              "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.",
                "example": "",
                "format": "int32"
              },
              "bytes_out": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went to a viewer 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": {
            "bytes_in": 987467984710,
            "bytes_out": 1583413248468
          },
          "limits": {
            "from": "2023-05-07T00:00:00.000Z",
            "to": "2023-05-26T00: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": ""
          },
          "reason": {
            "type": "string",
            "description": "The reason that a VOD stream has the state of **failed**. Only returned when the state is **failed**.",
            "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.\n\n**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.\n\n**Example:** <code>\"playback_enabled\": true</code>",
                "example": true,
                "enum": [
                  true,
                  false
                ]
              }
            }
          }
        }
      },
      "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": "",
            "enum": [
              "active",
              "archived",
              "disabled",
              "stopped"
            ]
          },
          "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": "started",
              "created_at": "2021-01-29T17:16:21.849Z",
              "updated_at": "2021-01-31T16:06:47.849Z"
            },
            {
              "id": "if7le8ip",
              "name": "MyRealTimeStream2",
              "state": "started",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-31T02:26:05.849Z"
            },
            {
              "id": "dd4udt1b",
              "name": "MyRealTimeStream3",
              "state": "started",
              "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.\n\n<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": ""
              },
              "description": {
                "type": "string",
                "description": "An optional description of the real-time stream.",
                "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. \n\nCan only be set when **recording** is true and you can't change this value after you create the stream.\n\n**Default:** false\n\n**Example:** <code>\"disable_vod_encoder\": true</code>"
              },
              "enable_secure_viewer": {
                "type": "boolean",
                "description": "Require viewers to pass a security token for playback.\n\n**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.\n\nRequired when *enable_secure_viewer* is **true**.\n\n**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.\n\n**Default:** phoenix\n\n**Example:** <code>\"region\": amsterdam</code>",
                "example": "",
                "enum": [
                  "phoenix",
                  "amsterdam",
                  "singapore",
                  "bangalore",
                  "auto"
                ]
              },
              "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.\n\nRecordings 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. \n\n**Default:** false\n\n<blockquote>Note: You can't update this value after you create the stream.</blockquote>\n\n**Example:** <code>\"recording\": true</code>"
              },
              "reference_id": {
                "type": "string",
                "description": "A unique, alphanumeric ID returned in real-time stream webhook payloads. Setting a *reference_id* is useful if you have an ID in your system or application you want to associate with real-time stream events that trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.12.\n\n**Example:** <code>\"reference_id\": \"mySystemID_01\"</code>"
              },
              "enable_player_and_hosted_page": {
                "type": "boolean",
                "description": "If **true**, enables a player and hosted page for the real-time stream.\n\n**Default:** true\n\n<blockquote>Note: You can't update this value after you create the stream.</blockquote>\n\n**Example:** <code>\"enable_player_and_hosted_page\": true</code>"
              },
              "player": {
                "type": "object",
                "description": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **real_time_stream** object where you can still access them through the API:\n  * **logo_image**\n  * **logo_position**\n  * **video_poster_image**\n  * **width**",
                "properties": {
                  "plugins": {
                    "type": "object",
                    "description": "Configuration of the plugins.",
                    "properties": {
                      "airplay": {
                        "type": "boolean",
                        "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                        "example": ""
                      },
                      "chromecast": {
                        "type": "boolean",
                        "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                        "example": ""
                      }
                    }
                  },
                  "customizations": {
                    "type": "object",
                    "description": "Configuration of the player customizations.",
                    "properties": {
                      "play_icon": {
                        "type": "string",
                        "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                        "example": "solid",
                        "enum": [
                          "solid",
                          "outlined",
                          "ring"
                        ]
                      },
                      "thin_timeline": {
                        "type": "boolean",
                        "description": "If **true**, displays a thinner control bar than the default in the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                        "example": ""
                      },
                      "drag_handle": {
                        "type": "boolean",
                        "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                        "example": ""
                      },
                      "volume": {
                        "type": "boolean",
                        "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                        "example": ""
                      },
                      "mute": {
                        "type": "boolean",
                        "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                        "example": ""
                      },
                      "fullscreen": {
                        "type": "boolean",
                        "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                        "example": ""
                      },
                      "show_player_title": {
                        "type": "boolean",
                        "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                        "example": ""
                      },
                      "color": {
                        "type": "string",
                        "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n\n**Example:** <code>\"color\": \"4d4d4d\"</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.\n\n**Example:** <code>\"video_poster_image\": \"[Base64-encoded string representation of GIF, JPEG, or PNG file]\"</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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
                    "example": "",
                    "enum": [
                      "top-left",
                      "top-right",
                      "bottom-left",
                      "bottom-right"
                    ]
                  },
                  "width": {
                    "type": "integer",
                    "description": "The width, in pixels, of a fixed-size player. The default is **640**.\n\n**Example:** <code>\"width\": 640</code>",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "player_id": {
                "type": "string",
                "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n    \n    \nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850  "
              },
              "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.\n\n**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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
                "example": "",
                "enum": [
                  "top-left",
                  "top-right",
                  "bottom-left",
                  "bottom-right"
                ]
              },
              "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.\n\n**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**.\n\n**Example:** <code>\"width\": 640</code>",
                "example": "",
                "format": "int32"
              },
              "hosted_page": {
                "type": "object",
                "description": "Configuration of the hosted page.",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</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.\n\n**Example:** <code>\"description\": \"My Hosted Page Description\"</code>",
                    "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.",
                    "example": ""
                  },
                  "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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                    "example": ""
                  }
                }
              }
            }
          }
        },
        "example": {
          "real_time_stream": {
            "name": "MyRealTimeStream",
            "description": "This is my first real-time stream."
          }
        }
      },
      "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": "",
            "enum": [
              "started",
              "stopped",
              "disabled"
            ]
          },
          "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.\n\n**Default:** phoenix\n\n**Example:** <code>\"region\": amsterdam</code>",
            "example": "",
            "enum": [
              "phoenix",
              "amsterdam",
              "singapore",
              "bangalore",
              "auto"
            ]
          },
          "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. \n\nRecordings 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.\n\n**Default:** false\n\n<blockquote>Note: You can't update this value after you create the stream.</blockquote>\n\n**Example:** <code>\"recording\": true</code>"
          },
          "reference_id": {
            "type": "string",
            "description": "A unique, alphanumeric ID returned in real-time stream webhook payloads. Setting a *reference_id* is useful if you have an ID in your system or application you want to associate with real-time stream events that trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.12.\n\n**Example:** <code>\"reference_id\": \"mySystemID_01\"</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. \n\nCan only be set when **recording** is true and you can't change this value after you create the stream.\n\n**Default:** false\n\n**Example:** <code>\"disable_vod_encoder\": true</code>"
          },
          "description": {
            "type": "string",
            "description": "An optional description of the real-time stream.",
            "example": ""
          },
          "enable_player_and_hosted_page": {
            "type": "boolean",
            "description": "If **true**, enables a player and hosted page for the real-time stream.\n\n**Default:** true\n\n<blockquote>Note: You can't update this value after you create the stream.</blockquote>\n\n**Example:** <code>\"enable_player_and_hosted_page\": true</code>"
          },
          "player": {
            "type": "object",
            "description": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **real_time_stream** object where you can still access them through the API:\n  * **embed_code**\n  * **logo_image_url**\n  * **logo_position**\n  * **video_poster_image_url**\n  * **width**",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the player.",
                "example": ""
              },
              "type": {
                "type": "string",
                "description": "The player you want to use and the only option is Wowza Flowplayer. ",
                "example": ""
              },
              "responsive": {
                "type": "boolean",
                "description": "A player whose size adjusts according to the device on which it's being viewed. The default value **true**, creates a responsive player. If specified **false**, and a *player_width* is not specified, it defaults to **true**.\n\n**Example:** <code>\"responsive\": true</code>",
                "example": ""
              },
              "plugins": {
                "type": "object",
                "description": "Configuration of the plugins.",
                "properties": {
                  "airplay": {
                    "type": "boolean",
                    "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                    "example": ""
                  },
                  "chromecast": {
                    "type": "boolean",
                    "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                    "example": ""
                  }
                }
              },
              "customizations": {
                "type": "object",
                "description": "Configuration of the player customizations.",
                "properties": {
                  "play_icon": {
                    "type": "string",
                    "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\n        \nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                    "example": "solid",
                    "enum": [
                      "solid",
                      "outlined",
                      "ring"
                    ]
                  },
                  "thin_timeline": {
                    "type": "boolean",
                    "description": "If **true**, displays a thinner control bar than the default in the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                    "example": ""
                  },
                  "drag_handle": {
                    "type": "boolean",
                    "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                    "example": ""
                  },
                  "volume": {
                    "type": "boolean",
                    "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                    "example": ""
                  },
                  "mute": {
                    "type": "boolean",
                    "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                    "example": ""
                  },
                  "fullscreen": {
                    "type": "boolean",
                    "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                    "example": ""
                  },
                  "show_player_title": {
                    "type": "boolean",
                    "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                    "example": ""
                  },
                  "color": {
                    "type": "string",
                    "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n\n**Example:** <code>\"color\": \"4d4d4d\"</code>",
                    "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": ""
              },
              "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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
                "example": "",
                "enum": [
                  "top-left",
                  "top-right",
                  "bottom-left",
                  "bottom-right"
                ]
              },
              "embed_code": {
                "type": "string",
                "description": "The HTML code that can be used in an external webpage to host the Wowza Flowplayer.",
                "example": ""
              },
              "width": {
                "type": "integer",
                "description": "The width, in pixels, of a fixed-size player. The default is **640**.\n\n**Example:** <code>\"width\": 640</code>",
                "example": "",
                "format": "int32"
              }
            }
          },
          "player_id": {
            "type": "string",
            "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n        \n        \nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n\n<blockquote><strong>Note</strong>: <strong>player_id</strong> is not returned in the response if it's not explicitly sent and the default player configuration is used instead.</blockquote>\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850  "
          },
          "player_type": {
            "type": "string",
            "description": "(Available from version 2.0) The type of player associated with the stream. Streams created in legacy Wowza Video have a  player type of *wowza_flowplayer_v1*. Streams created in later versions of Wowza Video have a player type of *wowza_flowplayer_v2*.\n\nKnowing the player type is useful if you've migrated streams from legacy Wowza Video. The player for a stream created in the legacy version of Wowza Video isn't editable in the new platform. \n\n**Example**: wowza_flowplayer_v1",
            "enum": [
              "wowza_flowplayer_v1",
              "wowza_flowplayer_v2"
            ]
          },
          "flowplayer": {
            "type": "boolean",
            "description": "Indicates whether or not the player for the live stream is a Wowza Flowplayer player. **True** indicates the player is a Wowza Flowplayer player. Our new Wowza Video experience uses Wowza Flowplayer. If you are a Wowza Video legacy subscriber, Wowza Flowplayer is also the player used.\n\n**False** indicates the player is either an **original_html5** player or **wowza_player**. The original HTML and Wowza players are the players available for Wowza Streaming Cloud subscribers.",
            "example": ""
          },
          "embed_code": {
            "type": "string",
            "description": "The HTML code that can be used in an external webpage to host the Wowza Flowplayer.",
            "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**.\n\n**Example:** <code>\"logo_position\": \"top-right\"</code>",
            "example": "",
            "enum": [
              "top-left",
              "top-right",
              "bottom-left",
              "bottom-right"
            ]
          },
          "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**.\n\n**Example:** <code>\"width\": 640</code>",
            "example": "",
            "format": "int32"
          },
          "hosted_page": {
            "type": "object",
            "description": "Configuration of the hosted page.",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL of the Wowza Video-hosted webpage that viewers can visit to watch the stream.",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</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.\n\n**Example:** <code>\"description\": \"My Hosted Page Description\"</code>",
                "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.",
                "example": ""
              },
              "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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                "example": ""
              }
            }
          },
          "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": "started",
          "region": "amsterdam",
          "recording": true,
          "reference_id": "mySystemID_01",
          "disable_vod_encoder": true,
          "description": "This is my first real-time stream.",
          "enable_player_and_hosted_page": true,
          "player_id": "2205b4e8-b160-43c2-868d-d88698a4e850",
          "player_type": "wowza_flowplayer_v2",
          "flowplayer": true,
          "embed_code": null,
          "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
          "logo_position": "top-right",
          "video_poster_image_url": "https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg",
          "width": 640,
          "hosted_page": {
            "title": "MyRealTimeStreamHostedPage",
            "url": "https://embed.flowplayer.com/hosted/default/e8dk5bf6",
            "description": "My hosted page description",
            "sharing_icons": 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.\n\n<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": ""
              },
              "description": {
                "type": "string",
                "description": "An optional description of the real-time stream.",
                "example": ""
              },
              "enable_secure_viewer": {
                "type": "boolean",
                "description": "Require viewers to pass a security token for playback.\n\n**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.\n\nRequired when *enable_secure_viewer* is **true**.\n\n**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.\n\n**Default:** phoenix\n\n**Example:** <code>\"region\": amsterdam</code>",
                "example": "",
                "enum": [
                  "phoenix",
                  "amsterdam",
                  "singapore",
                  "bangalore",
                  "auto"
                ]
              },
              "reference_id": {
                "type": "string",
                "description": "A unique, alphanumeric ID returned in real-time stream webhook payloads. Setting a *reference_id* is useful if you have an ID in your system or application you want to associate with real-time stream events that trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|\n\nYou can't use brackets or quotation marks.\n\nSee <a href=\"https://www.wowza.com/docs/wowza-video-webhook-event-reference-documentation\">Wowza Video Webhook Event Reference Documentation</a> to learn about webhooks.\n\nAvailable from version 1.12.\n\n**Example:** <code>\"reference_id\": \"mySystemID_01\"</code>"
              },
              "player": {
                "type": "object",
                "description": "The **player** object is deprecated in 2.0. Create and update player configurations in the user interface. \n\nAny values you send using the **player** object will be ignored.\n\nThe following fields have been moved outside of the **player** object and reside within the **real_time_stream** object where you can still access them through the API:\n  * **logo_image**\n  * **logo_position**\n  * **video_poster_image**\n  * **remove_video_poster_image**\n  * **remove_logo_image**\n  * **width**",
                "properties": {
                  "plugins": {
                    "type": "object",
                    "description": "Configuration of the plugins.",
                    "properties": {
                      "airplay": {
                        "type": "boolean",
                        "description": "If **true**, enables Airplay functionality in the player which allows you to cast to an Airplay device. The default is **false**.\n\n**Example:** <code>\"airplay\": false</code>",
                        "example": ""
                      },
                      "chromecast": {
                        "type": "boolean",
                        "description": "If **true**, enables Chromecast functionality in the player which allows you to cast to a Chromecast device. The default is **false**.\n\n**Example:** <code>\"chromecast\": false</code>",
                        "example": ""
                      }
                    }
                  },
                  "customizations": {
                    "type": "object",
                    "description": "Configuration of the player customizations.",
                    "properties": {
                      "play_icon": {
                        "type": "string",
                        "description": "A play icon that is displayed on the video preview. The default, **solid**, uses the standard play (solid triangle) icon. **outlined** uses an alternate (outlined triangle) play icon. **ring** uses an alternate (small solid triangle enclosed in a circle) play icon.\n\n  \nDefault: **solid**\n\n**Example:** <code>\"play_icon\": \"solid\"</code>",
                        "example": "solid",
                        "enum": [
                          "solid",
                          "outlined",
                          "ring"
                        ]
                      },
                      "thin_timeline": {
                        "type": "boolean",
                        "description": "If **true**, displays a thinner control bar than the default in the video. The default is **false**.\n\n**Example:** <code>\"thin_timeline\": false</code>",
                        "example": ""
                      },
                      "drag_handle": {
                        "type": "boolean",
                        "description": "If **true**, displays a drag handle on the progress bar. The default is **false**.\n\n**Example:** <code>\"drag_handle\": false</code>",
                        "example": ""
                      },
                      "volume": {
                        "type": "boolean",
                        "description": "If **true**, displays a volume button on the video. The default is **true**.\n\n**Example:** <code>\"volume\": true</code>",
                        "example": ""
                      },
                      "mute": {
                        "type": "boolean",
                        "description": "If **true**, displays a mute button on the video. The default is **true**.\n\n**Example:** <code>\"mute\": true</code>",
                        "example": ""
                      },
                      "fullscreen": {
                        "type": "boolean",
                        "description": "If **true**, displays a fullscreen button on the video. The default is **true**.\n\n**Example:** <code>\"fullscreen\": true</code>",
                        "example": ""
                      },
                      "show_player_title": {
                        "type": "boolean",
                        "description": "If **true**, displays a preview title on the video. The default is **false**.\n\n**Example:** <code>\"show_player_title\": false</code>",
                        "example": ""
                      },
                      "color": {
                        "type": "string",
                        "description": "The color of the timeline and volume bar of the player. You can set the color of your choice by passing a hex code for that specific color.\n\n**Example:** <code>\"color\": \"4d4d4d\"</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.\n\n**Example:** <code>\"video_poster_image\": \"[Base64-encoded string representation of GIF, JPEG, or PNG file]\"</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.\n\n**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**.\n\n**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**.\n\n**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**.\n\n**Example:** <code>\"remove_video_poster_image\": true</code>",
                    "example": true
                  },
                  "width": {
                    "type": "integer",
                    "description": "The width, in pixels, of a fixed-size player. The default is **640**.\n\n**Example:** <code>\"width\": 640</code>",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "player_id": {
                "type": "string",
                "description": "(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream. \n    \n    \nWhen you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.\n\nCreate and edit player configurations in the user interface. The ID is on the **General** tab for the player configuration.\n\n**Default**: Default player configuration\n\n**Example**: 2205b4e8-b160-43c2-868d-d88698a4e850"
              },
              "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.\n\n**Example:** <code>\"video_poster_image\": \"[Base64-encoded string representation of GIF, JPEG, or PNG file]\"</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.\n    \n\n**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**.\n\n**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**.\n\n**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**.\n\n**Example:** <code>\"remove_video_poster_image\": true</code>",
                "example": true
              },
              "width": {
                "type": "integer",
                "description": "The width, in pixels, of a fixed-size player. The default is **640**.\n\n**Example:** <code>\"width\": 640</code>",
                "example": "",
                "format": "int32"
              },
              "hosted_page": {
                "type": "object",
                "description": "Configuration of the hosted page.",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.\n\n**Example:** <code>\"title\": \"My Hosted Page\"</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.\n\n**Example:** <code>\"description\": \"My Hosted Page Description\"</code>",
                    "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.",
                    "example": ""
                  },
                  "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.\n\n**Example:** <code>\"sharing_icons\": false</code>",
                    "example": ""
                  }
                }
              }
            }
          }
        },
        "example": {
          "real_time_stream": {
            "name": "MyUpdatedRealTimeStream",
            "description": "This is my first real-time stream."
          }
        }
      },
      "Error423": {
        "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": 423,
              "code": "ERR-423-StreamAlreadyStopped",
              "title": "Stream Already Stopped Error",
              "message": "The request couldn't be processed. The stream has already been stopped.",
              "description": "",
              "links": []
            }
          }
        }
      },
      "VideoListModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the video.",
            "example": "2aa3343e-2fb5-42c3-8671-b52c24b7c3e2"
          },
          "name": {
            "type": "string",
            "description": "The video name. Can be displayed in the player. If not specified, it will default to the input file's name.",
            "example": "My video"
          },
          "description": {
            "type": "string",
            "description": "The video description. Can be displayed in the player.",
            "example": "A new video for my business."
          },
          "duration_in_ms": {
            "type": "integer",
            "description": "Duration of the video in milliseconds.",
            "format": "int64"
          },
          "unpublish": {
            "type": "boolean",
            "description": "If `true`, the `unpublish_date` is respected and the video will not be available after `unpublish_date`. If `false`, the video will not be unpublished.",
            "default": true
          },
          "unpublished_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601 format, when the video no longer is available for publishing. After this date, the video is not visible in the player if using `ovp-plugin` to request the video.",
            "format": "date-time",
            "example": "2025-01-01T12:33:22Z"
          },
          "published": {
            "type": "boolean",
            "description": "This field, together with `publish_date` and `unpublish_date`, determines if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If `true` and `publish_date` and `unpublish_date` allows, the video will be visible."
          },
          "published_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601 format, when the video is available for publishing. Before this date, the video is not visible in the player if using `ovp-plugin` to request the video.",
            "format": "date-time",
            "example": "2024-01-01T12:33:22Z"
          },
          "tags": {
            "type": "array",
            "description": "An array of tags.",
            "example": [
              "foo",
              "bar"
            ],
            "items": {
              "type": "string",
              "description": "An array of tags.",
              "example": [
                "foo",
                "bar"
              ]
            }
          },
          "category_id": {
            "type": "string",
            "description": "The unique identifier for the category that the video belongs to.",
            "default": "<The account's default category>"
          },
          "no_ads": {
            "type": "boolean",
            "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
          },
          "ad_keywords": {
            "type": "string",
            "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video. ",
            "example": "special_ads"
          },
          "created_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601 format, when the video was created.",
            "format": "date-time",
            "example": "2024-01-01T12:33:22Z"
          },
          "updated_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601 format, when the video was updated.",
            "format": "date-time",
            "example": "2024-01-01T12:33:22Z"
          },
          "state": {
            "type": "string",
            "description": "The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:\n\n\n| State | Description |\n|-----------|-------|\n| UPLOADING  | The source file is currently being uploaded or waiting to be downloaded by our API. |\n| WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. |\n| PROCESSING  | Source file for the asset is encoding. The current encoding progress can be found on `encoding_progress` property. |\n| FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. |\n| ERROR  | If the platform, for some reason, could not download the source file or failed during the encoding process. `error_messsage` property can give more information about why it errored.  |\n| DELETED  | The video files have been deleted. Usually the video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. |\n",
            "example": "FINISHED"
          },
          "playback_token_behavior": {
            "type": "string",
            "description": "Specifies the behavior of token  authentication for the video, determining the level of access control.  Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the  content within the intended application.\n\n**enum:** \n\n\n - **NO_TOKEN:** Video files are accessible and can be downloaded and played by anyone at any time. This is the default.      \n\n\n - **BASIC_TOKEN:** The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer\n to extract the video URL and store it for usage in unintended applications\n over time since the embed URL, which has the token as part of the URL, \n will only be playable for 48 hours. The token autorenews after 48 hours\n when used in the intended application. \n\n\n - **ADVANCED_TOKEN:** You add the stream's JS embed code and a token to your\n  site to provide tokenization. The protections are similar to those for the **Basic\n  Token** option except you customize the time limit, geographical limits,\n etc. during token creation. \n\n   You must either:\n     - Customize and generate a token via the Wowza Video 2.0 API to add\n     to your site before you can use this enum. You'll need to, first, generate a key id to create and \n     sign the token.\n\n     - Customize and generate a standard common access token (CAT) through \n     the means you usually use to create tokens before you can use this enum. You must, first, generate\n     a key id and key via the Wowza Video 2.0 API, to create and sign the token.\n\n - **FOLLOW_DEFAULT:** The token behavior is based on the **Default Playback Token Behavior**\n setting you select for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article\n for where to set this configuration. ",
            "example": "NO_TOKEN"
          }
        },
        "description": "List Video response from the Wowza Video REST API"
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "payload_version": {
            "type": "number",
            "description": "The pagination object version.",
            "format": "double"
          },
          "total_records": {
            "type": "integer",
            "description": "The total number of records.",
            "format": "int32",
            "example": 100
          },
          "page": {
            "type": "integer",
            "description": "The page number, starting at 1.",
            "format": "int32",
            "example": 1,
            "default": 1
          },
          "per_page": {
            "type": "integer",
            "description": "The number of records per page.",
            "format": "int32",
            "example": 10,
            "default": 20
          },
          "total_pages": {
            "type": "integer",
            "description": "The total number of pages.",
            "format": "int32",
            "example": 2
          },
          "page_first_index": {
            "type": "integer",
            "description": "The index of the first record in the response.",
            "format": "int32",
            "example": 10
          },
          "page_last_index": {
            "type": "integer",
            "description": "The index of the last record in the response.",
            "format": "int32",
            "example": 10
          }
        }
      },
      "VideoList": {
        "type": "object",
        "properties": {
          "videos": {
            "type": "array",
            "description": "The list of videos",
            "items": {
              "$ref": "#/components/schemas/VideoListModel"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        }
      },
      "DirectInputRequest": {
        "required": [
          "method"
        ],
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "description": "Method that video file will be provided. Indicates that you'll upload a video from local storage. Use the `upload_url` parameter in the response to do the actual upload of the video. ",
            "example": "DIRECT",
            "enum": [
              "DIRECT"
            ]
          }
        }
      },
      "FetchInputRequest": {
        "required": [
          "fetch_url",
          "method"
        ],
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "description": "Method that video file will be provided. Fetches the video from the URL specified and makes a copy in Wowza Video.",
            "example": "FETCH",
            "enum": [
              "FETCH"
            ]
          },
          "fetch_url": {
            "type": "string",
            "description": "URL to the video that the platform will download, encode, and serve to the player. We accept HTTP and HTTPS addresses. Required if the select method is `FETCH`.",
            "example": "https://example.com/video.mp4"
          },
          "fetch_image_url": {
            "type": "string",
            "description": "URL to an image the platform will download and serve in the player as poster image. We accept HTTP and HTTPS addresses. Required if the select method is `FETCH`.",
            "example": "https://example.com/image.jpg"
          }
        }
      },
      "InputVideoRequest": {
        "type": "object",
        "description": "Specifies the input method for uploading the video.\n\nThere are two methods to choose from: `DIRECT` or `FETCH`. \n\nExpand the `input` description, by clicking the **>** next to the `input` label, then click each tab to learn about the methods.\n\nLearn more:\n\n- [Upload a video from local storage](https://developer.wowza.com/docs/wowza-video/guides/videos/upload-a-video-locally)\n- [Upload a video from external storage](https://developer.wowza.com/docs/wowza-video/guides/videos/upload-a-video-external)",
        "oneOf": [
          {
            "$ref": "#/components/schemas/DirectInputRequest"
          },
          {
            "$ref": "#/components/schemas/FetchInputRequest"
          }
        ]
      },
      "CreateVideoRequestModel": {
        "required": [
          "input"
        ],
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "input": {
                "$ref": "#/components/schemas/InputVideoRequest"
              },
              "name": {
                "type": "string",
                "description": "The video name. Can be displayed in the player. If not specified, it will default to the input file's name.",
                "example": "My video"
              },
              "description": {
                "type": "string",
                "description": "The video description. Can be displayed in the player.",
                "example": "A new video for my business."
              },
              "unpublish": {
                "type": "boolean",
                "description": "If `true`, the `unpublished_at` is respected and the video will not be available after `unpublished_at`. If `false`, the video will not be unpublished.",
                "default": true
              },
              "unpublished_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601, format when video no longer is available for publishing. After this date, the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "published": {
                "type": "boolean",
                "description": "Determines, together with `published_at` and `unpublished_at`, if this video will be visible in public listings such as MRSS-feeds, endscreens and playlists. If `true`, and if `published_at` and `unpublished_at` allows, the video will be visible."
              },
              "published_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "tags": {
                "type": "array",
                "description": "An array of tags.",
                "example": [
                  "foo",
                  "bar"
                ],
                "items": {
                  "type": "string",
                  "description": "An array of tags.",
                  "example": [
                    "foo",
                    "bar"
                  ]
                }
              },
              "category_id": {
                "type": "string",
                "description": "The unique identifier for the category that the video belongs to.",
                "default": "<The account's default category>"
              },
              "ad_insertion_points": {
                "type": "array",
                "description": "A list of ad insertion points specified for a video. Ad insertion points are pre-defined locations in a video where advertisements are placed during playback. Ads can be inserted at pre-roll (at the beginning of the video), mid-roll (during the video), or post-roll (at the end of the video) position(s).\n\n\n\n\n**Note**: Ad insertion points are only applicable for <a href=\"https://www.wowza.com/docs/get-started-with-advertising-in-wowza-video#client-side-ad-insertion-csai-%C2%A00\">client-side ad insertion</a>. If you create mid-roll ad insertion points for a video, for example, they overwrite any mid-roll ad positions created using the <a href=\"https://www.wowza.com/docs/create-a-video-ad-serving-template-vast-ad-schedule-in-wowza-video\">Video Ad Serving Template ad schedule</a> form. This is because the ad insertion points created using the Wowza Video 2.0 API are time-specific and more accurate than the percentages chosen in the Video Ad Serving Template ad schedule page.",
                "items": {
                  "type": "object",
                  "description": "",
                  "required": [
                    "offset_from_start_in_ms"
                  ],
                  "properties": {
                    "offset_from_start_in_ms": {
                      "type": "integer",
                      "description": "Specifies the time offset from the start of the video in milliseconds. This parameter determines the point in the video at which the ad break begins.",
                      "format": "int64",
                      "example": 20000
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the ad position. For example, it can be an ad position in a video such as pre-roll, mid-roll, and post-roll.",
                      "example": "mid-roll"
                    }
                  }
                }
              },
              "no_ads": {
                "type": "boolean",
                "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
              },
              "ad_keywords": {
                "type": "string",
                "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video. ",
                "example": "special_ads"
              },
              "playback_token_behavior": {
                "type": "string",
                "description": "Specifies the behavior of token  authentication for the video, determining the level of access control.  Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the  content within the intended application.\n\n**enum:** \n\n\n - **NO_TOKEN:** Video files are accessible and can be downloaded and played by anyone at any time. This is the default.      \n\n\n - **BASIC_TOKEN:** The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer\n   to extract the video URL and store it for usage in unintended applications\n   over time since the embed URL, which has the token as part of the URL, \n   will only be playable for 48 hours. The token autorenews after 48 hours\n   when used in the intended application. \n\n\n - **ADVANCED_TOKEN:** You add the stream's JS embed code and a token to your\n  site to provide tokenization. The protections are similar to those for the **Basic\n Token** option except you customize the time limit, geographical limits,\n etc. during token creation. \n\n   You must either:\n    - Customize and generate a token via the Wowza Video 2.0 API to add\n      to your site before you can use this enum. You'll need to, first, generate a key id to create and \n       sign the token.\n\n    - Customize and generate a standard common access token (CAT) through \n        the means you usually use to create tokens before you can use this enum. You must, first, generate\n        a key id and key via the Wowza Video 2.0 API, to create and sign the token.\n\n - **FOLLOW_DEFAULT:** The token behavior is based on the **Default Playback Token Behavior**\n    setting you select for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article\n    for where to set this configuration. ",
                "example": "NO_TOKEN"
              }
            }
          }
        },
        "description": "Create Video request for the Wowza Video REST API"
      },
      "ImageModel": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Image type where valid values are `thumbnail` or `image`. `thumbnail` is a smaller image and `image` is larger. Size of the images depends on the size of the uploaded image.",
            "enum": [
              "thumbnail",
              "image",
              "image_0",
              "image_1",
              "image_2",
              "image_3",
              "image_4",
              "image_5"
            ]
          },
          "url": {
            "type": "string",
            "description": "The URL to the image. We accept HTTP and HTTPS addresses.",
            "example": "https://example.com/image.jpg"
          }
        },
        "description": "Images used together with the video in the platform and the player.\n\nFor platform video images specified in create and update requests, these are uploaded and delivered through the platform. For remote assets, the specified image URLs are just passed along to the player using the URL specified in the request.\n"
      },
      "EncodingModel": {
        "type": "object",
        "properties": {
          "audio_bitrate_in_kbps": {
            "type": "integer",
            "description": "Audio bitrate in kb/s.",
            "format": "int32",
            "example": 2300
          },
          "audio_channel": {
            "type": "integer",
            "description": "Number of audio channels.",
            "format": "int32",
            "example": 2
          },
          "audio_codec": {
            "type": "string",
            "description": "Audio codec used in the file.",
            "example": "aac"
          },
          "audio_sample_rate": {
            "type": "integer",
            "description": "Audio sample rate for this file. Refers to the number of samples of audio taken per second, measured in hertz (Hz). It determines the audio's frequency range and quality, where a higher sample rate captures more detail.",
            "format": "int32",
            "example": 44100
          },
          "height": {
            "type": "integer",
            "description": "Height of the video in pixels.",
            "format": "int32",
            "example": 1080
          },
          "width": {
            "type": "integer",
            "description": "Width of the video in pixels.",
            "format": "int32",
            "example": 1920
          },
          "video_file_url": {
            "type": "string",
            "description": "URL to the video file. We accept HTTP and HTTPS addresses.",
            "example": "https://flowplayer.com/video.mp4"
          },
          "video_container": {
            "type": "string",
            "description": "Video container type used for this video file.",
            "example": "mp4"
          },
          "video_codec": {
            "type": "string",
            "description": "Video codec used in this video file.",
            "example": "h264"
          },
          "total_bitrate_in_kbps": {
            "type": "integer",
            "description": "Total bitrate, video+audio, for the file in kb/s.",
            "format": "int32",
            "example": 1023
          },
          "created_at": {
            "type": "string",
            "description": "Creation timestamp of the file.",
            "format": "date-time"
          },
          "size_in_bytes": {
            "type": "integer",
            "description": "Total file size including both audio and video in bytes. For segmented files, such as DASH and HLS, this is the complete size covering all segments and renditions.",
            "format": "int64",
            "example": 8325555
          }
        },
        "description": "Array containing all available Video files and their metadata"
      },
      "DRMProviderConfigModel": {
        "type": "object",
        "properties": {
          "license_server": {
            "type": "string",
            "description": "URL to the license server that can validate the license."
          },
          "certificate": {
            "type": "string",
            "description": "Note: This field is only needed for Fairplay DRM. URL to the Fairplay certificate. "
          }
        },
        "description": "Contains configuration for one DRM provider."
      },
      "DRMConfigModel": {
        "type": "object",
        "properties": {
          "com.widevine.alpha": {
            "$ref": "#/components/schemas/DRMProviderConfigModel"
          },
          "com.apple.fps.1_0": {
            "$ref": "#/components/schemas/DRMProviderConfigModel"
          },
          "com.microsoft.playready": {
            "$ref": "#/components/schemas/DRMProviderConfigModel"
          }
        },
        "description": "Contains all DRM configurations for one video."
      },
      "ThumbnailResponse": {
        "type": "object",
        "properties": {
          "src": {
            "type": "string",
            "description": "Link to the VTT file."
          }
        },
        "description": "Link to the VTT file used by the Thumbnails plug-in. See [Thumbnails](https://developer.wowza.com/docs/wowza-flowplayer/plugins/preview-thumbnails/) to learn more."
      },
      "AnimatedPreviewModel": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "integer",
            "description": "Height of the animated preview in pixels.",
            "format": "int32",
            "example": 1080
          },
          "width": {
            "type": "integer",
            "description": "Width of the animated preview in pixels.",
            "format": "int32",
            "example": 1920
          }
        },
        "description": "The animated previews for the video."
      },
      "CreateVideoResponseModel": {
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier for the video.",
                "example": "2aa3343e-2fb5-42c3-8671-b52c24b7c3e2"
              },
              "name": {
                "type": "string",
                "description": "The video name. Can be displayed in the player. If not specified, it will default to the input file's name.",
                "example": "My video"
              },
              "description": {
                "type": "string",
                "description": "The video description. Can be displayed in the player.",
                "example": "A new video for my business."
              },
              "duration_in_ms": {
                "type": "integer",
                "description": "Duration of the video in milliseconds.",
                "format": "int64"
              },
              "unpublish": {
                "type": "boolean",
                "description": "If `true`, the `unpublish_date` is respected and the video will not be available after `unpublish_date`. If `false`, the video will not be unpublished.",
                "default": true
              },
              "unpublished_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video no longer is available for publishing. After this date, the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "published": {
                "type": "boolean",
                "description": "This field, together with `publish_date` and `unpublish_date`, determines if this video will be visible in public listings such as MRSS-feeds, endscreens and playlists. If `true`, and `publish_date` and `unpublish_date` allows, the video will be visible."
              },
              "published_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "tags": {
                "type": "array",
                "description": "An array of tags.",
                "example": [
                  "foo",
                  "bar"
                ],
                "items": {
                  "type": "string",
                  "description": "An array of tags.",
                  "example": [
                    "foo",
                    "bar"
                  ]
                }
              },
              "category_id": {
                "type": "string",
                "description": "The unique identifier for the category that the video belongs to.",
                "default": "<The account's default category>"
              },
              "ad_insertion_points": {
                "type": "array",
                "description": "A list of ad insertion points specified for a video. Ad insertion points are pre-defined locations in a video where advertisements are placed during playback. Ads can be inserted at pre-roll (at the beginning of the video), mid-roll (during the video), or post-roll (at the end of the video) position(s).\n\n\n\n\n**Note**: Ad insertion points are only applicable for <a href=\"https://www.wowza.com/docs/get-started-with-advertising-in-wowza-video#client-side-ad-insertion-csai-%C2%A00\">client-side ad insertion</a>. If you create mid-roll ad insertion points for a video, for example, they overwrite any mid-roll ad positions created using the <a href=\"https://www.wowza.com/docs/create-a-video-ad-serving-template-vast-ad-schedule-in-wowza-video\">Video Ad Serving Template ad schedule</a> form. This is because the ad insertion points created using the Wowza Video 2.0 API are time-specific and more accurate than the percentages chosen in the Video Ad Serving Template ad schedule page.",
                "items": {
                  "type": "object",
                  "description": "",
                  "properties": {
                    "offset_from_start_in_ms": {
                      "type": "integer",
                      "description": "Specifies the time offset from the start of the video in milliseconds. This parameter determines the point in the video at which the ad break begins.",
                      "format": "int64",
                      "example": 20000
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the ad position. For example, it can be an ad position in a video such as pre-roll, mid-roll, and post-roll.",
                      "example": "mid-roll"
                    }
                  }
                }
              },
              "no_ads": {
                "type": "boolean",
                "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
              },
              "ad_keywords": {
                "type": "string",
                "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video. ",
                "example": "special_ads"
              },
              "created_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was created.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "updated_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was updated.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "state": {
                "type": "string",
                "description": "The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:\n\n\n| State | Description |\n|-----------|-------|\n| UPLOADING  | The source file is currently being uploaded or waiting to be downloaded by our API. |\n| WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. |\n| PROCESSING  | Source file for the asset is encoding. The current encoding progress can be found on `encoding_progress` property. |\n| FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. |\n| ERROR  | If the platform, for some reason, could not download the source file or failed during the encoding process. `error_messsage` property can give more information about why it errored.  |\n| DELETED  | The video files have been deleted. Usually the Video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. |\n",
                "example": "FINISHED"
              },
              "encoding_progress": {
                "type": "number",
                "description": "Progress of video encoding, in percentage. The max value, `100`, is reached when all video files have been encoded.",
                "format": "double"
              },
              "upload_progress": {
                "type": "number",
                "description": "Progress of source file upload, in percentage. If the value is `100`, the source file is uploaded.",
                "format": "double"
              },
              "error_message": {
                "type": "string",
                "description": "If the platform failed to encode the source file, a message describing the error reason will be presented in this property."
              },
              "deactivated": {
                "type": "boolean",
                "description": "If `true`, this video has been deactivated and is no longer available for embedding. This usually happens if the account was cancelled or trial limits were exceeded.",
                "default": false
              },
              "images": {
                "type": "array",
                "description": "Images used together with the video in the platform and the player.\n\nFor platform video images specified in create and update requests, these are uploaded and delivered through the platform. For remote assets, the specified image URLs are passed along to the player using the URL specified in the request.\n",
                "items": {
                  "$ref": "#/components/schemas/ImageModel"
                }
              },
              "encodings": {
                "type": "array",
                "description": "Array containing all available video files and their metadata.",
                "items": {
                  "$ref": "#/components/schemas/EncodingModel"
                }
              },
              "drm": {
                "$ref": "#/components/schemas/DRMConfigModel"
              },
              "shallow_copy": {
                "type": "boolean",
                "description": "Whether this video is a shallow copy of another video. A shallow copy uses video files controlled by another video, usually on another workspace.\n\n\nVideos that are shallow copies can't use all features available for normal videos. For example, it's not possible to upload a new version of the video.\n\n\nAnother difference is that deleting the video will not delete any video files. If the video asset that is the source of the copy is deleted, the files will no longer be available for this asset.\n\n"
              },
              "shallow_copy_source_id": {
                "type": "string",
                "description": "If the video is a shallow copy, this field contains the ID of the source video entity.\n\nNote: There are cases where it is not possible to identify the source and in those cases this value will be `null`."
              },
              "multiple_audio_tracks": {
                "type": "boolean",
                "description": "If `true`, this video has several different audio tracks available for the player. For example, there may be audio tracks in different languages."
              },
              "audio_only": {
                "type": "boolean",
                "description": "If `true`, this video has no video track but only audio tracks."
              },
              "version": {
                "type": "integer",
                "description": "Tracks the number of times a new source file was uploaded for this video asset. For each time a new source file is uploaded, the value increases by one.",
                "format": "int32"
              },
              "thumbnails": {
                "$ref": "#/components/schemas/ThumbnailResponse"
              },
              "animated_previews": {
                "type": "array",
                "description": "The animated previews for the video.",
                "items": {
                  "$ref": "#/components/schemas/AnimatedPreviewModel"
                }
              },
              "playback_token_behavior": {
                "type": "string",
                "description": "Specifies the behavior of token  authentication for the video, determining the level of access control.  Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the  content within the intended application.\n\n**enum:** \n\n\n - **NO_TOKEN:** Video files are accessible and can be downloaded and played by anyone at any time. This is the default.      \n\n\n - **BASIC_TOKEN:** The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer\n   to extract the video URL and store it for usage in unintended applications\n  over time since the embed URL, which has the token as part of the URL, \n  will only be playable for 48 hours. The token autorenews after 48 hours\n  when used in the intended application. \n\n\n - **ADVANCED_TOKEN:** You add the stream's JS embed code and a token to your\n  site to provide tokenization. The protections are similar to those for the **Basic\n  Token** option except you customize the time limit, geographical limits,\n  etc. during token creation. \n\n    You must either:\n     - Customize and generate a token via the Wowza Video 2.0 API to add\n       to your site before you can use this enum. You'll need to, first, generate a key id to create and \n       sign the token.\n\n     - Customize and generate a standard common access token (CAT) through \n       the means you usually use to create tokens before you can use this enum. You must, first, generate\n        a key id and key via the Wowza Video 2.0 API, to create and sign the token.\n\n - **FOLLOW_DEFAULT:** The token behavior is based on the **Default Playback Token Behavior**\n  setting you select for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article\n   for where to set this configuration. ",
                "example": "NO_TOKEN"
              },
              "upload_url": {
                "type": "string",
                "description": "If input method `DIRECT` was select, this field contains the signed URL that will be used to upload the file."
              }
            }
          }
        },
        "description": "Video Response from the Wowza Video REST API"
      },
      "VideoResponseModel": {
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier for the video.",
                "example": "2aa3343e-2fb5-42c3-8671-b52c24b7c3e2"
              },
              "name": {
                "type": "string",
                "description": "The video name. Can be displayed in the player. If not specified, it will default to the input file's name.",
                "example": "My video"
              },
              "description": {
                "type": "string",
                "description": "The video description. Can be displayed in the player.",
                "example": "A new video for my business."
              },
              "duration_in_ms": {
                "type": "integer",
                "description": "Duration of the video in milliseconds.",
                "format": "int64"
              },
              "unpublish": {
                "type": "boolean",
                "description": "If `true`, the `unpublish_date` is respected and the video will not be available after `unpublish_date`. If `false`, the video will not be unpublished.",
                "default": true
              },
              "unpublished_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video no longer is available for publishing. After this date the video is not visible in the player if using ovp-plugin to request the video.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "published": {
                "type": "boolean",
                "description": "This field, together with `publish_date` and `unpublish_date`, determines if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If `true` and `publish_date` and `unpublish_date` allows, the video will be visible."
              },
              "published_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "tags": {
                "type": "array",
                "description": "An array of tags.",
                "example": [
                  "foo",
                  "bar"
                ],
                "items": {
                  "type": "string",
                  "description": "An array of tags.",
                  "example": [
                    "foo",
                    "bar"
                  ]
                }
              },
              "category_id": {
                "type": "string",
                "description": "The unique identifier for the category that the video belongs to.",
                "default": "<The account's default category>"
              },
              "ad_insertion_points": {
                "type": "array",
                "description": "A list of ad insertion points specified for a video. Ad insertion points are pre-defined locations in a video where advertisements are placed during playback. Ads can be inserted at pre-roll (at the beginning of the video), mid-roll (during the video), or post-roll (at the end of the video) position(s).\n\n\n\n\n**Note**: Ad insertion points are only applicable for <a href=\"https://www.wowza.com/docs/get-started-with-advertising-in-wowza-video#client-side-ad-insertion-csai-%C2%A00\">client-side ad insertion</a>. If you create mid-roll ad insertion points for a video, for example, they overwrite any mid-roll ad positions created using the <a href=\"https://www.wowza.com/docs/create-a-video-ad-serving-template-vast-ad-schedule-in-wowza-video\">Video Ad Serving Template ad schedule</a> form. This is because the ad insertion points created using the Wowza Video 2.0 API are time-specific and more accurate than the percentages chosen in the Video Ad Serving Template ad schedule page.",
                "items": {
                  "type": "object",
                  "description": "",
                  "properties": {
                    "offset_from_start_in_ms": {
                      "type": "integer",
                      "description": "Specifies the time offset from the start of the video in milliseconds. This parameter determines the point in the video at which the ad break begins.",
                      "format": "int64",
                      "example": 20000
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the ad position. For example, it can be an ad position in a video such as pre-roll, mid-roll, and post-roll.",
                      "example": "mid-roll"
                    }
                  }
                }
              },
              "no_ads": {
                "type": "boolean",
                "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
              },
              "ad_keywords": {
                "type": "string",
                "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any Player that plays the video. ",
                "example": "special_ads"
              },
              "created_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was created.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "updated_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was updated.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "state": {
                "type": "string",
                "description": "The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:\n\n\n| State | Description |\n|-----------|-------|\n| UPLOADING  | The source file is currently being uploaded or waiting to be downloaded by our API. |\n| WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. |\n| PROCESSING  | Source file for the asset is encoding. The current encoding progress can be found on `encoding_progress` property. |\n| FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. |\n| ERROR  | If the platform, for some reason, could not download the source file or failed during the encoding process. `error_messsage` property can give more information about why it errored.  |\n| DELETED  | The video files have been deleted. Usually the video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. |\n",
                "example": "FINISHED"
              },
              "encoding_progress": {
                "type": "number",
                "description": "Progress of video encoding, in percentage. The the max value, `100`, is reached when all video files have been encoded.",
                "format": "double"
              },
              "upload_progress": {
                "type": "number",
                "description": "Progress of source file upload, in percentage. If the value is `100` the source file is uploaded.",
                "format": "double"
              },
              "error_message": {
                "type": "string",
                "description": "If the platform failed to encode the source file, a message describing the error reason will be presented in this property."
              },
              "deactivated": {
                "type": "boolean",
                "description": "If `true`, this video has been deactivated and is no longer available for embedding. This usually happens if the account was cancelled or trial limits were exceeded.",
                "default": false
              },
              "images": {
                "type": "array",
                "description": "Images used together with the video in the platform and the player.\n\nFor platform video images specified in create and update requests, these are uploaded and delivered through the platform. For remote assets the specified image URLs are just passed along to the player using the URL specified in the request.\n",
                "items": {
                  "$ref": "#/components/schemas/ImageModel"
                }
              },
              "encodings": {
                "type": "array",
                "description": "Array containing all available video files and their metadata.",
                "items": {
                  "$ref": "#/components/schemas/EncodingModel"
                }
              },
              "drm": {
                "$ref": "#/components/schemas/DRMConfigModel"
              },
              "shallow_copy": {
                "type": "boolean",
                "description": "Whether this video is a shallow copy of another video. A shallow copy uses Video files controlled by another Video, usually on another Workspace.\n\n\nVideos that are shallow copies can't use all features available for normal videos. For example, it's not possible to upload a new version of the video.\n\n\nAnother difference is that deleting the video will not delete any video files. If the video asset that is the source of the copy is deleted, the files will no longer be available for this asset.\n\n"
              },
              "shallow_copy_source_id": {
                "type": "string",
                "description": "If the video is a shallow copy, this field contains the ID of the source Video entity.\n\nNote: There are cases where it is not possible to identify the source and in those cases this value will be `null`."
              },
              "multiple_audio_tracks": {
                "type": "boolean",
                "description": "If `true`, this video has several different audio tracks available for the player. For example, there may be audio tracks in different languages."
              },
              "audio_only": {
                "type": "boolean",
                "description": "If `true`,  this video has no video track but only audio tracks."
              },
              "version": {
                "type": "integer",
                "description": "Tracks the number of times a new source file was uploaded for this video asset. For each time a new source file is uploaded, the value increases by one.",
                "format": "int32"
              },
              "thumbnails": {
                "$ref": "#/components/schemas/ThumbnailResponse"
              },
              "animated_previews": {
                "type": "array",
                "description": "The animated previews for the video.",
                "items": {
                  "$ref": "#/components/schemas/AnimatedPreviewModel"
                }
              },
              "playback_token_behavior": {
                "type": "string",
                "description": "Specifies the behavior of token  authentication for the video, determining the level of access control.  Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the  content within the intended application.\n\n**enum:** \n\n\n  - **NO_TOKEN:** Video files are accessible and can be downloaded and played by anyone at any time. This is the default.      \n\n\n  - **BASIC_TOKEN:** The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer\n    to extract the video URL and store it for usage in unintended applications\n    over time since the embed URL, which has the token as part of the URL, \n    will only be playable for 48 hours. The token autorenews after 48 hours\n    when used in the intended application. \n\n\n  - **ADVANCED_TOKEN:** You add the stream's JS embed code and a token to your\n   site to provide tokenization. The protections are similar to those for the **Basic\n   Token** option except you customize the time limit, geographical limits,\n   etc. during token creation. \n\n    You must either:\n      - Customize and generate a token via the Wowza Video 2.0 API to add\n       to your site before you can use this enum. You'll need to, first, generate a key id to create and \n       sign the token.\n\n      - Customize and generate a standard common access token (CAT) through \n       the means you usually use to create tokens before you can use this enum. You must, first, generate\n        a key id and key via the Wowza Video 2.0 API, to create and sign the token.\n\n  - **FOLLOW_DEFAULT:** The token behavior is based on the **Default Playback Token Behavior**\n    setting you select for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article\n    for where to set this configuration. ",
                "example": "NO_TOKEN"
              },
              "origin": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The unique alphanumeric string that identifies the live stream or the real-time stream from which the video originated. Send this ID as the `origin_id` in `GET /videos` to return all the videos associated with this stream.",
                    "example": "wqrs0k75"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of the stream from which the video originated.",
                    "example": "live_stream",
                    "enum": [
                      "live_stream",
                      "real_time_stream"
                    ]
                  },
                  "uptime_id": {
                    "type": "string",
                    "description": "The unique identifier associated with a specific uptime period of a transcoder.\n\n**Note**: `uptime_id` is returned only if the stream from which the video originated is a live stream.",
                    "example": "hvpcp3kn"
                  }
                },
                "description": "The origin of the video."
              }
            }
          }
        },
        "description": "Video Response from the Wowza Video REST API"
      },
      "ReuploadVideoRequestModel": {
        "required": [
          "input"
        ],
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "input": {
                "$ref": "#/components/schemas/InputVideoRequest"
              }
            }
          }
        },
        "description": "Reupload Video request for the Wowza Video REST API. In this request it's only possible to add a new version of the video file. To change the metadata, use the PATCH endpoint."
      },
      "PatchVideoRequestModel": {
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "The video name. Can be displayed in the player. If not specified, it will default to the input file's name.",
                "example": "My video"
              },
              "description": {
                "type": "string",
                "description": "The video description. Can be displayed in the player.",
                "example": "A new video for my business."
              },
              "unpublish": {
                "type": "boolean",
                "description": "If `true` the `unpublished_at` is respected and the video will not be available after `unpublished_at`. If `false` the video will not be unpublished.",
                "default": true
              },
              "unpublished_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601, format when video no longer is available for publishing. After this date, the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "published": {
                "type": "boolean",
                "description": "Determines, together with `published_at` and `unpublished_at`, if this video will be visible in public listings such as MRSS-feeds, endscreens and playlists. If `true`, and if `published_at` and `unpublished_at` allows, the video will be visible."
              },
              "published_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using `ovp-plugin` to request the video.",
                "format": "date-time",
                "example": "2024-01-01T12:33:22Z"
              },
              "tags": {
                "type": "array",
                "description": "An array of tags.",
                "example": [
                  "foo",
                  "bar"
                ],
                "items": {
                  "type": "string",
                  "description": "An array of tags.",
                  "example": [
                    "foo",
                    "bar"
                  ]
                }
              },
              "category_id": {
                "type": "string",
                "description": "The unique identifier for the category that the video belongs to.",
                "default": "<The account's default category>"
              },
              "ad_insertion_points": {
                "type": "array",
                "description": "A list of ad insertion points specified for a video. Ad insertion points are pre-defined locations in a video where advertisements are placed during playback. Ads can be inserted at pre-roll (at the beginning of the video), mid-roll (during the video), or post-roll (at the end of the video) position(s).\n\n\n\n**Note**: Ad insertion points are only applicable for <a href=\"https://www.wowza.com/docs/get-started-with-advertising-in-wowza-video#client-side-ad-insertion-csai-%C2%A00\">client-side ad insertion</a>. If you create mid-roll ad insertion points for a video, for example, they overwrite any mid-roll ad positions created using the <a href=\"https://www.wowza.com/docs/create-a-video-ad-serving-template-vast-ad-schedule-in-wowza-video\">Video Ad Serving Template ad schedule</a> form. This is because the ad insertion points created using the Wowza Video 2.0 API are time-specific and more accurate than the percentages chosen in the Video Ad Serving Template ad schedule page.",
                "items": {
                  "type": "object",
                  "description": "",
                  "required": [
                    "offset_from_start_in_ms"
                  ],
                  "properties": {
                    "offset_from_start_in_ms": {
                      "type": "integer",
                      "description": "Specifies the time offset from the start of the video in milliseconds. This parameter determines the point in the video at which the ad break begins.",
                      "format": "int64",
                      "example": 20000
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the ad position. For example, it can be an ad position in a video such as pre-roll, mid-roll, and post-roll.",
                      "example": "mid-roll"
                    }
                  }
                }
              },
              "no_ads": {
                "type": "boolean",
                "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
              },
              "ad_keywords": {
                "type": "string",
                "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video. ",
                "example": "special_ads"
              },
              "playback_token_behavior": {
                "type": "string",
                "description": "Specifies the behavior of token  authentication for the video, determining the level of access control.  Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the \n content within the intended application.\n\n\n**enum:** \n\n\n  - **NO_TOKEN:** Video files are accessible and can be downloaded and played by anyone at any time. This is the default.      \n\n\n  - **BASIC_TOKEN:** The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer\n    to extract the video URL and store it for usage in unintended applications\n    over time since the embed URL, which has the token as part of the URL, \n    will only be playable for 48 hours. The token autorenews after 48 hours\n    when used in the intended application. \n\n\n  - **ADVANCED_TOKEN:** You add the stream's JS embed code and a token to your\n  site to provide tokenization. The protections are similar to those for the **Basic\n Token** option except you customize the time limit, geographical limits,\n etc. during token creation. \n\n    You must either:\n      - Customize and generate a token via the Wowza Video 2.0 API to add\n       to your site before you can use this enum. You'll need to, first, generate a key id to create and \n       sign the token.\n\n      - Customize and generate a standard common access token (CAT) through \n        the means you usually use to create tokens before you can use this enum. You must, first, generate\n        a key id and key via the Wowza Video 2.0 API, to create and sign the token.\n\n  - **FOLLOW_DEFAULT:** The token behavior is based on the **Default Playback Token Behavior**\n    setting you select for your Wowza account. See the <a href=\"https://www.wowza.com/docs/org-setting-page-in-wowza-video\" target=\"_blank\">Org Settings page in Wowza Video</a> article\n    for where to set this configuration. ",
                "example": "NO_TOKEN"
              }
            }
          }
        },
        "description": "Patch Video request for the Wowza Video REST API"
      },
      "CategoryResponse": {
        "type": "object",
        "properties": {
          "category": {
            "type": "object",
            "title": "category",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique identifier for the category.",
                "example": "cb65a918-ad7d-406a-80d8-09c9c8d0dbbd"
              },
              "name": {
                "type": "string",
                "description": "Name of the category.",
                "example": "My first category"
              },
              "description": {
                "type": "string",
                "description": "A description for the category.",
                "example": "This is a category description."
              },
              "parent_id": {
                "type": "string",
                "description": "Identifier to the parent category if one exists.\n\n\nIf the category is on top level and no parent exists, the value is an empty string.\n\n\n**Example**: <code>\"parent_id\": \"\"</code>\n\n\nIf the category is under an existing parent category, the value is the id of the parent category.\n\n\n**Example**: <code>\"parent_id\": \"cb65a918-ad7d-406a-80d8-09c9c8d0dbb\"</code>\n\n\n\n**Note**: When updating a category the parent can be removed by setting `parent_id`\nto an empty string.",
                "example": "cb65a918-ad7d-406a-80d8-09c9c8d0dbb"
              }
            }
          }
        }
      },
      "CategoryListModel": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "description": "The list of categories.",
            "items": {
              "$ref": "#/components/schemas/CategoryResponse"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        }
      },
      "CategoryRequest": {
        "type": "object",
        "properties": {
          "category": {
            "type": "object",
            "title": "category",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the category.",
                "example": "My first category"
              },
              "description": {
                "type": "string",
                "description": "A description for the category.",
                "example": "This is a category description"
              },
              "parent_id": {
                "type": "string",
                "description": "Identifier to the parent category if one exists.\n\n\nIf the category is on top level and no parent exists, the value is an empty string.\n\n\n**Example**: <code>\"parent_id\": \"\"</code>\n\n\nIf the category is under an existing parent category, the value is the id of the parent category.\n\n\n**Example**: <code>\"parent_id\": \"cb65a918-ad7d-406a-80d8-09c9c8d0dbb\"</code>\n\n\n\n**Note**: When updating a category the parent can be removed by setting `parent_id`\nto an empty string.",
                "example": "cb65a918-ad7d-406a-80d8-09c9c8d0dbb"
              }
            }
          }
        }
      },
      "CreatePlaybackTokenKeyRequestWrapper": {
        "type": "object",
        "description": "Create playback token key for the Wowza Video REST API",
        "properties": {
          "playback_token_key": {
            "type": "object",
            "$ref": "#/components/schemas/CreatePlaybackTokenKeyRequestModel"
          }
        }
      },
      "CreatePlaybackTokenKeyRequestModel": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the playback token key for the organization.",
            "example": "Key name"
          }
        }
      },
      "CreatePlaybackTokenKeyResponseWrapper": {
        "type": "object",
        "description": "Create playback token key for the Wowza Video REST API",
        "properties": {
          "playback_token_key": {
            "type": "object",
            "$ref": "#/components/schemas/CreatePlaybackTokenKeyResponseModel"
          }
        }
      },
      "CreatePlaybackTokenKeyResponseModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the playback token key. The id will contain the organization id in the key id.",
            "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
          },
          "organization_id": {
            "type": "string",
            "description": "The organization id for Wowza Video.",
            "example": 123456
          },
          "name": {
            "type": "string",
            "description": "The name of the key for the organization.",
            "example": "key name"
          },
          "created_at": {
            "type": "string",
            "description": "The key creation timestamp.",
            "format": "date-time",
            "example": "2020-01-01T12:33:22Z"
          },
          "value": {
            "type": "string",
            "description": "The key value for the key.\n\nIf you generate a playback token for advanced token authentication by creating a  standard common access token (CAT) through the means you usually use to create tokens, you'll need to add this key value during token creation to sign the token. The key  value is only returned in this endpoint to keep it in a place that you can access it later when you create your playback token. "
          }
        }
      },
      "ListPlaybackTokenKeyResponseWrapper": {
        "type": "object",
        "properties": {
          "playback_token_keys": {
            "type": "array",
            "description": "The list of playback token keys.",
            "items": {
              "$ref": "#/components/schemas/PlaybackTokenKeyResponseModel"
            }
          },
          "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 number, starting at 1. The default is 1.",
                "example": ""
              },
              "per_page": {
                "type": "integer",
                "description": "The number of records included per page. The default is 20.",
                "example": ""
              },
              "total_pages": {
                "type": "integer",
                "description": "The total number of pages generated by the query.",
                "example": ""
              },
              "page_first_index": {
                "type": "integer",
                "description": "The index of the first record in the response.",
                "example": ""
              },
              "page_last_index": {
                "type": "integer",
                "description": "The index of the last record in the response.",
                "example": ""
              }
            }
          }
        }
      },
      "PlaybackTokenKeyResponseModel": {
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the playback token key. It will contain the organization identifier."
          },
          "organization_id": {
            "type": "string",
            "description": "The organization id."
          },
          "name": {
            "type": "string",
            "description": "The name of the playback token key for the organization."
          },
          "created_at": {
            "type": "string",
            "description": "The playback token creation timestamp.",
            "format": "date-time",
            "example": "2020-01-01T12:33:22Z"
          }
        }
      },
      "GenerateTokenRequest": {
        "required": [
          "exp",
          "key_id"
        ],
        "type": "object",
        "properties": {
          "key_id": {
            "type": "string",
            "description": "The unique identifier for the id key returned when you used the POST /playback_tokens/keys endpoint to create a playback token key. This key will sign the token you create.",
            "example": "51cd5c07-1583-4f5e-bd81-f1aa11510ea9"
          },
          "exp": {
            "type": "integer",
            "description": "The expiration time of the token which is the <a href=\"https://www.unixtimestamp.com/\" target=\"_blank\">unix timestamp</a> in seconds. If the current time is greater than the expiration time, the request will be considered invalid.",
            "format": "int64",
            "example": 1679816499
          },
          "nbf": {
            "type": "integer",
            "description": "The time before which the token must not be accepted for processing which is the <a href=\"https://www.unixtimestamp.com/\" target=\"_blank\">unix timestamp</a> in seconds.",
            "format": "int64",
            "example": 1679816499
          },
          "iat": {
            "type": "integer",
            "description": "The issue date of the token which is the <a href=\"https://www.unixtimestamp.com/\" target=\"_blank\">unix timestamp</a> in seconds.",
            "format": "int64",
            "example": 1679816499
          },
          "iss": {
            "type": "string",
            "description": "The issuer of the token.",
            "example": "my-issuer"
          },
          "sub": {
            "type": "string",
            "description": "The subject of the token.",
            "example": "subscriber1234"
          },
          "aud": {
            "type": "string",
            "description": "The audience of the token.",
            "example": "my-audience"
          },
          "cti": {
            "type": "string",
            "description": "Uniquely identifies a token to help prevent reuse or replay attacks.",
            "example": "unique-token-id"
          },
          "catnip": {
            "type": "array",
            "description": "The IP address of the network for which the token was issued. The array contains objects with tag and value.  Each object represents a catnip claim. \n\nThe max number of items allowed is 5 and the minimum is zero. ",
            "items": {
              "$ref": "#/components/schemas/CatnipClaim"
            }
          },
          "catu": {
            "type": "object",
            "description": "A map of URIs to which the token applies. The maximum number of items allowed is five.  The object contains an array of key and value. ",
            "additionalProperties": {
              "type": "array",
              "description": "The object contains an array of keys and values. \n\n\n - Each key represents a URI component and must be between 0-8. \n\n\n - The value is a list of URIs. The first element of the value (match type) must be one of 0,1,2,3. The second element must be a string. \n\n\n**Examples based on tables below**: \n - \"1\": [0, \"token.dotv.wowza.com\"]          //Host (exact match)\n - \"3\": [3, \"ssai\"]          //Path (contains match)\n\n\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n | Key |  URI Component | RFC Reference |\n |---|---|---|\n | 0 | Scheme                    | RFC 3986 Section 3.1   |\n | 1 | Host                      | RFC 3986 Section 3.2.2 |\n | 2 | Port                      | RFC 3986 Section 3.2.3 |\n | 3 | Path                      | RFC 3986 Section 3.3   |\n | 4 | Query                     | RFC 3986 Section 3.4   |\n | 5 | Parent Path               | -                      |\n | 6 | Filename                  | -                      |\n | 7 | Stem                      | -                      |\n | 8 | Extension                 | -                      |\n</details>\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n | Value |Match Type          |\n |---|---|\n | 0     | Exact Text Match   |\n | 1     | Prefix Match       |\n | 2     | Suffix Match       |\n | 3     | Contains Match     |\n</details>"
            }
          },
          "catgeoiso3166": {
            "type": "array",
            "description": "The ISO3166 country codes from which the token was issued. Optionally, followed by a hyphen and a region code. the maximum number allowed is five. ",
            "items": {
              "type": "string",
              "example": [
                "US",
                "CA-ON"
              ]
            }
          },
          "catv": {
            "type": "integer",
            "description": "The version of the token. The integer must be 1.",
            "format": "int323",
            "example": 1
          }
        }
      },
      "CatnipClaim": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "integer",
            "description": "The tag must be 52 (IPV4 address) or 54 (IPV6 address).",
            "format": "int32",
            "example": 52
          },
          "value": {
            "type": "array",
            "description": "A two-element array:\n\n\n  1. two-element array:\n     - For IPv4, must be < 24. \n     - For IPv6, must be < 56. \n  2. An object whose keys are byte-indices (\"0\", \"1\", ...) and values are the byte values.\n\n\nYou must have a minimum of two items and can have a maximum of two items. ",
            "items": [
              {
                "type": "integer",
                "description": "The IP-prefix length."
              },
              {
                "type": "object",
                "description": "Byte-map of the IP-prefix.  ",
                "additionalProperties": {
                  "type": "integer",
                  "description": "The byte value (0-255)"
                }
              }
            ],
            "example": [
              24,
              {
                "0": 188,
                "1": 4,
                "2": 23
              }
            ]
          }
        }
      },
      "GenerateTokenResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The unique identifier for the playback token. \n\nAdd this token to your site along with the JS-embed for the video to use advanced token authentication. You must also use PATCH /videos/{id} to select **ADVANCED_TOKEN** as your authentication type for the video after you create the playback token. "
          }
        }
      },
      "CreateClipStitch": {
        "required": [
          "mode",
          "clips"
        ],
        "type": "object",
        "properties": {
          "clips": {
            "type": "array",
            "description": "Represents an array of videos or live streams to be included in the clip/stitch operation. If you include only one video or live stream, it is clipped based on `start` and `stop`. If you include more than one video or live stream, they are clipped based on `start` and `stop`, and stitched as one clip.",
            "items": {
              "required": [
                "id",
                "asset_type"
              ],
              "type": "object",
              "title": "clips",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Specifies the id of the video or live stream to be clipped and/or stitched.",
                  "example": "73a0c613-8972-14cd-9d0c-3c993bddb388"
                },
                "asset_type": {
                  "type": "string",
                  "description": "Specifies the asset type.",
                  "example": "VOD",
                  "enum": [
                    "VOD",
                    "LIVE_STREAM"
                  ]
                },
                "start": {
                  "type": "string",
                  "description": "Starting time of the video segment in 24-hour format with frame precision (HH:MM:SS:FF). If omitted, video starts from the beginning.\n\nIf you are clipping a live stream, the start time of the stream must be in ISO-8601 format, which is YYYY-MM-DDThh:mm:ssZ.",
                  "example": "00:01:20:00"
                },
                "stop": {
                  "type": "string",
                  "description": "Ending time of the video segment in 24-hour format with frame precision (HH:MM:SS:FF). If omitted, video continues until its natural end.\n\nIf you are clipping a live stream, the end time of the stream must be in ISO-8601 format, which is YYYY-MM-DDThh:mm:ssZ.",
                  "example": "00:05:25:00"
                }
              }
            }
          },
          "mode": {
            "type": "string",
            "description": "Specifies the mode for clipping/stitching operations. In `QUICK` mode, clipping can only be performed on segment breakpoints, optimizing for speed. For example, for a video or live stream that has 8-second interval breakpoint, if you specify a breakpoint outside the 8-second interval, the breakpoint is defaulted to the closest 8-second breakpoint. If you set your `start` as 00:00:10:00 (HH:MM:SS:FF), it will set your `start` to 00:00:08:00 ((HH:MM:SS:FF). In `PRECISE` mode, clipping can be performed on the frame level, ensuring higher accuracy but requiring more processing time. `PRECISE` mode incurs additional encoding time and cost.\n\n**Note**: If you are clipping or stitching live streams, the `start` and `stop` times must be in ISO-8601 format, which is YYYY-MM-DDThh:mm:ssZ.",
            "example": "PRECISE",
            "enum": [
              "QUICK",
              "PRECISE"
            ]
          },
          "name": {
            "type": "string",
            "description": "A descriptive name of the video that's displayed in the player. If not specified, it will default to the input file's name.",
            "example": "My video"
          },
          "description": {
            "type": "string",
            "description": "A description of the video that's displayed in the player.",
            "example": "A new video for my business."
          },
          "category_id": {
            "type": "string",
            "description": "The unique identifier for the category that the video belongs to.",
            "default": "<The account's default category>"
          },
          "tags": {
            "type": "array",
            "description": "A list of tags.",
            "example": [
              "foo",
              "bar"
            ],
            "items": {
              "type": "string",
              "description": "A list of tags.",
              "example": [
                "foo",
                "bar"
              ]
            }
          },
          "published_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using [ovp-plugin](https://developer.wowza.com/docs/wowza-flowplayer/plugins/wowza-video-platform-integration/) to request the video.",
            "format": "date-time",
            "example": "2024-05-01T12:33:22Z"
          },
          "published": {
            "type": "boolean",
            "description": "Determines, together with `published_at` and `unpublished_at`, if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If `true`, and if `published_at` and `unpublished_at` allow, the video will be visible."
          },
          "unpublish": {
            "type": "boolean",
            "description": "If `true`, the `unpublished_at` is respected and the video will not be available after `unpublished_at`. If `false`, the video will not be unpublished.",
            "default": false
          },
          "unpublished_at": {
            "type": "string",
            "description": "Date and time, in ISO-8601, format when video no longer is available for publishing. After this date, the video is not visible in the player if using [ovp-plugin](https://developer.wowza.com/docs/wowza-flowplayer/plugins/wowza-video-platform-integration/) to request the video.",
            "format": "date-time",
            "example": "2025-01-01T12:33:22Z"
          },
          "no_ads": {
            "type": "boolean",
            "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
          },
          "ad_keywords": {
            "type": "string",
            "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video. ",
            "example": "special_ads"
          },
          "replace_video_id": {
            "type": "string",
            "description": "Specifies the video id of the video to be replaced by the clip/stitch operation. If the video id is not provided, a new video will be created.\n\n**Caution!** Once you replace the original video with the clip, you will no longer be able to retrieve the original video."
          }
        }
      },
      "CreateClipStitchRequestModel": {
        "type": "object",
        "description": "Create clip/stitch request for the Wowza Video REST API",
        "properties": {
          "clipping": {
            "type": "object",
            "$ref": "#/components/schemas/CreateClipStitch"
          }
        }
      },
      "CreateClipStitchResponseModel": {
        "type": "object",
        "properties": {
          "video": {
            "type": "object",
            "title": "video",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "Specifies the id of the video that is clipped or stitched based on the live stream(s) or video(s) sent in the request.",
                "example": "73a0c613-8972-14cd-9d0c-3c993bddb388"
              },
              "name": {
                "type": "string",
                "description": "A descriptive name of the video that's displayed in the player. If not specified, it will default to the input file's name.",
                "example": "My video"
              },
              "description": {
                "type": "string",
                "description": "A description of the video that's displayed in the player.",
                "example": "A new video for my business."
              },
              "duration_in_ms": {
                "type": "integer",
                "description": "Duration of the video in milliseconds.",
                "format": "int64"
              },
              "unpublish": {
                "type": "boolean",
                "description": "If `true`, the `unpublished_at` is respected and the video will not be available after `unpublished_at`. If `false`, the video will not be unpublished.",
                "default": false
              },
              "unpublished_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format when video is no longer available for publishing. After this date, the video is not visible in the player if using [ovp-plugin](https://developer.wowza.com/docs/wowza-flowplayer/plugins/wowza-video-platform-integration/) to request the video.",
                "format": "date-time",
                "example": "2025-01-01T12:33:22Z"
              },
              "published": {
                "type": "boolean",
                "description": "Determines, together with `published_at` and `unpublished_at`, if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If `true`, and if `published_at` and `unpublished_at` allow, the video will be visible."
              },
              "published_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video is available for publishing. Before this date the video is not visible in the player if using [ovp-plugin](https://developer.wowza.com/docs/wowza-flowplayer/plugins/wowza-video-platform-integration/) to request the video.",
                "format": "date-time",
                "example": "2024-05-01T12:33:22Z"
              },
              "tags": {
                "type": "array",
                "description": "A list of tags.",
                "example": [
                  "foo",
                  "bar"
                ],
                "items": {
                  "type": "string",
                  "description": "A list of tags.",
                  "example": [
                    "foo",
                    "bar"
                  ]
                }
              },
              "remote": {
                "type": "boolean",
                "description": "If true, it indicated that the source file of the video is hosted in an external storage location.",
                "default": false,
                "example": false
              },
              "category_id": {
                "type": "string",
                "description": "The unique identifier for the category that the video belongs to.",
                "default": "<The account's default category>"
              },
              "no_ads": {
                "type": "boolean",
                "description": "When set to `true`, no ads will be displayed during this video. \n\n**Note**: This feature only works for Iframe embeds."
              },
              "ad_keywords": {
                "type": "string",
                "description": "Used for replacing the `ad_keywords` macro in the VAST-tag in any player that plays the video.",
                "example": "special_ads"
              },
              "created_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was created.",
                "format": "date-time",
                "example": "2024-05-15T12:33:22Z"
              },
              "updated_at": {
                "type": "string",
                "description": "Date and time, in ISO-8601 format, when video was updated.",
                "format": "date-time",
                "example": "2024-05-16T12:33:22Z"
              },
              "state": {
                "type": "string",
                "description": "The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below:\n\n\n| State | Description |\n|-----------|-------|\n| UPLOADING  | The source file is currently being uploaded or waiting to be downloaded by our API. |\n| WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. |\n| PROCESSING  | Source file for the asset is encoding. The current encoding progress can be found on `encoding_progress` property. |\n| FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. |\n| ERROR  | If the platform, for some reason, could not download the source file or failed during the encoding process. `error_messsage` property can give more information about why it errored.  |\n| DELETED  | The video files have been deleted. Usually the Video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. |",
                "example": "PROCESSING"
              },
              "encoding_progress": {
                "type": "number",
                "description": "Progress of video encoding, in percentage. The max value, `100`, is reached when all video files have been encoded.",
                "format": "double"
              },
              "upload_progress": {
                "type": "number",
                "description": "Progress of source file upload, in percentage. If the value is `100`, the source file is uploaded.",
                "format": "double"
              },
              "error_message": {
                "type": "string",
                "description": "If the platform failed to encode the source file, a message describing the error reason will be presented in this property.  "
              },
              "deactivated": {
                "type": "boolean",
                "description": "If `true`, this video has been deactivated and is no longer available for embedding. This usually happens if the account was cancelled or trial limits were exceeded.",
                "default": false
              },
              "images": {
                "type": "array",
                "description": "Images used together with the video in the platform and the player.\n\nFor platform video images specified in create and update requests, these are uploaded and delivered through the platform. For remote assets, the specified image URLs are passed along to the player using the URL specified in the request.\n",
                "items": {
                  "$ref": "#/components/schemas/ImageModel"
                }
              },
              "encodings": {
                "type": "array",
                "description": "Array containing all available video files and their metadata.",
                "items": {
                  "$ref": "#/components/schemas/EncodingModel"
                }
              },
              "shallow_copy": {
                "type": "boolean",
                "description": "Specifies whether this video is a shallow copy of another video. A shallow copy uses video files controlled by another video, usually on another workspace.\n\n\nVideos that are shallow copies can't use all features available for normal videos. For example, it's not possible to upload a new version of the video.\n\n\nAnother difference is that deleting the video will not delete any video files. If the video asset that is the source of the copy is deleted, the files will no longer be available for this asset.\n"
              },
              "shallow_copy_source_id": {
                "type": "string",
                "description": "If the video is a shallow copy, this field contains the ID of the source video entity.\n\n**Note:** There are cases where it is not possible to identify the source and in those cases this value will be `null`."
              },
              "multiple_audio_tracks": {
                "type": "boolean",
                "description": "If `true`, this video has several different audio tracks available for the player. For example, there may be audio tracks in different languages."
              },
              "audio_only": {
                "type": "boolean",
                "description": "If `true`, this video has no video track but only audio tracks."
              },
              "version": {
                "type": "integer",
                "description": "Tracks the number of times a new source file was uploaded for this video asset. For each time a new source file is uploaded, the value increases by one.",
                "format": "int32"
              }
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Resource Management",
      "tags": [
        "live_streams",
        "transcoders",
        "stream_sources",
        "stream_targets",
        "schedules",
        "real_time",
        "videos",
        "categories",
        "advanced_token_authentication",
        "clipping"
      ]
    },
    {
      "name": "Analytics",
      "tags": [
        "analytics_viewers",
        "analytics_ingest",
        "analytics_engagement",
        "analytics_popularity",
        "quality_of_experience"
      ]
    },
    {
      "name": "Usage",
      "tags": [
        "usage_account",
        "usage_transcoders",
        "usage",
        "usage_real_time_streams"
      ]
    },
    {
      "name": "Deprecated in 2.0",
      "tags": [
        "assets",
        "players",
        "recordings",
        "vod_streams",
        "storage",
        "usage_vod_streams"
      ]
    }
  ]
}