{
  "openapi": "3.0.2",
  "info": {
    "version": "v1.11",
    "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: [Supported 2](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 reponse 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"
  },
  "servers": [
    {
      "url": "https://api.video.wowza.com/api/v1.11"
    }
  ],
  "tags": [
    {
      "name": "live_streams",
      "description": "Operations related to live streams. A live stream is a single, linear video broadcast. You broadcast a live stream by receiving encoded source video into the Wowza Video service and letting Wowza Video transcode the stream and deliver it to viewers. A live stream is essentially a one-stop method for creating a transcoder, output renditions, stream targets, and associated players.",
      "x-displayName": "Live Streams"
    },
    {
      "name": "players",
      "description": "Operations related to players, which are created through the ``/live_streams`` resource. Players created through Wowza Video live streams can be embedded into your own web page or played through a web page hosted by Wowza Video.",
      "x-displayName": "Players"
    },
    {
      "name": "assets",
      "description": "Operations related to assets, which are created through the ``/assets`` resources. The Wowza Video service can store and transcode mp4 files that you can tag, manage, and restream.",
      "x-displayName": "Assets"
    },
    {
      "name": "recordings",
      "description": "Operations related to recordings, which are created through the ``/live_streams`` or ``/transcoders`` resources. The Wowza Video service can create MP4 recordings of your live streams and transcoded output. Recordings can be downloaded and saved locally. They're based on the highest-bitrate output rendition that Wowza Video generates from your video source. See [About recordings](https://www.wowza.com/docs/record-live-streams-and-transcoders#aboutREC) to learn more.",
      "x-displayName": "Recordings"
    },
    {
      "name": "schedules",
      "description": "Operations related to schedules. Schedules allow you to automatically start or stop a live stream or transcoder at a predetermined date and time. You can configure a schedule to start and/or stop a live stream or transcoder just once, or you can configure it to repeat the behavior on a regular basis. See [About schedules](https://www.wowza.com/docs/schedule-live-streams-and-transcoders#aboutSCH) to learn more.",
      "x-displayName": "Schedules"
    },
    {
      "name": "stream_sources",
      "description": "Operations related to stream sources. You can create a Wowza stream source and associate it to a live stream or transcoder.\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 ### Wowza CDN on Fastly Stream Targets\n Wowza CDN on Fastly stream targets leverage the Fastly CDN to distribute streams to players. A separate Fastly subscription isn't required because the Fastly CDN is integrated directly into Wowza Video. When you create a live stream in the API, a Wowza CDN on Fastly stream target is created automatically. In contrast, you can use ``/stream_targets/fastly`` endpoints to manually create Wowza CDN on Fastly stream targets and associate them with transcoders.\n With Wowza CDN on Fastly stream targets, you can use geo-blocking to control locations where your stream can be viewed, and you can use token authentication to restrict access to streams. Advanced configuration properties are available for Wowza CDN on Fastly stream targets.\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. You can configure advanced properties for custom stream targets that deliver HLS streams through the **akamai_cupertino** provider.\n ### Wowza CDN on Akamai Stream targets\n You can no longer create Wowza CDN on Akamai stream targets. While you can view details of an Akamai stream and delete it, that functionality will also soon be disabled.",
      "x-displayName": "Stream Targets"
    },
    {
      "name": "transcoders",
      "description": "Operations related to transcoders, output renditions, and output stream targets.\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": "Operations related to video on demand (VOD) streams, which are created through the ``/live_streams`` or ``/transcoders`` resources. A VOD stream is a recording of a live stream that viewers can replay at a later date. After the broadcast is over and the live stream or transcoder is stopped, Wowza Video creates the VOD stream and generates a playback URL. See [About VOD Streams](https://www.wowza.com/docs/create-a-vod-stream#about-vod-streams) to learn more.",
      "x-displayName": "VOD Streams"
    },
    {
      "name": "real_time",
      "description": "Operations related to Real-Time Streaming at Scale. If your audience is fewer than 300 viewers or you want to deliver a stream in near real time alongside other delivery protocols, <a href=\"https://www.wowza.com/docs/deliver-webrtc-streams-to-viewers-using-the-wowza-video-rest-api\">use our WebRTC solution</a>.\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": "Operations related to peak storage for an account. You can use this operation to show the amount of peak recording and VOD stream storage used by your account.",
      "x-displayName": "Storage"
    },
    {
      "name": "usage_vod_streams",
      "description": "Operations related to video on demand (VOD) stream analytics.",
      "x-displayName": "VOD Streams"
    },
    {
      "name": "usage_real_time_streams",
      "description": "Operations related to real-time streams analytics.",
      "x-displayName": "Real Time Streams"
    },
    {
      "name": "usage_account",
      "description": "Operations related to stream analytics for an account.",
      "x-displayName": "Account"
    },
    {
      "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"
    }
  ],
  "paths": {
    "/live_streams": {
      "post": {
        "summary": "Create a live stream",
        "description": "This operation creates a live stream.",
        "operationId": "createLiveStream",
        "tags": [
          "live_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                    }
                  }
                }
              }
            }
          },
          "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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    },
    "/live_streams/{id}/stats": {
      "get": {
        "summary": "(Sunset) Fetch metrics for an active live stream",
        "description": "The GET /live_streams/{id}/stats operation is sunset and no longer available. To retrieve metrics data for a live stream, use GET /analytics/ingest/live_streams/{id}.",
        "operationId": "showLiveStreamStats",
        "tags": [
          "live_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/live_streams/2adffc17/stats\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/live_streams/2adffc17/stats';\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/shm_metrics"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          }
        }
      }
    },
    "/players": {
      "get": {
        "summary": "Fetch all players",
        "description": "This operation shows limited details for all of your players. For detailed information, fetch a single player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "listPlayers",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows details of a specific player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "showPlayer",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation updates a player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "updatePlayer",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation rebuilds the player with the current configuration.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "requestPlayerRebuild",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows the current state of a player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "showPlayerState",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation creates a new player URL.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "createPlayerUrl",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows the details of all player URLs.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "listPlayerUrls",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows the details of a player URL.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "showPlayerUrl",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation updates a player URL.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "updatePlayerUrl",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation deletes a player URL.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, these endpoints are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "operationId": "deletePlayerUrl",
        "tags": [
          "players"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation creates an asset. You can only upload MP4 format and H.264 and AAC encoded files. Any files with unsupported codecs are rejected.",
        "operationId": "createAsset",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows limited details for all of your assets. For detailed information, fetch a single asset.",
        "operationId": "listAssets",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/assets\""
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/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": "This 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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This 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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation deletes an asset, including all assigned outputs and targets.",
        "operationId": "deleteAsset",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v1.11/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/v1.11/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": "This operation returns a live stream ID you can use to re-stream an uploaded asset.",
        "operationId": "restreamAsset",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation retrieves a list of all of the tags that have been used previously by an organization.",
        "operationId": "asset_tags",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation reports that an asset was successfully uploaded to storage.",
        "operationId": "reportUploadedAsset",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation reports that an asset uploaded to storage failed. You can only upload MP4 format and H.264 and AAC encoded files. Any files with unsupported codecs are rejected.",
        "operationId": "reportUploadFailedAsset",
        "tags": [
          "assets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows limited details for all of your recordings. For detailed information, fetch a single recording.",
        "operationId": "listRecordings",
        "tags": [
          "recordings"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows the details of a specific recording.",
        "operationId": "showRecording",
        "tags": [
          "recordings"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation deletes a recording. <br><br><b>Note</b>: You can't remove recordings that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint. ",
        "operationId": "deleteRecording",
        "tags": [
          "recordings"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows the current state of a recording.",
        "operationId": "showRecordingState",
        "tags": [
          "recordings"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Fetch all Wowza stream sources",
        "description": "(Available from version 1.4) This operation shows limited details for all of your Wowza stream sources. A Wowza stream source enables automatic transcoder start, stop, and broadcast location detection. For detailed information, fetch a single Wowza stream source.",
        "operationId": "listWowzaStreamSources",
        "tags": [
          "stream_sources"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_sources/wowza\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/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  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_wowza"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          }
        }
      }
    },
    "/stream_sources/wowza/{id}": {
      "get": {
        "summary": "Fetch a Wowza stream source",
        "description": "(Available from version 1.4) This operation shows details of a specific Wowza stream source. A Wowza stream source enables automatic transcoder start, stop, and broadcast location detection.",
        "operationId": "showWowzaStreamSource",
        "tags": [
          "stream_sources"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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 on Fastly stream targets. For detailed information, fetch a single stream target of a specific type.",
        "operationId": "listStreamTargets",
        "tags": [
          "stream_targets"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/stream_targets/fastly": {
      "post": {
        "summary": "Create a Wowza CDN on Fastly stream target",
        "description": "(Available from version 1.4) This operation creates a Wowza CDN on Fastly stream target to deliver your stream using the Wowza CDN on Fastly.",
        "operationId": "createFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly\" \\\n  -d $'{\n  \"stream_target_fastly\": {\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/v1.11/stream_targets/fastly';\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_fastly\": {\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 on Fastly stream target to create in the body of the request.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "stream_target_fastly"
                  ],
                  "properties": {
                    "stream_target_fastly": {
                      "$ref": "#/components/schemas/stream_target_fastly"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Fetch all Wowza CDN on Fastly stream targets",
        "description": "(Available from version 1.4) This operation lists limited details for all of your Wowza CDN on Fastly stream targets. For detailed information, fetch a single target.",
        "operationId": "listFastlyStreamTargets",
        "tags": [
          "stream_targets"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/stream_targets/fastly';\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/fastly/{id}": {
      "get": {
        "summary": "Fetch a Wowza CDN on Fastly stream target",
        "description": "(Available from version 1.4) This operation shows the details of a specific Wowza CDN on Fastly stream target.",
        "operationId": "showFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly/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/v1.11/stream_targets/fastly/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_fastly"
                  ],
                  "properties": {
                    "stream_target_fastly": {
                      "$ref": "#/components/schemas/stream_target_fastly"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a Wowza CDN on Fastly stream target",
        "description": "(Available from version 1.4) This operation updates a Wowza CDN on Fastly stream target.",
        "operationId": "updateFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly/2adffc17\" \\\n  -d $'{\n  \"stream_target_fastly\": {\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/v1.11/stream_targets/fastly/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_fastly\": {\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 on Fastly stream target to update in the body of the request.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "stream_target_fastly"
                  ],
                  "properties": {
                    "stream_target_fastly": {
                      "$ref": "#/components/schemas/fastly_stream_target_patch_response"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete a Wowza CDN on Fastly stream target",
        "description": "(Available from version 1.4) This operation deletes a Wowza CDN on Fastly stream target.  <br><br><b>Note</b>: You can't remove stream targets that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint. ",
        "operationId": "deleteFastlyStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly/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/v1.11/stream_targets/fastly/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"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/stream_targets/fastly/{id}/vod_streams": {
      "get": {
        "summary": "Fetch all VOD streams for a Fastly stream target",
        "description": "(Available from version 1.5) This operation shows the details of all VOD streams associated to a specific Fastly stream target.",
        "operationId": "listFastlyStreamTargetVODStreams",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/stream_targets/fastly/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/v1.11/stream_targets/fastly/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 stream target.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vod_streams"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/stream_targets/{id}/regenerate_connection_code": {
      "put": {
        "summary": "Regenerate the connection code for any stream target",
        "description": "This operation regenerates the connection code of any kind of stream target.",
        "operationId": "regenerateConnectionCodeStreamTarget",
        "tags": [
          "stream_targets"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "This operation shows limited details of all of the recordings for a specific transcoder. For detailed information about a recording, use the recording ID to fetch a recording.",
        "operationId": "listTranscoderRecordings",
        "tags": [
          "transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    },
    "/transcoders/{id}/stats": {
      "get": {
        "summary": "(Sunset) Fetch statistics for a current transcoder",
        "description": "The GET /transcoders/{id}/stats operation is sunset and no longer available. To retrieve metrics data for a live stream, use GET /analytics/ingest/live_streams/{id}.",
        "operationId": "showTranscoderStats",
        "tags": [
          "transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/transcoders/2adffc17/stats\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/transcoders/2adffc17/stats';\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/shm_metrics"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          }
        }
      }
    },
    "/transcoders/{transcoder_id}/uptimes/{id}/metrics/current": {
      "get": {
        "summary": "(Sunset) Fetch current stream health metrics for an active transcoder",
        "description": "The GET /transcoders/{transcoder_id}/uptimes/{id}/metrics/current operation is sunset and no longer available. To retrieve metrics data for a live stream, use GET /analytics/ingest/live_streams/{id}.",
        "operationId": "showUptimeMetricsCurrent",
        "tags": [
          "transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/transcoders/2adffc17/uptimes/1acfg43d/metrics/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/v1.11/transcoders/2adffc17/uptimes/1acfg43d/metrics/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"
          }
        ],
        "parameters": [
          {
            "name": "transcoder_id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the transcoder.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The unique alphanumeric string that identifies the uptime record.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "A comma-separated list of fields to return.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "current",
                    "limits"
                  ],
                  "properties": {
                    "current": {
                      "$ref": "#/components/schemas/shm_metrics"
                    },
                    "limits": {
                      "type": "object",
                      "title": "limits",
                      "required": [
                        "fields"
                      ],
                      "properties": {
                        "fields": {
                          "type": "string",
                          "title": "fields",
                          "description": "A comma-separated list of fields that were returned in the request."
                        }
                      }
                    }
                  },
                  "example": {
                    "current": {
                      "audio_codec": {
                        "status": "normal",
                        "text": "",
                        "units": "",
                        "value": "aac"
                      },
                      "bits_in_rate": {
                        "status": "normal",
                        "text": "",
                        "units": "Kbps",
                        "value": 317.3
                      },
                      "bits_out_rate": {
                        "status": "normal",
                        "text": "",
                        "units": "Kbps",
                        "value": 856
                      },
                      "bytes_in_rate": {
                        "status": "normal",
                        "text": "",
                        "units": "KBps",
                        "value": 317.3
                      },
                      "bytes_out_rate": {
                        "status": "normal",
                        "text": "",
                        "units": "KBps",
                        "value": 856
                      },
                      "configured_bytes_out_rate": {
                        "status": "warning",
                        "text": "Outbound bitrate is lower than the configured bitrate. There might be a problem with the stream targets.",
                        "value": 8192,
                        "units": "Kbps"
                      },
                      "connected": {
                        "status": "normal",
                        "text": "",
                        "units": "",
                        "value": "Yes"
                      },
                      "frame_size": {
                        "status": "warning",
                        "text": "Configured frame size is different from what Wowza Video is receiving from the source: 1280x720.",
                        "units": "",
                        "value": "1280x720"
                      },
                      "frame_rate": {
                        "status": "normal",
                        "text": "",
                        "units": "FPS",
                        "value": 30
                      },
                      "height": {
                        "status": "warning",
                        "text": "Configured height is different from what Wowza Video is receiving from the source: 720.",
                        "units": "px",
                        "value": 720
                      },
                      "keyframe_interval": {
                        "status": "normal",
                        "text": "",
                        "units": "GOP",
                        "value": 69
                      },
                      "stream_target_status_OUTPUTIDX_STREAMTARGETIDX": {
                        "status": "normal",
                        "text": "",
                        "units": "",
                        "value": "Active"
                      },
                      "unique_views": {
                        "status": "normal",
                        "text": "",
                        "units": "%",
                        "value": 1030
                      },
                      "video_codec": {
                        "status": "normal",
                        "text": "",
                        "units": "",
                        "value": "h264"
                      },
                      "width": {
                        "status": "warning",
                        "text": "Configured width is different from what Wowza Video is receiving from the source: 1280.",
                        "units": "px",
                        "value": 1280
                      }
                    },
                    "limits": {
                      "fields": [
                        "audio_codec",
                        "bits_in_rate",
                        "bits_out_rate",
                        "bytes_in_rate",
                        "bytes_out_rate",
                        "configured_bytes_out_rate",
                        "connected",
                        "frame_size",
                        "frame_rate",
                        "height",
                        "width",
                        "keyframe_interval",
                        "unique_views",
                        "video_codec",
                        "width",
                        "stream_target_status_OUTPUTIDX_STREAMTARGETIDX"
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          }
        }
      }
    },
    "/transcoders/{transcoder_id}/uptimes/{id}/metrics/historic": {
      "get": {
        "summary": "(Sunset) Fetch historic stream health metrics for a transcoder",
        "description": "The GET /transcoders/{transcoder_id}/uptimes/{id}/metrics/historic operation is sunset and no longer available. To retrieve metrics data for a live stream, use GET /analytics/ingest/live_streams/{id}.",
        "operationId": "showUptimeMetricsHistoric",
        "tags": [
          "transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/transcoders/2adffc17/uptimes/1acfg43d/metrics/historic\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/transcoders/2adffc17/uptimes/1acfg43d/metrics/historic';\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"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "A comma-separated list of fields to return.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "The start of the range of time used to aggregate the metrics. Express the value by using the ISO 8601 standard of **YYYY-MM-DDTHH:MM:SSZ** where **HH** is a 24-hour clock in UTC.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "The end of the range of time used to aggregate the metrics. Express the value by using the ISO 8601 standard of **YYYY-MM-DDTHH:MM:SSZ** where **HH** is a 24-hour clock in UTC.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "historic",
                    "limits"
                  ],
                  "properties": {
                    "historic": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/shm_historic_metrics"
                      }
                    },
                    "limits": {
                      "type": "object",
                      "title": "limits",
                      "required": [
                        "fields",
                        "from",
                        "to"
                      ],
                      "properties": {
                        "fields": {
                          "type": "string",
                          "title": "fields",
                          "description": "A comma-separated list of fields that were returned in the request."
                        },
                        "from": {
                          "type": "string",
                          "title": "from",
                          "description": "The start of range of time when the metrics were aggregated for the query.",
                          "format": "date-time"
                        },
                        "to": {
                          "type": "string",
                          "title": "to",
                          "description": "The end of the range of time when the metrics were aggregated for the query.",
                          "format": "date-time"
                        }
                      }
                    }
                  },
                  "example": {
                    "historic": [
                      {
                        "audio_codec": {
                          "status": "normal",
                          "text": "",
                          "units": "",
                          "value": "aac"
                        },
                        "bits_in_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "Kbps",
                          "value": 317.3
                        },
                        "bits_out_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "Kbps",
                          "value": 856
                        },
                        "frame_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "FPS",
                          "value": 30
                        },
                        "height": {
                          "status": "warning",
                          "text": "Configured height is different from what Wowza Video is receiving from the source: 720.",
                          "units": "px",
                          "value": 720
                        },
                        "keyframe_interval": {
                          "status": "normal",
                          "text": "",
                          "units": "GOP",
                          "value": 69
                        },
                        "video_codec": {
                          "status": "normal",
                          "text": "",
                          "units": "",
                          "value": "h264"
                        },
                        "width": {
                          "status": "warning",
                          "text": "Configured width is different from what Wowza Video is receiving from the source: 1280.",
                          "units": "px",
                          "value": 1280
                        },
                        "created_at": "2017-07-06T14:20:00.000Z"
                      },
                      {
                        "audio_codec": {
                          "status": "normal",
                          "text": "",
                          "units": "",
                          "value": "aac"
                        },
                        "bits_in_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "Kbps",
                          "value": 317.3
                        },
                        "bits_out_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "Kbps",
                          "value": 856
                        },
                        "frame_rate": {
                          "status": "normal",
                          "text": "",
                          "units": "FPS",
                          "value": 30
                        },
                        "height": {
                          "status": "warning",
                          "text": "Configured height is different from what Wowza Video is receiving from the source: 720.",
                          "units": "px",
                          "value": 720
                        },
                        "keyframe_interval": {
                          "status": "normal",
                          "text": "",
                          "units": "GOP",
                          "value": 69
                        },
                        "video_codec": {
                          "status": "normal",
                          "text": "",
                          "units": "",
                          "value": "h264"
                        },
                        "width": {
                          "status": "warning",
                          "text": "Configured width is different from what Wowza Video is receiving from the source: 1280.",
                          "units": "px",
                          "value": 1280
                        },
                        "created_at": "2017-07-06T14:20:20.000Z"
                      }
                    ],
                    "limits": {
                      "fields": [
                        "audio_codec",
                        "bits_in_rate",
                        "bits_out_rate",
                        "frame_rate",
                        "height",
                        "keyframe_interval",
                        "width",
                        "video_codec"
                      ],
                      "from": "2017-07-06T14:20:00.000Z",
                      "to": "2017-07-06T14:20:20.000Z"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          }
        }
      }
    },
    "/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-codeSamples": [
          {
            "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/v1.11/analytics/viewers/account?from=2023-04-14T10:31:54.486Z&to=2023-07-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/v1.11/analytics/viewers/account?from=2023-04-14T10:31:54.486Z&to=2023-07-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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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. 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"
            }
          }
        ],
        "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-codeSamples": [
          {
            "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/v1.11/analytics/viewers/live_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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/v1.11/analytics/viewers/live_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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. 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"
            }
          }
        ],
        "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-codeSamples": [
          {
            "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/v1.11/analytics/viewers/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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/v1.11/analytics/viewers/vod_streams/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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. 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"
            }
          }
        ],
        "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-codeSamples": [
          {
            "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/v1.11/analytics/viewers/stream_targets/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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/v1.11/analytics/viewers/stream_targets/tvctq36g?from=2023-04-14T10:31:54.486Z&to=2023-07-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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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\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. 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"
            }
          }
        ],
        "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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest 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 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/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-codeSamples": [
          {
            "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/v1.11/analytics/ingest/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/v1.11/analytics/ingest/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.",
            "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 includes minutes and seconds. If you include seconds, Wowza Video rounds down to the minute. 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\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 includes minutes and seconds. If you include seconds, Wowza Video rounds down to the minute. 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\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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    },
    "/usage/accounts/countries": {
      "get": {
        "summary": "(Deprecated) Fetch stream usage by country for an account",
        "description": "The GET /usage/accounts/countries operation is deprecated and no longer available. To retrieve viewer data for a country, use GET /analytics/viewers/account endpoint.",
        "operationId": "usageAccountByCountry",
        "tags": [
          "usage_account"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/accounts/countries\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/accounts/countries';\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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_accounts_countries"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/accounts/trend": {
      "get": {
        "summary": "(Deprecated) Fetch trend data for an account",
        "description": "The GET /usage/accounts/trend operation is deprecated and no longer available. To retrieve trend data for an account, use GET /usage/account endpoint.",
        "operationId": "showUsageAccountTrend",
        "tags": [
          "usage_account"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/accounts/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/v1.11/usage/accounts/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": "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_accounts_trend"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/accounts/live": {
      "get": {
        "summary": "(Deprecated) Fetch live viewer data for an account",
        "description": "The GET /usage/accounts/live operation is deprecated and no longer available. To retrieve live data for an account, use GET /analytics/viewers/account endpoint.",
        "operationId": "liveUsageAccount",
        "tags": [
          "usage_account"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/accounts/live\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/accounts/live';\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_accounts_viewer_data"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/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 to and from query parameters, the last 7 days 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-codeSamples": [
          {
            "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/v1.11/analytics/engagement/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/v1.11/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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 days. 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",
        "description": "(Available from version 1.11) This operation returns the popularity data for a specific live 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 to and from query parameters, the last 7 days 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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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.",
            "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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 days. 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 to and from query parameters, the last 7 days 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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 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 doesn't include minutes and seconds. If you include minutes and seconds, Wowza Video rounds up to the nearest hour when it is more than 30 minutes. If it is less than 30 minutes, Wowza Video rounds it down to the nearest hour. The maximum difference between **from** and **to** is 30 days. 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"
                }
              }
            }
          }
        }
      }
    },
    "/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/transcoders/{id}/trend": {
      "get": {
        "summary": "(Deprecated) Fetch trend data for a transcoder",
        "description": "The GET /usage/transcoders/{id}/trend operation is deprecated and no longer available. To retrieve trend data for a transcoder, use GET /usage/transcoders/{id} endpoint.",
        "operationId": "showUsageTranscoderTrend",
        "tags": [
          "usage_transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/transcoders/2adffc17/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/v1.11/usage/transcoders/2adffc17/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 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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_transcoder_trend"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/transcoders/{id}/live": {
      "get": {
        "summary": "(Deprecated) Fetch transcoder live viewer data",
        "description": "The GET /usage/transcoders/live operation is deprecated and no longer available. To retrieve live viewer data for a transcoder, use GET /analytics/viewers/live_streams/{id}.",
        "operationId": "liveUsageTranscoder",
        "tags": [
          "usage_transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/transcoders/2adffc17/live\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/transcoders/2adffc17/live';\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/usage_transcoders_viewer_data"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/transcoders/{id}/countries": {
      "get": {
        "summary": "(Deprecated) Fetch transcoder usage by country",
        "description": "The GET /usage/transcoders/{id}/countries operation is deprecated and no longer available. To retrieve usage data for a transcoder by country, use GET /analytics/viewers/live_streams/{id}. ",
        "operationId": "usageTranscoderByCountry",
        "tags": [
          "usage_transcoders"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/transcoders/2adffc17/countries\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/transcoders/2adffc17/countries';\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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_transcoder_countries"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/stream_targets/{id}/countries": {
      "get": {
        "summary": "(Deprecated) Fetch stream target usage by country",
        "description": "The GET /usage/stream_targets/{id}/countries operation is deprecated and no longer available. To retrieve CDN usage data for a specific stream target by country, use GET /analytics/viewers/stream_targets/{id} endpoint.",
        "operationId": "usageStreamTargetByCountry",
        "tags": [
          "usage"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/stream_targets/2adffc17/countries\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/stream_targets/2adffc17/countries';\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_stream_target_countries"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/stream_targets/{id}/renditions": {
      "get": {
        "summary": "(Deprecated) Fetch stream target usage by rendition",
        "description": "The GET /usage/stream_targets/{id}/renditions operation is deprecated and no longer available. To retrieve CDN usage data for a specific stream target, use GET /analytics/viewers/stream_targets/{id} endpoint.",
        "operationId": "usageStreamTargetByRendition",
        "tags": [
          "usage"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/stream_targets/2adffc17/renditions\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/stream_targets/2adffc17/renditions';\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_stream_target_renditions"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/stream_targets/{id}/live": {
      "get": {
        "summary": "(Deprecated) Fetch stream target live viewer data",
        "description": "The GET /usage/stream_targets/{id}/live operation is deprecated and no longer available. To retrieve live viewer data for a stream target, use GET /analytics/viewers/stream_targets/{id} endpoint.",
        "operationId": "liveUsageStreamTarget",
        "tags": [
          "usage"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/stream_targets/2adffc17/live\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/stream_targets/2adffc17/live';\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": {
                  "$ref": "#/components/schemas/usage_stream_target_viewer_data"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/storage/peak": {
      "get": {
        "summary": "Fetch peak storage",
        "description": "This operation shows the amount of peak storage used for the account. The default time frame is *from* the last billing date *to* the end of the current day.",
        "operationId": "usageStoragePeakRecordingIndex",
        "tags": [
          "storage"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/vod_streams": {
      "get": {
        "summary": "Fetch usage for all VOD streams",
        "description": "(Available from version 1.5) This operation returns detailed CDN usage data for all VOD streams in the account. *CDN usage* is the amount of data that went through every Fastly stream target, including unique viewers, viewing time, and bytes of content.",
        "operationId": "usageVODStreamsIndex",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "(Available from version 1.5) This operation returns CDN usage details for a specific VOD stream. *CDN usage* is the amount of data that went through every Fastly stream target, including unique viewers, viewing time, and bytes of content.",
        "operationId": "showUsageVODStream",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "(Available from version 1.5) This operation returns a summary of CDN usage for all VOD streams in the account. *CDN usage* is the amount of data that went through every Fastly stream target, including unique viewers, viewing time, and bytes of content.",
        "operationId": "summmaryUsageVODStream",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/vod_streams/egress": {
      "get": {
        "summary": "(Deprecated) Fetch egress for all VOD streams",
        "description": "The GET /usage/vod_streams/egress operation is deprecated and no longer available.",
        "operationId": "usageVODStreamsEgressIndex",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/egress\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/vod_streams/egress';\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_egress"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/egress/{id}": {
      "get": {
        "summary": "(Deprecated) Fetch egress for a single VOD stream",
        "description": "The GET /usage/vod_streams/egress/{id} operation is deprecated and no longer available. To retrieve egress data for a specific VOD stream, use GET /usage/vod_streams/{id} endpoint.",
        "operationId": "showUsageVODStreamEgress",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/egress/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/v1.11/usage/vod_streams/egress/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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_vod_stream_egress"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/egress/summary": {
      "get": {
        "summary": "(Deprecated) Fetch VOD stream egress summary",
        "description": "The GET /usage/vod_streams/egress/summary operation is deprecated and no longer available. To retrieve summary of egress usage data for all VOD streams, use GET /usage/vod_streams/summary endpoint.",
        "operationId": "summmaryUsageVODStreamEgress",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/egress/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/v1.11/usage/vod_streams/egress/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_egress_summary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/vod_streams": {
      "get": {
        "summary": "Fetch all VOD streams",
        "description": "(Available from version 1.5) This operation shows limited details for VOD streams. For detailed information, fetch a single VOD stream.",
        "operationId": "listVODStreams",
        "tags": [
          "vod_streams"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "(Available from version 1.5) This operation shows the details of a specific VOD stream.",
        "operationId": "showVODStream",
        "tags": [
          "vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "(Available from version 1.5) This operation updates a VOD stream.",
        "operationId": "updateVODStream",
        "tags": [
          "vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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": "(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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/{id}/trend": {
      "get": {
        "summary": "(Deprecated) Fetch trend data for a VOD stream",
        "description": "The GET /usage/vod_streams/{id}/trend operation is deprecated and no longer available. To retrieve trend data for a specific VOD stream, use GET /usage/vod_streams/{id} endpoint.",
        "operationId": "showUsageVODTrend",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_stream/2adffc17/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/v1.11/usage/vod_streams/2adffc17/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 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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_vod_stream_trend"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/{id}/live": {
      "get": {
        "summary": "(Deprecated) Fetch VOD stream live viewer data",
        "description": "The GET /usage/vod_streams/{id}/live operation is deprecated and no longer available. To retrieve live viewer data for a specific VOD stream, use GET /analytics/viewers/vod_streams/{id} endpoint.",
        "operationId": "liveUsageVODStream",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/2adffc17/live\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/vod_streams/2adffc17/live';\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": {
                  "$ref": "#/components/schemas/usage_vod_streams_viewer_data"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/{id}/countries": {
      "get": {
        "summary": "(Deprecated) Fetch VOD stream usage by country",
        "description": "The GET /usage/vod_streams/{id}/countries operation is deprecated and no longer available. To retrieve CDN usage data by country for a specific VOD stream, use GET /analytics/viewers/vod_streams/{id} endpoint.",
        "operationId": "usageVODStreamByCountry",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/1ndgfc11/countries\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/vod_streams/1ndgfc11/countries';\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. 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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_vod_stream_countries"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/usage/vod_streams/{id}/renditions": {
      "get": {
        "summary": "(Deprecated) Fetch VOD stream usage by rendition",
        "description": "The GET /usage/vod_streams/{id}/renditions operation is deprecated and no longer available. To retrieve CDN usage data for a specific VOD stream, use GET /analytics/viewers/vod_streams/{id} endpoint.",
        "operationId": "usageVODStreamByRendition",
        "tags": [
          "usage_vod_streams"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/usage/vod_streams/1ndgfc11/renditions\"\n"
          },
          {
            "lang": "JavaScript",
            "source": "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v1.11/usage/vod_streams/1ndgfc11/renditions';\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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_vod_stream_renditions"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error410"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error422"
                }
              }
            }
          }
        }
      }
    },
    "/real_time": {
      "post": {
        "summary": "Create a real-time stream",
        "description": "This operation creates a real-time stream.",
        "operationId": "createRealTimeStream",
        "tags": [
          "real_time"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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-codeSamples": [
          {
            "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/v1.11/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/v1.11/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/stop/{id}": {
      "put": {
        "summary": "Stop a real-time stream",
        "description": "This operation stops a real-time stream.",
        "operationId": "stopRealTimeStream",
        "tags": [
          "real_time"
        ],
        "x-codeSamples": [
          {
            "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/v1.11/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/v1.11/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"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "WV_JWT": {
        "type": "http",
        "scheme": "bearer",
        "description": "Your Wowza-generated access token, also called a JSON web token (JWT). Send it as a bearer token in the Authentication header of your requests. See [Authentication](https://www.wowza.com/docs/how-to-use-the-wowza-video-rest-api#authentication)."
      }
    },
    "parameters": {
      "filter": {
        "name": "filter",
        "in": "query",
        "description": "Restricts the data that gets returned by filtering on one or more values associated with a field. Construct a filter using a two-part expression that specifies the field on which to filter and the logic to use to filter. Filters use a zero-based index.\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": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the live stream was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "live_streams": {
        "type": "object",
        "description": "",
        "required": [
          "live_streams"
        ],
        "properties": {
          "live_streams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_live_stream"
            }
          }
        },
        "example": {
          "live_streams": [
            {
              "id": "wdjfqvsv",
              "name": "My PAYG Transcoded WSE Live Stream",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-31T16:06:47.849Z"
            },
            {
              "id": "KyxWKtHQ",
              "name": "My 24x7 Passthrough GoCoder Live Stream",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-31T02:26:05.849Z"
            },
            {
              "id": "Ly40ZDSg",
              "name": "My PAYG Transcoded Teradek Cube Live Stream",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-30T18:13:18.849Z"
            }
          ]
        }
      },
      "Error401": {
        "type": "object",
        "description": "",
        "required": [
          "meta"
        ],
        "properties": {
          "meta": {
            "type": "object",
            "title": "meta",
            "description": "",
            "properties": {
              "status": {
                "type": "integer",
                "description": "",
                "example": "",
                "format": "int32"
              },
              "code": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "message": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "description": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "links": {
                "type": "array",
                "description": "",
                "example": "",
                "items": {}
              }
            }
          }
        },
        "example": {
          "Example Response 1": {
            "meta": {
              "status": 401,
              "code": "ERR-401-NoApiKey",
              "title": "No API Key Error",
              "message": "No API key sent in header.",
              "description": "",
              "links": []
            }
          },
          "Example Response 2": {
            "meta": {
              "status": 401,
              "code": "ERR-401-NoAccessKey",
              "title": "No Access Key Error",
              "message": "No access key sent in header.",
              "description": "",
              "links": []
            }
          },
          "Example Response 3": {
            "meta": {
              "status": 401,
              "code": "ERR-401-InvalidApiKey",
              "title": "Invalid Api Key Error",
              "message": "Invalid API key.",
              "description": "",
              "links": []
            }
          },
          "Example Response 4": {
            "meta": {
              "status": 401,
              "code": "ERR-401-InvalidAccessKey",
              "title": "Invalid Access Key Error",
              "message": "Invalid access key.",
              "description": "",
              "links": []
            }
          },
          "Example Response 5": {
            "meta": {
              "status": 401,
              "code": "ERR-401-BadAccountStatus",
              "title": "Bad Account Status Error",
              "message": "Your account's status doesn't allow this action.",
              "description": "",
              "links": []
            }
          },
          "Example Response 6": {
            "meta": {
              "status": 401,
              "code": "ERR-401-FeatureNotEnabled",
              "title": "Feature Not Enabled Error",
              "message": "This feature isn't enabled.",
              "description": "",
              "links": []
            }
          },
          "Example Response 7": {
            "meta": {
              "status": 401,
              "code": "ERR-401-TrialExceeded",
              "title": "Bad Billing Status Error",
              "message": "Your billing status needs attention. You can't start or add live streams until your billing status is updated.",
              "description": "",
              "links": []
            }
          },
          "Example Response 8": {
            "meta": {
              "status": 401,
              "code": "ERR-401-ExpiredToken",
              "title": "JWT is expired",
              "message": "Token has exired.",
              "description": "",
              "links": []
            }
          },
          "Example Response 9": {
            "meta": {
              "status": 401,
              "code": "ERR-401-InvalidToken",
              "title": "JWT is invalid",
              "message": "Token is invalid.",
              "description": "",
              "links": []
            }
          }
        }
      },
      "broadcast_location": {
        "type": "string",
        "description": "The location of your stream. Choose a location as close as possible to your video source.",
        "example": "eu_germany",
        "enum": [
          "asia_pacific_australia",
          "asia_pacific_india",
          "asia_pacific_japan",
          "asia_pacific_singapore",
          "asia_pacific_s_korea",
          "asia_pacific_taiwan",
          "eu_belgium",
          "eu_germany",
          "eu_ireland",
          "south_america_brazil",
          "us_central_iowa",
          "us_east_s_carolina",
          "us_east_virginia",
          "us_west_california",
          "us_west_oregon"
        ]
      },
      "hosted_page_request_object_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": "Configuration of the player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, the player fields are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "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",
              "transcoder_type",
              "billing_mode",
              "broadcast_location",
              "encoder",
              "aspect_ratio_width",
              "aspect_ratio_height"
            ],
            "properties": {
              "aspect_ratio_height": {
                "type": "integer",
                "description": "The height, in pixels, of the video source. Should correspond to a widescreen (16:9) or standard (4:3) aspect ratio and be divisible by 8. Combined with **aspect_ratio_width**, makes up the input resolution.",
                "example": 1080,
                "format": "int32"
              },
              "aspect_ratio_width": {
                "type": "integer",
                "description": "The width, in pixels, of the video source. Should correspond to a widescreen (16:9) or standard (4:3) aspect ratio and be divisible by 8. Combined with **aspect_ratio_height**, makes up the input resolution.",
                "example": 1920,
                "format": "int32"
              },
              "billing_mode": {
                "type": "string",
                "description": "The billing mode for the stream. The default is **pay_as_you_go**.\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"
                ]
              },
              "broadcast_location": {
                "$ref": "#/components/schemas/broadcast_location"
              },
              "encoder": {
                "type": "string",
                "description": "The video source for the live stream. Choose the type of camera or encoder you're using to connect to the Wowza Video transcoder. If your specific device isn't listed, choose **ipcamera**, **other_rtmp**, or **other_rtsp**.",
                "example": "other_webrtc",
                "enum": [
                  "wowza_clearcaster",
                  "wowza_gocoder",
                  "wowza_streaming_engine",
                  "media_ds",
                  "axis",
                  "epiphan",
                  "file",
                  "hauppauge",
                  "jvc",
                  "live_u",
                  "matrox",
                  "newtek_tricaster",
                  "osprey",
                  "sony",
                  "telestream_wirecast",
                  "teradek_cube",
                  "vmix",
                  "x_split",
                  "ipcamera",
                  "other_rtmp",
                  "other_rtsp",
                  "other_webrtc",
                  "other_udp",
                  "other_srt"
                ]
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the live stream. Maximum 200 characters.",
                "example": "My Live Stream"
              },
              "transcoder_type": {
                "type": "string",
                "description": "The type of transcoder, either **transcoded** for streams that are transcoded into adaptive bitrate renditions or **passthrough** for streams that aren't processed by the transcoder. The default is **transcoded**.",
                "example": "transcoded",
                "enum": [
                  "transcoded",
                  "passthrough"
                ]
              },
              "closed_caption_type": {
                "type": "string",
                "description": "The type of closed caption data being passed from the source. The default, **none**, indicates that no data is being provided. **cea** indicates that a CEA closed captioning data stream is being provided. **on_text** indicates that an onTextData closed captioning data stream is being provided. **both** indicates that both CEA and onTextData closed captioning data streams are being provided.\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"
                }
              },
              "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"
              },
              "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
              },
              "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
              }
            }
          }
        },
        "example": {
          "live_stream": {
            "aspect_ratio_height": 720,
            "aspect_ratio_width": 1280,
            "billing_mode": "pay_as_you_go",
            "broadcast_location": "us_west_oregon",
            "encoder": "other_webrtc",
            "name": "My Live Stream",
            "transcoder_type": "transcoded"
          }
        }
      },
      "hosted_page_response_object": {
        "type": "object",
        "description": "Configuration of the hosted page.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "A web page hosted by Wowza Video that includes a player for the live stream. The default, **true**, creates a hosted page. Specify **false** to not create a hosted web page.",
            "example": ""
          },
          "description": {
            "type": "string",
            "description": "A description that appears on the hosted page below the player. Can't include custom HTML, JavaScript, or other tags.",
            "example": ""
          },
          "logo_image_url": {
            "type": "string",
            "description": "The path to a GIF, JPEG, or PNG logo file that appears in the upper-left corner of the hosted page. Logo file must be 2.5 MB or smaller."
          },
          "sharing_icons": {
            "type": "boolean",
            "description": "Icons that let viewers share the stream on Facebook, Google+, Twitter, and by email. The default, **true**, includes sharing icons on the hosted page. Specify **false** to omit sharing icons.",
            "example": ""
          },
          "title": {
            "type": "string",
            "description": "A title for the page that appears above the player. Can't include custom HTML, JavaScript, or other tags.",
            "example": ""
          },
          "url": {
            "type": "string",
            "description": "The URL of the Wowza Video-hosted webpage that viewers can visit to watch the stream.",
            "example": ""
          }
        }
      },
      "player_response_object": {
        "type": "object",
        "description": "Configuration of the player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, the player fields are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "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.",
            "example": "",
            "format": "int32"
          },
          "aspect_ratio_width": {
            "type": "integer",
            "description": "The width, in pixels, of the video source. Should correspond to a widescreen (16:9) or standard (4:3) aspect ratio and be divisible by 8. Combined with **aspect_ratio_height**, makes up the input resolution.",
            "example": "",
            "format": "int32"
          },
          "asset_id": {
            "type": "string",
            "description": "Only applies to live streams created from re-streaming an asset in Asset Management. The id for the asset associated with the re-streamed live stream. You can manage this asset in Asset Management."
          },
          "billing_mode": {
            "type": "string",
            "description": "\nThe billing mode for the stream. 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**twentyfour_seven** — Billed as a 24x7 channel. A 24x7 channel is unlimited stream time for one channel. This billing mode doesn't incur overages, since it's unlimited.",
            "example": "",
            "enum": [
              "pay_as_you_go",
              "twentyfour_seven"
            ]
          },
          "broadcast_location": {
            "$ref": "#/components/schemas/broadcast_location"
          },
          "closed_caption_type": {
            "type": "string",
            "description": "The type of closed caption data being passed from the source. The default, **none**, indicates that no data is being provided. **cea** indicates that a CEA closed captioning data stream is being provided. **on_text** indicates that an onTextData closed captioning data stream is being provided. **both** indicates that both CEA and onTextData closed captioning data streams are being provided.",
            "example": "",
            "enum": [
              "none",
              "cea",
              "on_text",
              "both"
            ]
          },
          "connection_code": {
            "type": "string",
            "description": "A six-character, alphanumeric string that allows certain encoders, including Wowza Streaming Engine and the Wowza GoCoder app, to connect with Wowza Video. The code can be used once and expires 24 hours after it's created.",
            "example": ""
          },
          "connection_code_expires_at": {
            "type": "string",
            "description": "The date and time that the *connection_code* expires.",
            "example": "",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the live stream was created.",
            "example": "",
            "format": "date-time"
          },
          "delivery_method": {
            "type": "string",
            "description": "The type of connection between the video source and the transcoder. The default, **push**, instructs the source to push the stream to the transcoder. **pull** instructs the transcoder to pull the video from the source. **cdn** uses a stream source to deliver the stream to the transcoder.",
            "example": "",
            "enum": [
              "pull",
              "cdn",
              "push"
            ]
          },
          "delivery_protocols": {
            "type": "array",
            "description": "An array of direct delivery protocols enabled for this live stream. By default, **rtmp**, **rtsp**, **webrtc**, and **wowz** are enabled.",
            "items": {
              "type": "string"
            }
          },
          "direct_playback_urls": {
            "type": "object",
            "description": "A list of direct playback URLs for the live stream's delivery protocols. Each protocol has a URL for the source and a URL for each output rendition.",
            "properties": {
              "delivery_protocol": {
                "type": "array",
                "description": "The name of the direct playback protocol.",
                "items": {
                  "type": "object",
                  "title": "direct_playback_url",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL: **source**, **default**,\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"
            ]
          },
          "hosted_page": {
            "$ref": "#/components/schemas/hosted_page_response_object"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the live stream.",
            "example": ""
          },
          "low_latency": {
            "type": "boolean",
            "description": "For streams whose *target_delivery_protocol* is **hls-https**. If **true**, turns off incoming and sort packet buffers and delivers smaller video packets to the player, which can reduce latency as long as networks can handle the increased overhead. The default is **false**.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the live stream. Maximum 200 characters.",
            "example": ""
          },
          "playback_stream_name": {
            "type": "string",
            "description": "The stream name used in the direct playback URL.",
            "example": ""
          },
          "player": {
            "$ref": "#/components/schemas/player_response_object"
          },
          "recording": {
            "type": "boolean",
            "description": "If **true**, creates a recording of the live stream. The recording starts when the live stream starts and stops automatically when the live stream stops.\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."
          },
          "source_connection_information": {
            "type": "object",
            "description": "Details that you can use to manually configure and connect a video source to the live stream.",
            "example": ""
          },
          "stream_source_id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream source, if a stream source is used.",
            "example": ""
          },
          "stream_targets": {
            "type": "array",
            "description": "An array of unique alphanumeric strings that identify the stream targets used by the live stream.",
            "items": {
              "type": "object",
              "title": "stream_targets",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the stream target.",
                  "example": "dcxq5q6c"
                }
              }
            }
          },
          "target_delivery_protocol": {
            "type": "string",
            "description": "The type of stream being delivered from Wowza Video. The default and only valid value is **hls-https**.",
            "example": "",
            "enum": [
              "hls-https"
            ]
          },
          "transcoder_type": {
            "type": "string",
            "description": "The type of transcoder, either **transcoded** for streams that are transcoded into adaptive bitrate renditions or **passthrough** for streams that aren't processed by the transcoder. The default is **transcoded**.",
            "example": "",
            "enum": [
              "transcoded",
              "passthrough"
            ]
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the live stream was updated.",
            "example": "",
            "format": "date-time"
          },
          "use_stream_source": {
            "type": "boolean",
            "description": "If **true**, uses a stream source to deliver the stream to Wowza Video. The default, **false**, pushes directly to Wowza Video.",
            "example": ""
          },
          "vod_stream": {
            "type": "boolean",
            "description": "If **true**, creates a VOD stream after the live stream ends. The default is **false**. VOD streams require a Fastly stream target with HLS as a delivery protocol.\n> **Note**: If **save_asset** is **true**, that field overrides a true **vod_stream** value and the asset is saved in Asset Management.",
            "example": ""
          }
        },
        "example": {
          "aspect_ratio_height": 1080,
          "aspect_ratio_width": 1920,
          "billing_mode": "pay_as_you_go",
          "broadcast_location": "us_west_california",
          "closed_caption_type": "cea",
          "connection_code": "0e15cb",
          "connection_code_expires_at": "2020-11-30T17:16:21.956Z",
          "created_at": "2020-01-29T17:16:21.956Z",
          "delivery_method": "push",
          "delivery_protocols": [
            "rtmp",
            "rtsp",
            "wowz",
            "webrtc"
          ],
          "direct_playback_urls": {
            "rtmp": [
              {
                "name": "source",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "rtsp": [
              {
                "name": "source",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "wowz": [
              {
                "name": "source",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "webrtc": [
              {
                "name": "source",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream6"
              }
            ]
          },
          "encoder": "other_rtmp",
          "hosted_page": {
            "enabled": true,
            "description": "My Hosted Page Description",
            "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/hosted_page_logo_image/23424/5bad28.jpg",
            "sharing_icons": true,
            "title": "My Hosted Page",
            "url": "https://player.video.wowza.com/hosted/e8dk5bf6/player.html"
          },
          "id": "wdjfqvsv",
          "name": "My PAYG Transcoded WSE Live Stream",
          "playback_stream_name": "wxyz6789",
          "player": {
            "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",
            "embed_code": null,
            "hls_playback_url": "https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8",
            "id": "kwb6pwnv",
            "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
            "logo_position": "top-right",
            "plugins": {
              "airplay": false,
              "chromecast": false
            },
            "responsive": false,
            "type": "wowza_flowplayer",
            "video_poster_image_url": "https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg",
            "width": 640
          },
          "recording": true,
          "reference_id": "mySystemID_01",
          "save_asset": false,
          "stream_source_id": "5skrfpyf",
          "stream_targets": [
            {
              "id": "klbmg2h8"
            },
            {
              "id": "bnjtdmmc"
            }
          ],
          "target_delivery_protocol": "hls-https",
          "transcoder_type": "transcoded",
          "updated_at": "2020-01-31T06:12:39.956Z",
          "use_stream_source": true,
          "vod_stream": true
        }
      },
      "Error422": {
        "type": "object",
        "description": "",
        "required": [
          "meta"
        ],
        "properties": {
          "meta": {
            "type": "object",
            "title": "meta",
            "description": "",
            "properties": {
              "status": {
                "type": "integer",
                "description": "",
                "example": "",
                "format": "int32"
              },
              "code": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "message": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "description": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "links": {
                "type": "array",
                "description": "",
                "example": "",
                "items": {}
              }
            }
          }
        },
        "example": {
          "Example Response 1": {
            "meta": {
              "status": 422,
              "code": "ERR-422-RecordInvalid",
              "title": "Record Invalid Error",
              "message": "The request couldn't be processed. ... can't be blank",
              "description": "",
              "links": []
            }
          },
          "Example Response 2": {
            "meta": {
              "status": 422,
              "code": "ERR-422-RecordInvalid",
              "title": "Record Invalid Error",
              "message": "The request couldn't be processed. Provider wowza_video is not allowed",
              "description": "",
              "links": []
            }
          }
        }
      },
      "Error403": {
        "type": "object",
        "description": "",
        "required": [
          "meta"
        ],
        "properties": {
          "meta": {
            "type": "object",
            "title": "meta",
            "description": "",
            "properties": {
              "status": {
                "type": "integer",
                "description": "",
                "example": "",
                "format": "int32"
              },
              "code": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "message": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "description": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "links": {
                "type": "array",
                "description": "",
                "example": "",
                "items": {}
              }
            }
          }
        },
        "example": {
          "Example Response 1": {
            "meta": {
              "status": 403,
              "code": "ERR-403-RecordUnaccessible",
              "title": "Record Unaccessible Error",
              "message": "The requested resource isn't accessible.",
              "description": "",
              "links": []
            }
          }
        }
      },
      "Error404": {
        "type": "object",
        "description": "",
        "required": [
          "meta"
        ],
        "properties": {
          "meta": {
            "type": "object",
            "title": "meta",
            "description": "",
            "properties": {
              "status": {
                "type": "integer",
                "description": "",
                "example": "",
                "format": "int32"
              },
              "code": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "message": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "description": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "links": {
                "type": "array",
                "description": "",
                "example": "",
                "items": {}
              }
            }
          }
        },
        "example": {
          "Example Response 1": {
            "meta": {
              "status": 404,
              "code": "ERR-404-RecordNotFound",
              "title": "Record Not Found Error",
              "message": "The requested resource couldn't be found.",
              "description": "",
              "links": []
            }
          }
        }
      },
      "Error410": {
        "type": "object",
        "description": "",
        "required": [
          "meta"
        ],
        "properties": {
          "meta": {
            "type": "object",
            "title": "meta",
            "description": "",
            "properties": {
              "status": {
                "type": "integer",
                "description": "",
                "example": "",
                "format": "int32"
              },
              "code": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "title": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "message": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "description": {
                "type": "string",
                "description": "",
                "example": ""
              },
              "links": {
                "type": "array",
                "description": "",
                "example": "",
                "items": {}
              }
            }
          }
        },
        "example": {
          "Example Response 1": {
            "meta": {
              "status": 410,
              "code": "ERR-410-RecordDeleted",
              "title": "Record Deleted Error",
              "message": "The requested resource has been deleted.",
              "description": "",
              "links": []
            }
          }
        }
      },
      "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": "Configuration of the player.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, the player fields are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
        "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\n**Example:** <code>\"aspect_ratio_height\": 1080</code>",
                "example": 1080,
                "format": "int32"
              },
              "aspect_ratio_width": {
                "type": "integer",
                "description": "The width, in pixels, of the video source. Should correspond to a widescreen (16:9) or standard (4:3) aspect ratio and be divisible by 8. Combined with **aspect_ratio_height**, makes up the input resolution.\n\n**Example:** <code>\"aspect_ratio_width\": 1920</code>",
                "example": 1920,
                "format": "int32"
              },
              "encoder": {
                "type": "string",
                "description": "The video source for the live stream. Choose the type of camera or encoder you're using to connect to the Wowza Video transcoder. If your specific device isn't listed, choose **ipcamera**, **other_rtmp**, or **other_rtsp**.\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"
                }
              },
              "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"
              },
              "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>"
              },
              "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
              }
            }
          }
        },
        "example": {
          "live_stream": {
            "name": "My Updated Live Stream",
            "recording": true
          }
        }
      },
      "audio_codec_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "The value of the associated key.",
            "example": "aac"
          }
        }
      },
      "bits_in_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "Kbps"
          },
          "value": {
            "type": "number",
            "description": "The value of the associated key.",
            "example": 317.3,
            "format": "float"
          }
        }
      },
      "bits_out_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "Kbps"
          },
          "value": {
            "type": "number",
            "description": "The value of the associated key.",
            "example": 856,
            "format": "float"
          }
        }
      },
      "bytes_in_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "KBps"
          },
          "value": {
            "type": "number",
            "description": "The value of the associated key.",
            "example": 317.3,
            "format": "float"
          }
        }
      },
      "bytes_out_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "KBps"
          },
          "value": {
            "type": "number",
            "description": "The value of the associated key.",
            "example": 856,
            "format": "float"
          }
        }
      },
      "configured_bytes_out_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "warning"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": "Outbound bitrate is lower than the configured bitrate. There might be a problem with the stream targets."
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "Kbps"
          },
          "value": {
            "type": "integer",
            "description": "The value of the associated key.",
            "example": 8192
          }
        }
      },
      "connected_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "The value of the associated key.",
            "example": "Yes"
          }
        }
      },
      "frame_size_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "warning"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": "Configured frame size is different from what Wowza Video is receiving from the source: 1280x720."
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "The value of the associated key.",
            "example": "1280x720"
          }
        }
      },
      "frame_rate_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "FPS"
          },
          "value": {
            "type": "integer",
            "description": "The value of the associated key.",
            "example": 30
          }
        }
      },
      "height_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "warning"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": "Configured height is different from what Wowza Video is receiving from the source: 720."
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "px"
          },
          "value": {
            "type": "integer",
            "description": "The value of the associated key.",
            "example": 720
          }
        }
      },
      "keyframe_interval_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "GOP"
          },
          "value": {
            "type": "integer",
            "description": "The value of the associated key.",
            "example": 69
          }
        }
      },
      "stream_target_status_OUTPUTIDX_STREAMTARGETIDX_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "The value of the associated key.",
            "example": "Active"
          }
        }
      },
      "unique_views_metric": {
        "type": "object",
        "description": "The number of unique viewers in the last 5 minutes.\n> **Note:** This parameter only returns data for Fastly stream targets.",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": "%"
          },
          "value": {
            "type": "integer",
            "description": "The value of the associated key.",
            "example": 1030
          }
        }
      },
      "video_codec_metric": {
        "type": "object",
        "description": "",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the current key. Possible values are **normal** (everything is fine), **warning** (something may be misconfigured), and **no_data** (no data was returned, perhaps because the instance isn't running).",
            "example": "normal"
          },
          "text": {
            "type": "string",
            "description": "A message related to the value and status of the current key. Usually blank unless there's a warning status.",
            "example": ""
          },
          "units": {
            "type": "string",
            "description": "The unit of the returned value, such as **Kbps**, **bps**, **%**, **FPS**, or **GOP**.",
            "example": ""
          },
          "value": {
            "type": "string",
            "description": "The value of the associated key.\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
          }
        }
      },
      "shm_metrics": {
        "type": "object",
        "description": "",
        "properties": {
          "audio_codec": {
            "$ref": "#/components/schemas/audio_codec_metric"
          },
          "bits_in_rate": {
            "$ref": "#/components/schemas/bits_in_rate_metric"
          },
          "bits_out_rate": {
            "$ref": "#/components/schemas/bits_out_rate_metric"
          },
          "bytes_in_rate": {
            "$ref": "#/components/schemas/bytes_in_rate_metric"
          },
          "bytes_out_rate": {
            "$ref": "#/components/schemas/bytes_out_rate_metric"
          },
          "configured_bytes_out_rate": {
            "$ref": "#/components/schemas/configured_bytes_out_rate_metric"
          },
          "connected": {
            "$ref": "#/components/schemas/connected_metric"
          },
          "frame_size": {
            "$ref": "#/components/schemas/frame_size_metric"
          },
          "frame_rate": {
            "$ref": "#/components/schemas/frame_rate_metric"
          },
          "height": {
            "$ref": "#/components/schemas/height_metric"
          },
          "keyframe_interval": {
            "$ref": "#/components/schemas/keyframe_interval_metric"
          },
          "stream_target_status_OUTPUTIDX_STREAMTARGETIDX": {
            "$ref": "#/components/schemas/stream_target_status_OUTPUTIDX_STREAMTARGETIDX_metric"
          },
          "unique_views": {
            "$ref": "#/components/schemas/unique_views_metric"
          },
          "video_codec": {
            "$ref": "#/components/schemas/video_codec_metric"
          },
          "width": {
            "$ref": "#/components/schemas/width_metric"
          }
        }
      },
      "index_player": {
        "type": "object",
        "title": "players",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the player was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the player.",
            "example": ""
          },
          "transcoder_id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the transcoder.",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "The player you want to use.\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.\n<blockquote>If you're using the 1.11 API with the new Wowza Video user interface, the player fields are ignored. The default player configuration is used instead. Create and change player configurations in the user interface.</blockquote> ",
            "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://player.video.wowza.com/hosted/e8dk5bf6/player.html"
          },
          "id": "e8dk5bf6",
          "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg",
          "logo_position": "top-right",
          "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://player.video.wowza.com/hosted/e8dk5bf6/player.html"
              },
              "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://player.video.wowza.com/hosted/e8dk5bf6/player.html"
              }
            }
          }
        }
      },
      "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"
          },
          "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",
          "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"
                ]
              },
              "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"
              }
            }
          }
        }
      },
      "index_stream_source": {
        "type": "object",
        "description": "",
        "title": "stream_sources",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream source was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream source.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream source. Maximum 255 characters.",
            "example": ""
          },
          "type": {
            "type": "string",
            "description": "An **akamai** stream source is a Wowza Video edge resource that sends streams to a Wowza Video transcoder using the RTMP protocol. A **wowza** stream source enables automatic transcoder start, stop, and broadcast location detection.",
            "example": "",
            "enum": [
              "akamai",
              "wowza"
            ]
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream source was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_sources": {
        "type": "object",
        "description": "",
        "required": [
          "stream_sources"
        ],
        "properties": {
          "stream_sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_stream_source"
            }
          }
        },
        "example": {
          "stream_sources": [
            {
              "id": "cJYndjJt",
              "name": "My region-based Stream Source",
              "type": "wowza",
              "created_at": "2020-01-29T17:16:22.000Z",
              "updated_at": "2020-01-31T02:37:48.000Z"
            },
            {
              "id": "pvVWPLZC",
              "name": "My IP address based Stream Source",
              "type": "wowza",
              "created_at": "2020-01-28T17:16:22.000Z",
              "updated_at": "2020-01-30T14:13:07.000Z"
            }
          ]
        }
      },
      "index_wowza_stream_source": {
        "type": "object",
        "description": "",
        "title": "stream_sources_wowza",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the Wowza stream source.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the Wowza stream source. Maximum 255 characters.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_sources_wowza": {
        "type": "object",
        "description": "",
        "required": [
          "stream_sources_wowza"
        ],
        "properties": {
          "stream_sources_wowza": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_wowza_stream_source"
            }
          }
        },
        "example": {
          "stream_sources_wowza": [
            {
              "created_at": "2020-01-29T17:16:22.001Z",
              "id": "cJYndjJt",
              "name": "My Wowza Stream Source",
              "updated_at": "2020-01-30T19:44:59.001Z"
            },
            {
              "created_at": "2020-01-28T17:16:22.001Z",
              "id": "pvVWPLZC",
              "name": "My other Wowza Stream Source",
              "updated_at": "2020-01-31T01:17:45.001Z"
            }
          ]
        }
      },
      "wowza_stream_source_create_input": {
        "type": "object",
        "description": "",
        "required": [
          "stream_source_wowza"
        ],
        "properties": {
          "stream_source_wowza": {
            "type": "object",
            "title": "stream_source_wowza",
            "description": "",
            "example": {
              "name": "My Wowza Stream Source"
            },
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the Wowza stream source. Maximum 255 characters.",
                "example": "My region-based Akamai Stream Source"
              }
            }
          }
        }
      },
      "stream_source_wowza": {
        "type": "object",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the Wowza stream source.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the Wowza stream source. Maximum 255 characters.",
            "example": ""
          },
          "primary_url": {
            "type": "string",
            "description": "The origin URL where you send your source stream.",
            "example": ""
          },
          "state": {
            "type": "string",
            "description": "The current state of the Wowza stream source.",
            "example": "",
            "enum": [
              "started",
              "stopped",
              "error"
            ]
          },
          "stream_name": {
            "type": "string",
            "description": "The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was updated.",
            "example": "",
            "format": "date-time"
          }
        },
        "example": {
          "created_at": "2020-01-29T17:16:22.001Z",
          "id": "brcndjJt",
          "name": "My Wowza Stream Source",
          "primary_url": "rtmp://origin.cdn.wowza.com:1935/live",
          "state": "stopped",
          "stream_name": "0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102",
          "updated_at": "2020-01-31T07:32:43.001Z"
        }
      },
      "wowza_stream_source_update_input": {
        "type": "object",
        "description": "",
        "required": [
          "stream_source_wowza"
        ],
        "properties": {
          "stream_source_wowza": {
            "type": "object",
            "title": "stream_source_wowza",
            "description": "",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the Wowza stream source. Maximum 255 characters.",
                "example": "My Updated Wowza Stream Source"
              }
            }
          }
        }
      },
      "wowza_stream_source_patch_response": {
        "type": "object",
        "title": "stream_source_wowza",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the Wowza stream source.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the Wowza stream source. Maximum 255 characters.",
            "example": ""
          },
          "primary_url": {
            "type": "string",
            "description": "The origin URL where you send your source stream.",
            "example": ""
          },
          "state": {
            "type": "string",
            "description": "The current state of the Wowza stream source.",
            "example": "",
            "enum": [
              "started",
              "stopped",
              "error"
            ]
          },
          "stream_name": {
            "type": "string",
            "description": "The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the Wowza stream source was updated.",
            "example": "",
            "format": "date-time"
          }
        },
        "example": {
          "created_at": "2020-01-29T17:16:22.001Z",
          "id": "brcndjJt",
          "name": "My Updated Wowza Stream Source",
          "primary_url": "rtmp://origin.cdn.wowza.com:1935/live",
          "state": "stopped",
          "stream_name": "0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102",
          "updated_at": "2020-01-31T14:56:21.001Z"
        }
      },
      "index_stream_target": {
        "type": "object",
        "description": "",
        "title": "stream_targets",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "state": {
            "type": "string",
            "description": "The state of the stream target.",
            "example": "activated",
            "enum": [
              "activated",
              "archived"
            ]
          },
          "type": {
            "type": "string",
            "description": "**custom** is an external, third-party destination and **fastly** is a Wowza CDN on Fastly target. ",
            "example": "",
            "enum": [
              "custom",
              "fastly"
            ]
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_targets": {
        "type": "object",
        "description": "",
        "required": [
          "stream_targets"
        ],
        "properties": {
          "stream_targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_stream_target"
            }
          }
        },
        "example": {
          "stream_targets": [
            {
              "created_at": "2020-01-29T17:16:22.007Z",
              "id": "qvvjyjjk",
              "name": "My RTMP Stream Target",
              "state": "deactivated",
              "type": "wowza",
              "updated_at": "2020-01-31T02:05:18.007Z"
            },
            {
              "created_at": "2020-01-28T17:16:22.007Z",
              "id": "j75mlh3v",
              "name": "My HLS Push Stream Target",
              "state": "activated",
              "type": "custom",
              "updated_at": "2020-01-31T11:02:53.007Z"
            }
          ]
        }
      },
      "index_custom_stream_target": {
        "type": "object",
        "description": "",
        "title": "stream_targets_custom",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the custom stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the custom stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the custom stream target. Maximum 255 characters.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the custom stream target was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_targets_custom": {
        "type": "object",
        "description": "",
        "required": [
          "stream_targets_custom"
        ],
        "properties": {
          "stream_targets_custom": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_custom_stream_target"
            }
          }
        },
        "example": {
          "stream_targets_custom": [
            {
              "created_at": "2020-01-28T17:16:22.008Z",
              "id": "RMS45lfvx",
              "name": "My Custom Stream Target",
              "updated_at": "2020-01-31T00:44:50.008Z"
            },
            {
              "created_at": "2020-01-28T17:16:22.008Z",
              "id": "ABC45lxyz",
              "name": "My Second Custom Stream Target",
              "updated_at": "2020-01-31T02:05:33.008Z"
            }
          ]
        }
      },
      "custom_stream_target_input": {
        "type": "object",
        "description": "",
        "required": [
          "stream_target_custom"
        ],
        "properties": {
          "stream_target_custom": {
            "type": "object",
            "title": "stream_target_custom",
            "description": "",
            "required": [
              "name",
              "primary_url",
              "provider",
              "stream_name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the custom stream target. Maximum 255 characters.",
                "example": "My Custom Stream Target"
              },
              "primary_url": {
                "type": "string",
                "description": "The primary RTMP ingest URL. Hostnames can't contain underscores.",
                "example": "rtmp://p.ep337857.i.akamaientrypoint.net/EntryPoint"
              },
              "provider": {
                "type": "string",
                "description": "The CDN for the target.",
                "example": "rtmp",
                "enum": [
                  "akamai_cupertino",
                  "rtmp",
                  "rtmps"
                ]
              },
              "stream_name": {
                "type": "string",
                "description": "The name of the stream as defined in the target's ingestion settings. The protocol, host name, and path components of the stream name URL must be 255 characters or less. The query strings and parameter components of the stream name URL must be 1024 characters or less.",
                "example": "c8467d50@337857"
              },
              "backup_url": {
                "type": "string",
                "description": "The backup RTMP ingest URL of the custom stream target. Not all providers or third-party CDNs provide backup URLs. Not for use with the akamai_cuptertino custom *provider*.\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_fastly",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_targets_fastly": {
        "type": "object",
        "description": "",
        "required": [
          "stream_targets_fastly"
        ],
        "properties": {
          "stream_targets_fastly": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_fastly_stream_target"
            }
          }
        },
        "example": {
          "stream_targets_fastly": [
            {
              "created_at": "2020-01-28T17:16:22.010Z",
              "id": "abc45lfyz",
              "name": "My Wowza CDN on Fastly Stream Target",
              "updated_at": "2020-01-31T12:37:22.010Z"
            },
            {
              "created_at": "2020-01-28T17:16:22.010Z",
              "id": "rdm45lxyz",
              "name": "My Second Wowza CDN on Fastly Stream Target",
              "updated_at": "2020-01-31T14:17:28.010Z"
            }
          ]
        }
      },
      "stream_target_property_fastly": {
        "type": "object",
        "title": "property",
        "description": "",
        "required": [
          "key",
          "section",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "The key of the property.\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_fastly"
        ],
        "properties": {
          "stream_target_fastly": {
            "type": "object",
            "title": "stream_target_fastly",
            "description": "",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.",
                "example": "My Fastly Stream Target"
              },
              "custom_origin_region": {
                "type": "string",
                "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.\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**."
              },
              "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_fastly": {
            "name": "My Wowza CDN on Fastly Stream Target"
          }
        }
      },
      "stream_target_fastly": {
        "type": "object",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "custom_origin_region": {
            "type": "string",
            "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.",
            "example": "",
            "format": "string"
          },
          "custom_origin_url": {
            "type": "string",
            "description": "The Wowza Streaming Engine instance's domain or IP address. Available from version 1.6.",
            "example": "",
            "format": "string"
          },
          "delivery_protocols": {
            "type": "array",
            "description": "An array of the delivery protocols available for this stream target. Available from version 1.7.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "force_ssl_playback": {
            "type": "boolean",
            "description": "If **true**, requires users to play the stream over HTTPS. If **false**, the default, users can play the stream over HTTPS or HTTP.",
            "example": ""
          },
          "geoblock_enabled": {
            "type": "boolean",
            "description": "If **true**, controls access to the stream from specific locations and, optionally, IP addresses. The default is **false**.",
            "example": ""
          },
          "geoblock_by_location": {
            "type": "string",
            "description": "Specifies whether to **allow** or **deny** access to the stream from specific locations. The default is **disabled**.",
            "example": "",
            "enum": [
              "allow",
              "deny",
              "disabled"
            ]
          },
          "geoblock_country_codes": {
            "type": "string",
            "description": "Required when *geoblock_by_location* is **allow** or **deny**. The locations affected by the geo-blocking. Enter a comma-separated list of capitalized two-letter ISO 3166-1 country codes. For a list, see [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.",
            "example": ""
          },
          "geoblock_ip_override": {
            "type": "string",
            "description": "Specifies whether specific IP addresses can override the locations that are allowed or restricted. **allow** permits access from IP addresses within a location that's been blocked, while **deny** restricts access from IP addresses within locations that are allowed. The default is **disabled**.",
            "example": "",
            "enum": [
              "allow",
              "deny",
              "disabled"
            ]
          },
          "geoblock_ip_addresses": {
            "type": "string",
            "description": "Required when *geoblock_ip_override* is **allow** or **deny**. Addresses that can access or restrict the stream even if they're within a specified geo-blocked location. Enter a comma-separated list of IPv4 and IPv6 IP addresses that always allow or deny streaming based on the *geoblock_ip_override* value.",
            "example": ""
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "playback_urls": {
            "type": "object",
            "description": "Web addresses that the target uses to play streams.",
            "properties": {
              "hls": {
                "type": "array",
                "description": "Web address that the target uses to play HLS streams.",
                "items": {
                  "type": "object",
                  "title": "hls",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              }
            }
          },
          "state": {
            "type": "string",
            "description": "The state of the stream target.",
            "example": "",
            "enum": [
              "activated",
              "archived"
            ]
          },
          "stream_name": {
            "type": "string",
            "description": "The name of the stream being ingested into the target.",
            "example": ""
          },
          "referer_enabled": {
            "type": "boolean",
            "description": "If **true**, controls access to the stream from specific domains. The client or player requesting access to the stream must send the Referer header so the origin of the request can be validated. The default is **false**.\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 on Fastly Stream Target",
          "state": "activated",
          "stream_name": "9a00105a",
          "delivery_protocols": [
            "hls"
          ],
          "playback_urls": {
            "hls": [
              {
                "name": "default",
                "url": "https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8"
              }
            ]
          },
          "token_auth_enabled": false,
          "token_auth_playlist_only": false,
          "geoblock_enabled": true,
          "geoblock_by_location": "allow",
          "geoblock_country_codes": "DE, US",
          "geoblock_ip_override": "deny",
          "geoblock_ip_addresses": "77.12.34.567, 78.23.45.678",
          "referer_enabled": true,
          "referer_allow_empty": false,
          "referer_policy": "allow",
          "referer_domains": "example.com, example2.com",
          "force_ssl_playback": false,
          "created_at": "2020-01-28T17:16:22.086Z",
          "updated_at": "2020-01-30T15:33:43.086Z"
        }
      },
      "fastly_stream_target_update_input": {
        "type": "object",
        "description": "",
        "required": [
          "stream_target_fastly"
        ],
        "properties": {
          "stream_target_fastly": {
            "type": "object",
            "title": "stream_target_fastly",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.\n\n**Example:** <code>\"name\": \"My Updated Fastly Stream Target\"</code>",
                "example": "My Updated Fastly Stream Target"
              },
              "custom_origin_region": {
                "type": "string",
                "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.\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**."
              },
              "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 on Fastly Stream Target"
            }
          }
        }
      },
      "fastly_stream_target_patch_response": {
        "type": "object",
        "title": "stream_target_fastly",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "custom_origin_region": {
            "type": "string",
            "description": "The region where your Wowza Streaming Engine instance is located. Available from version 1.6.",
            "example": "",
            "format": "string"
          },
          "custom_origin_url": {
            "type": "string",
            "description": "The Wowza Streaming Engine instance's domain or IP address. Available from version 1.6.",
            "example": "",
            "format": "string"
          },
          "delivery_protocols": {
            "type": "array",
            "description": "An array of the delivery protocols available for this stream target. Available from version 1.7.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "force_ssl_playback": {
            "type": "boolean",
            "description": "If **true**, requires users to play the stream over HTTPS. If **false**, the default, users can play the stream over HTTPS or HTTP.",
            "example": ""
          },
          "geoblock_enabled": {
            "type": "boolean",
            "description": "If **true**, controls access to the stream from specific locations and, optionally, IP addresses. The default is **false**.",
            "example": ""
          },
          "geoblock_by_location": {
            "type": "string",
            "description": "Specifies whether to **allow** or **deny** access to the stream from specific locations. The default is **disabled**.",
            "example": "",
            "enum": [
              "allow",
              "deny",
              "disabled"
            ]
          },
          "geoblock_country_codes": {
            "type": "string",
            "description": "Required when *geoblock_by_location* is **allow** or **deny**. The locations affected by the geo-blocking. Enter a comma-separated list of capitalized two-letter ISO 3166-1 country codes. For a list, see [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.",
            "example": ""
          },
          "geoblock_ip_override": {
            "type": "string",
            "description": "Specifies whether specific IP addresses can override the locations that are allowed or restricted. **allow** permits access from IP addresses within a location that's been blocked, while **deny** restricts access from IP addresses within locations that are allowed. The default is **disabled**.",
            "example": "",
            "enum": [
              "allow",
              "deny",
              "disabled"
            ]
          },
          "geoblock_ip_addresses": {
            "type": "string",
            "description": "Required when *geoblock_ip_override* is **allow** or **deny**. Addresses that can access or restrict the stream even if they're within a specified geo-blocked location. Enter a comma-separated list of IPv4 and IPv6 IP addresses that always allow or deny streaming based on the *geoblock_ip_override* value.",
            "example": ""
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "playback_urls": {
            "type": "object",
            "description": "Web addresses that the target uses to play streams.",
            "properties": {
              "hls": {
                "type": "array",
                "description": "Web address that the target uses to play HLS streams.",
                "items": {
                  "type": "object",
                  "title": "hls",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              }
            }
          },
          "referer_enabled": {
            "type": "boolean",
            "description": "If **true**, controls access to the stream from specific domains. The client or player requesting access to the stream must send the Referer header so the origin of the request can be validated. The default is **false**.\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 on Fastly Stream Target",
          "state": "activated",
          "stream_name": "9a00105a",
          "delivery_protocols": [
            "hls"
          ],
          "playback_urls": {
            "hls": [
              {
                "name": "default",
                "url": "https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8"
              }
            ]
          },
          "token_auth_enabled": false,
          "token_auth_playlist_only": false,
          "geoblock_enabled": false,
          "referer_enabled": false,
          "force_ssl_playback": false,
          "created_at": "2020-01-28T17:16:22.086Z",
          "updated_at": "2020-01-30T18:13:55.087Z"
        }
      },
      "vod_streams": {
        "type": "object",
        "description": "",
        "required": [
          "vod_streams"
        ],
        "properties": {
          "vod_streams": {
            "type": "array",
            "items": {
              "type": "object",
              "title": "vod_streams",
              "description": "",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique alphanumeric string that identifies the VOD stream.",
                  "example": ""
                },
                "name": {
                  "type": "string",
                  "description": "A descriptive name for the VOD stream. Maximum 200 characters.",
                  "example": ""
                },
                "state": {
                  "type": "string",
                  "description": "The state of the VOD stream.",
                  "example": "",
                  "enum": [
                    "processing",
                    "completed",
                    "failed"
                  ]
                },
                "playback_enabled": {
                  "type": "boolean",
                  "description": "Specifies whether playback is enabled for the VOD stream.",
                  "example": "",
                  "enum": [
                    true,
                    false
                  ]
                },
                "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"
            }
          ]
        }
      },
      "index_wowza_akamai_stream_target": {
        "type": "object",
        "description": "",
        "title": "stream_targets_akamai",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          }
        }
      },
      "stream_targets_akamai": {
        "type": "object",
        "description": "",
        "required": [
          "stream_targets_akamai"
        ],
        "properties": {
          "stream_targets_akamai": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/index_wowza_akamai_stream_target"
            }
          }
        },
        "example": {
          "stream_targets_akamai": [
            {
              "created_at": "2020-01-28T17:16:22.009Z",
              "id": "ABC45lfyz",
              "name": "My Wowza Stream Target",
              "updated_at": "2020-01-30T20:12:11.010Z"
            },
            {
              "created_at": "2020-01-28T17:16:22.010Z",
              "id": "RDM45lxyz",
              "name": "My Second Wowza Stream Target",
              "updated_at": "2020-01-30T15:24:23.010Z"
            }
          ]
        }
      },
      "stream_target_akamai": {
        "type": "object",
        "description": "",
        "properties": {
          "backup_url": {
            "type": "string",
            "description": "The backup RTMP ingest URL of the Wowza Stream Target. Not for use with the akamai_cupertino custom *provider*.\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.",
            "example": ""
          },
          "connection_code": {
            "type": "string",
            "description": "A six-character, alphanumeric string that allows Wowza Streaming Engine to send a transcoded stream to a Wowza stream target. The code can be used once and expires 24 hours after it's created.",
            "example": ""
          },
          "connection_code_expires_at": {
            "type": "string",
            "description": "The date and time that the *connection_code* expires.",
            "example": "",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "delivery_protocols": {
            "type": "array",
            "description": "An array of the delivery protocols available for this stream target. Available from version 1.7.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "location": {
            "type": "string",
            "description": "Choose a location as close as possible to your video source. Not for use with the akamai_cupertino custom *provider*.",
            "example": "",
            "enum": [
              "asia_pacific_australia",
              "asia_pacific_japan",
              "asia_pacific_s_korea",
              "asia_pacific_singapore",
              "asia_pacific_taiwan",
              "eu_belgium",
              "eu_germany",
              "eu_ireland",
              "south_america_brazil",
              "us_central_iowa",
              "us_east_s_carolina",
              "us_east_virginia",
              "us_west_california",
              "us_west_oregon"
            ]
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "playback_urls": {
            "type": "object",
            "description": "Web addresses that the target uses to play streams.",
            "properties": {
              "hls": {
                "type": "array",
                "description": "Web address that the target uses to play HLS streams. Only for targets whose *provider* is **akamai_cupertino**.",
                "items": {
                  "type": "object",
                  "title": "hls",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              },
              "hds": {
                "type": "array",
                "description": "Web address that the target uses to play HDS streams.",
                "items": {
                  "type": "object",
                  "title": "hds",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              }
            }
          },
          "primary_url": {
            "type": "string",
            "description": "The primary ingest URL of the target.",
            "example": ""
          },
          "provider": {
            "type": "string",
            "description": "The CDN for the target.",
            "example": ""
          },
          "secure_ingest_query_param": {
            "type": "string",
            "description": "Only for targets whose *use_secure_ingest* is **true**. The query parameter needed for secure stream delivery between the transcoder and the target.",
            "example": ""
          },
          "stream_name": {
            "type": "string",
            "description": "The name of the stream being ingested into the target.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          },
          "use_cors": {
            "type": "boolean",
            "description": "Only for Wowza custom stream targets whose *provider* is **akamai_cupertino**. CORS, or cross-origin resource sharing, allows streams to be safely delivered across domains.",
            "example": ""
          },
          "use_secure_ingest": {
            "type": "boolean",
            "description": "Only for Wowza custom stream targets whose *provider* is **akamai_cupertino**. If **true**, generates a *secure_ingest_query_param* to securely deliver the stream from the transcoder to the provider.",
            "example": ""
          }
        },
        "example": {
          "created_at": "2020-01-28T17:16:22.086Z",
          "id": "ABC45lfyz",
          "name": "My Wowza Stream Target",
          "provider": "akamai_cupertino",
          "delivery_protocols": [
            "hls"
          ],
          "use_secure_ingest": false,
          "use_cors": false,
          "stream_name": "9a00105a",
          "primary_url": "http://post.wowzasandbox3-i.akamaihd.net/252232/9a00105a",
          "playback_urls": {
            "hls": [
              {
                "name": "default",
                "url": "https://wowzasandbox3-i.akamaihd.net/hls/live/252232/9a00105a/playlist.m3u8"
              }
            ]
          },
          "connection_code": "456fcc",
          "connection_code_expires_at": "2020-02-01T17:16:22.086Z",
          "updated_at": "2020-01-31T05:08:12.086Z"
        }
      },
      "stream_target_property_akamai": {
        "type": "object",
        "title": "property",
        "description": "",
        "required": [
          "key",
          "section",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "The key of the property.\n\nThe following table lists the available property keys.\n\nKey | Description\n----------------|-------------\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**playSSL** | Determines whether Wowza Video sends the stream from the target to the player by using SSL (HTTPS).\n**sendSSL** | Determines whether Wowza Video sends the stream from the transcoder to the target by using SSL (HTTPS).\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.\n**relativePlaylists** | Allows the viewer to watch the stream over HTTP and HTTPS, whichever protocol their browser calls. ",
            "example": "",
            "enum": [
              "chunkSize",
              "convertAMFData",
              "sendSSL",
              "playSSL",
              "playlistSeconds",
              "redundantChunklists",
              "relativePlaylists"
            ]
          },
          "section": {
            "type": "string",
            "description": "The section of the stream target configuration table that contains the\nproperty.\n\n\nSection | Valid keys for the section\n----------------|-------------\n**hls** | **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**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
        }
      },
      "wowza_akamai_stream_target_update_input": {
        "type": "object",
        "description": "",
        "required": [
          "stream_target_akamai"
        ],
        "properties": {
          "stream_target_akamai": {
            "type": "object",
            "title": "stream_target_akamai",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.",
                "example": "My Wowza Stream Target"
              },
              "properties": {
                "type": "array",
                "description": "Configures one or more stream target properties for a Wowza stream target whose provider is **akamai_cupertino**. The property configuration consists of a key/value pair and the section of the stream target configuration table the key/value pair is stored in. Available from version 1.7.",
                "items": {
                  "$ref": "#/components/schemas/stream_target_property_akamai"
                }
              },
              "provider": {
                "type": "string",
                "description": "The CDN for the target.",
                "example": "akamai",
                "enum": [
                  "akamai",
                  "akamai_cupertino",
                  "akamai_legacy_rtmp"
                ]
              }
            },
            "example": {
              "name": "My Updated Wowza Stream Target"
            }
          }
        }
      },
      "wowza_akamai_stream_target_patch_response": {
        "type": "object",
        "title": "stream_target_akamai",
        "description": "",
        "properties": {
          "backup_url": {
            "type": "string",
            "description": "The backup RTMP ingest URL of the Wowza Stream Target. Not for use with the akamai_cupertino custom *provider*.\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.",
            "example": ""
          },
          "connection_code": {
            "type": "string",
            "description": "A six-character, alphanumeric string that allows Wowza Streaming Engine to send a transcoded stream to a Wowza stream target. The code can be used once and expires 24 hours after it's created.",
            "example": ""
          },
          "connection_code_expires_at": {
            "type": "string",
            "description": "The date and time that the *connection_code* expires.",
            "example": "",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "delivery_protocols": {
            "type": "array",
            "description": "An array of the delivery protocols available for this stream target. Available from version 1.7.",
            "example": "",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "location": {
            "type": "string",
            "description": "Choose a location as close as possible to your video source. Not for use with the akamai_cupertino custom *provider*.",
            "example": "",
            "enum": [
              "asia_pacific_australia",
              "asia_pacific_japan",
              "asia_pacific_s_korea",
              "asia_pacific_singapore",
              "asia_pacific_taiwan",
              "eu_belgium",
              "eu_germany",
              "eu_ireland",
              "south_america_brazil",
              "us_central_iowa",
              "us_east_s_carolina",
              "us_east_virginia",
              "us_west_california",
              "us_west_oregon"
            ]
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the stream target. Maximum 255 characters.",
            "example": ""
          },
          "playback_urls": {
            "type": "object",
            "description": "Web addresses that the target uses to play streams. Available from version 1.7.",
            "properties": {
              "hls": {
                "type": "array",
                "description": "Web address that the target uses to play HLS streams. Only for targets whose *provider* is **akamai_cupertino*",
                "items": {
                  "type": "object",
                  "title": "hls",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              },
              "hds": {
                "type": "array",
                "description": "Web address that the target uses to play HDS streams.",
                "items": {
                  "type": "object",
                  "title": "hds",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the playback URL.",
                      "example": "default"
                    },
                    "url": {
                      "type": "string",
                      "description": "The playback URL.",
                      "example": ""
                    }
                  }
                }
              }
            }
          },
          "primary_url": {
            "type": "string",
            "description": "The primary ingest URL of the target.",
            "example": ""
          },
          "provider": {
            "type": "string",
            "description": "The CDN for the target.",
            "example": ""
          },
          "secure_ingest_query_param": {
            "type": "string",
            "description": "Only for targets whose *use_secure_ingest* is **true**. The query parameter needed for secure stream delivery between the transcoder and the target.",
            "example": ""
          },
          "stream_name": {
            "type": "string",
            "description": "The name of the stream being ingested into the target.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the stream target was updated.",
            "example": "",
            "format": "date-time"
          },
          "use_cors": {
            "type": "boolean",
            "description": "Only for Wowza stream targets whose *provider* is **akamai_cupertino**. CORS, or cross-origin resource sharing, allows streams to be safely delivered across domains.",
            "example": ""
          },
          "use_secure_ingest": {
            "type": "boolean",
            "description": "Only for Wowza stream targets whose *provider* is **akamai_cupertino**. If **true**, generates a *secure_ingest_query_param* to securely deliver the stream from the transcoder to the provider.",
            "example": ""
          }
        },
        "example": {
          "created_at": "2020-01-28T17:16:22.086Z",
          "id": "ABC45lfyz",
          "name": "My Updated Wowza Stream Target",
          "provider": "akamai_cupertino",
          "delivery_protocols": [
            "hls"
          ],
          "use_secure_ingest": false,
          "use_cors": false,
          "stream_name": "9a00105a",
          "primary_url": "http://post.wowzasandbox3-i.akamaihd.net/252232/9a00105a",
          "playback_urls": {
            "hls": [
              {
                "name": "default",
                "url": "https://wowzasandbox3-i.akamaihd.net/hls/live/252232/9a00105a/playlist.m3u8"
              }
            ]
          },
          "connection_code": "456fcc",
          "connection_code_expires_at": "2020-02-01T17:16:22.086Z",
          "updated_at": "2020-01-31T13:04:44.086Z"
        }
      },
      "stream_target_property": {
        "type": "object",
        "title": "property",
        "description": "A stream target property. The property configuration consists of a key/value pair and the section of the stream target configuration table the key/value pair is stored in.",
        "required": [
          "key",
          "section",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "The key of the property.\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**vod_stream** | <ul><li>**hls**</li><li>**live2vod**</li></li></ul><br/>**Note:** VOD streams require a Fastly stream target with HLS as a delivery protocol.",
            "example": ""
          },
          "section": {
            "type": "string",
            "description": "The section of the transcoder configuration table that contains the property.",
            "example": "",
            "enum": [
              "asset_management",
              "cupertino",
              "ezdrm",
              "file",
              "output",
              "recording",
              "rtmp",
              "rtsp",
              "vod_stream"
            ]
          },
          "value": {
            "type": "string",
            "description": "The value of the property.\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**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. The default is **transcoded**.",
                "example": "",
                "enum": [
                  "transcoded",
                  "passthrough"
                ]
              },
              "buffer_size": {
                "type": "integer",
                "description": "The size, in milliseconds, of the incoming buffer. **0** means no buffer. The default is **4000** (4 seconds).\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_smoother": {
                "type": "boolean",
                "description": "A dynamic buffer that helps stabilize streams in rough network conditions, but adds latency. Specify **true** to enable stream smoothing. The default is **false**.\n\n**Example:** <code>\"stream_smoother\": false</code>",
                "example": ""
              },
              "stream_source_id": {
                "type": "string",
                "description": "For the *delivery_method* **cdn**. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.\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",
            "name": "My PAYG Transcoder",
            "protocol": "rtmp",
            "transcoder_type": "transcoded"
          }
        }
      },
      "output_stream_target": {
        "type": "object",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the output stream target was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the output stream target.",
            "example": ""
          },
          "stream_target": {
            "$ref": "#/components/schemas/index_stream_target"
          },
          "stream_target_id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the stream target.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the output stream target was updated.",
            "example": "",
            "format": "date-time"
          },
          "use_stream_target_backup_url": {
            "type": "boolean",
            "description": "Specifies whether the output stream target uses the stream target's primary or backup URL.",
            "example": ""
          }
        },
        "example": {
          "id": "4Gp5rF23",
          "stream_target_id": "QvvJYJjk",
          "use_stream_target_backup_url": true,
          "stream_target": {
            "id": "QvvJYJjk",
            "name": "My provisioned RTMP Stream Target",
            "type": "wowza",
            "created_at": "2020-01-29T17:16:21.965Z",
            "updated_at": "2020-01-31T04:06:40.965Z"
          }
        }
      },
      "output": {
        "type": "object",
        "description": "",
        "properties": {
          "aspect_ratio_height": {
            "type": "integer",
            "description": "The height, in pixels, of the output rendition. Should correspond to a widescreen or standard aspect ratio and be divisible by 8. The default is **1080**. Combined with **aspect_ratio_width**, makes up the input resolution.",
            "example": "",
            "format": "int32"
          },
          "aspect_ratio_width": {
            "type": "integer",
            "description": "The width, in pixels, of the output rendition. Should correspond to a widescreen or standard aspect ratio and be divisible by 8. The default is **1920**. Combined with **aspect_ratio_height**, makes up the input resolution.",
            "example": "",
            "format": "int32"
          },
          "bitrate_audio": {
            "type": "integer",
            "description": "The audio bitrate, in kilobits per second (Kbps). Must be between **1** and **9999**. If the **audio_codec** is **opus**, the default is **510**, otherwise the default is **128**.",
            "example": "",
            "format": "int32"
          },
          "bitrate_video": {
            "type": "integer",
            "description": "The video bitrate, in kilobits per second (Kbps). Must be between **1** and **10240**. The default is **4000**.",
            "example": "",
            "format": "int32"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the output rendition was created.",
            "example": "",
            "format": "date-time"
          },
          "framerate_reduction": {
            "type": "string",
            "description": "Reduce the frame rate of the transcoded output rendition. The default, **0**, uses the encoded stream's frame rate without reduction.",
            "example": "",
            "enum": [
              "0",
              "1/2",
              "1/4",
              "1/25",
              "1/30",
              "1/50",
              "1/60"
            ]
          },
          "h264_profile": {
            "type": "string",
            "description": "The encoding method. Specify **main** for desktop streaming, **baseline** for playback on mobile devices, or **high** for HD playback. The default is **high**.",
            "example": "",
            "enum": [
              "main",
              "baseline",
              "high"
            ]
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the output rendition.",
            "example": ""
          },
          "keyframes": {
            "type": "string",
            "description": "The interval used to define the compression applied to a group of frames. The default, **follow_source**, uses the keyframe interval of the source video.",
            "example": "",
            "enum": [
              "follow_source",
              "25",
              "30",
              "50",
              "60",
              "100",
              "120"
            ]
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the output (generated, not writable).",
            "example": ""
          },
          "output_stream_targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/output_stream_target"
            }
          },
          "video_codec": {
            "type": "string",
            "description": "The codec used to encode the video stream. **disabled** sends the stream without a video track and **passthrough** sends the stream without transcoding the video track. Available from version 1.6.",
            "example": "",
            "enum": [
              "h264",
              "passthrough",
              "disabled"
            ]
          },
          "audio_codec": {
            "type": "string",
            "description": "The codec used to encode the audio stream. **disabled** sends the stream without an audio track and **passthrough** sends the stream without transcoding the audio track. **aac** is the most commonly compatible audio codec for protocols, while **opus** is for WebRTC streams. Available from version 1.6.",
            "example": "",
            "enum": [
              "aac",
              "opus",
              "passthrough",
              "disabled"
            ]
          },
          "transcoder_id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the transcoder.",
            "example": ""
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the output rendition was updated.",
            "example": "",
            "format": "date-time"
          }
        },
        "example": {
          "aspect_ratio_height": 480,
          "aspect_ratio_width": 848,
          "bitrate_audio": 128,
          "bitrate_video": 1600,
          "created_at": "2020-01-29T17:16:21.964Z",
          "framerate_reduction": "1/2",
          "h264_profile": "main",
          "id": "w9vJm3BJ",
          "keyframes": "follow_source",
          "name": "Standard Output: Video (848 x 480) + Audio",
          "output_stream_targets": [
            {}
          ],
          "video_codec": "h264",
          "audio_codec": "aac",
          "transcoder_id": "PblTJm1t",
          "updated_at": "2020-01-31T13:47:33.964Z"
        }
      },
      "transcoder": {
        "type": "object",
        "description": "",
        "properties": {
          "application_name": {
            "type": "string",
            "description": "The application name from the pull stream source URL.",
            "example": ""
          },
          "asset_id": {
            "type": "string",
            "description": "Only applies to the transcoder of a live stream created from re-streaming an asset in Asset Management. The id for the asset associated with the re-streamed live stream. You can manage this asset in Asset Management."
          },
          "billing_mode": {
            "type": "string",
            "description": "The billing mode for the transcoder. The default is **pay_as_you_go**.\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_smoother": {
            "type": "boolean",
            "description": "A dynamic buffer that helps stabilize streams in rough network conditions, but adds latency. Specify **true** to enable stream smoothing. The default is **false**.",
            "example": ""
          },
          "stream_source_id": {
            "type": "string",
            "description": "For the *delivery_method* **cdn**. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.",
            "example": ""
          },
          "suppress_stream_target_start": {
            "type": "boolean",
            "description": "If **true**, disables stream targets when the transcoder starts. If **false** (the default), the targets start when the transcoder starts.",
            "example": ""
          },
          "transcoder_type": {
            "type": "string",
            "description": "The type of transcoder, either **transcoded** for streams that are transcoded into adaptive bitrate renditions or **passthrough** for streams that aren't processed by the transcoder. The default is **transcoded**.",
            "example": "",
            "enum": [
              "transcoded",
              "passthrough"
            ]
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time that the transcoder was updated.",
            "example": "",
            "format": "date-time"
          },
          "username": {
            "type": "string",
            "description": "A username for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.",
            "example": ""
          },
          "watermark": {
            "type": "boolean",
            "description": "Embeds an image into the transcoded stream for copyright protection. Specify **true** to embed a watermark image.",
            "example": ""
          },
          "watermark_height": {
            "type": "integer",
            "description": "The height, in pixels, of the watermark image. If blank, Wowza Video uses the original image height.",
            "example": "",
            "format": "int32"
          },
          "watermark_image_url": {
            "type": "string",
            "description": "The path to a GIF, JPEG, or PNG image that is embedded in all bitrate renditions of the stream. Watermark image files must be 2.5 MB or smaller.",
            "example": ""
          },
          "watermark_opacity": {
            "type": "integer",
            "description": "The opacity, or percentage of transparency, of the watermark. **0** is fully transparent; **100** is fully opaque.",
            "example": "",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25,
              26,
              27,
              28,
              29,
              30,
              31,
              32,
              33,
              34,
              35,
              36,
              37,
              38,
              39,
              40,
              41,
              42,
              43,
              44,
              45,
              46,
              47,
              48,
              49,
              50,
              51,
              52,
              53,
              54,
              55,
              56,
              57,
              58,
              59,
              60,
              61,
              62,
              63,
              64,
              65,
              66,
              67,
              68,
              69,
              70,
              71,
              72,
              73,
              74,
              75,
              76,
              77,
              78,
              79,
              80,
              81,
              82,
              83,
              84,
              85,
              86,
              87,
              88,
              89,
              90,
              91,
              92,
              93,
              94,
              95,
              96,
              97,
              98,
              99,
              100
            ],
            "format": "int32"
          },
          "watermark_position": {
            "type": "string",
            "description": "The corner of the video frame in which you want the watermark to appear. The default is **top-left**.",
            "example": "",
            "enum": [
              "top-left",
              "top-right",
              "bottom-left",
              "bottom-right"
            ]
          },
          "watermark_width": {
            "type": "integer",
            "description": "The width, in pixels, of the watermark image. If blank, Wowza Video uses the original image width.",
            "example": "",
            "format": "int32"
          }
        },
        "example": {
          "application_name": "app-B8P6K226",
          "billing_mode": "pay_as_you_go",
          "broadcast_location": "us_central_iowa",
          "buffer_size": 4000,
          "closed_caption_type": "cea",
          "created_at": "2020-01-28T17:16:22.098Z",
          "delivery_method": "push",
          "delivery_protocols": [
            "rtmp",
            "rtsp",
            "wowz",
            "webrtc"
          ],
          "description": "My Transcoder Description",
          "direct_playback_urls": {
            "rtmp": [
              {
                "name": "source",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "rtsp": [
              {
                "name": "source",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "wowz": [
              {
                "name": "source",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6"
              }
            ],
            "webrtc": [
              {
                "name": "source",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead"
              },
              {
                "name": "webrtc",
                "output_id": "dcxq5q6c",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream1"
              },
              {
                "name": "V:1280x720+A:128K",
                "output_id": "0g116zkf",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream2"
              },
              {
                "name": "V:854x480+A:128K",
                "output_id": "4qqkwndt",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream3"
              },
              {
                "name": "V:640x360+A:128K",
                "output_id": "0pv8djpg",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream4"
              },
              {
                "name": "V:512x288+A:128K",
                "output_id": "b09xrxjf",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream5"
              },
              {
                "name": "V:320x180+A:128K",
                "output_id": "bvkh2nsz",
                "url": "wss://abc123.entrypoint.video.wowza.com/webrtc-session.json",
                "application_name": "app-B8P6K226",
                "stream_name": "1722aead_stream6"
              }
            ]
          },
          "disable_authentication": false,
          "domain_name": "f92334.entrypoint.video.wowza.com",
          "id": "2lsWj3F9",
          "idle_timeout": 1200,
          "low_latency": false,
          "name": "My PAYG Transcoder",
          "outputs": [
            {}
          ],
          "password": "82e0e971",
          "playback_stream_name": "wxyz6789",
          "play_maximum_connections": 20,
          "properties": [
            {
              "key": "fitMode",
              "section": "output",
              "value": "letterbox"
            },
            {
              "key": "rtpIgnoreProfileLevelId",
              "section": "rtsp",
              "value": true
            }
          ],
          "protocol": "rtmp",
          "reference_id": "mySystemID_01",
          "source_port": 1935,
          "stream_extension": ".sdp",
          "stream_name": "10eb0ed8",
          "stream_smoother": false,
          "suppress_stream_target_start": false,
          "transcoder_type": "transcoded",
          "updated_at": "2020-01-31T15:46:50.098Z",
          "username": "client2",
          "watermark": true,
          "watermark_height": 80,
          "watermark_image_url": "https://prod.s3.amazonaws.com/uploads/transcoder/watermark_image/12345/4baa13.jpg",
          "watermark_opacity": 75,
          "watermark_position": "top-right",
          "watermark_width": 100
        }
      },
      "transcoder_update_input": {
        "type": "object",
        "description": "",
        "required": [
          "transcoder"
        ],
        "properties": {
          "transcoder": {
            "type": "object",
            "title": "transcoder",
            "description": "",
            "properties": {
              "delivery_method": {
                "type": "string",
                "description": "The type of connection between the source encoder and the transcoder. The default, **pull**, instructs the transcoder to pull the video from the source. **push** instructs the source to push the stream to the transcoder. **cdn** uses a stream source to deliver the stream to the transcoder.\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\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_smoother": {
                "type": "boolean",
                "description": "A dynamic buffer that helps stabilize streams in rough network conditions, but adds latency. Specify **true** to enable stream smoothing. The default is **false**.\n\n**Example:** <code>\"stream_smoother\": false</code>",
                "example": ""
              },
              "stream_source_id": {
                "type": "string",
                "description": "For the *delivery_method* **cdn**. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.\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",
            "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**vod_stream** | <ul><li>**hls**</li><li>**live2vod**</li></li></ul><br/>**Note:** VOD streams require a Fastly stream target with HLS as a delivery protocol.",
                "example": "rtpIgnoreProfileLevelId"
              },
              "section": {
                "type": "string",
                "description": "The section of the transcoder configuration table that contains the property.",
                "example": "rtsp",
                "enum": [
                  "asset_management",
                  "cupertino",
                  "ezdrm",
                  "file",
                  "output",
                  "recording",
                  "rtmp",
                  "rtsp",
                  "vod_stream"
                ]
              },
              "value": {
                "type": "string",
                "description": "The value of the property.\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**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
            }
          ]
        }
      },
      "shm_historic_metrics": {
        "type": "object",
        "description": "",
        "properties": {
          "audio_codec": {
            "$ref": "#/components/schemas/audio_codec_metric"
          },
          "bits_in_rate": {
            "$ref": "#/components/schemas/bits_in_rate_metric"
          },
          "bits_out_rate": {
            "$ref": "#/components/schemas/bits_out_rate_metric"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the stream health record was created.",
            "example": "2017-07-06T14:20:00.000Z"
          },
          "frame_rate": {
            "$ref": "#/components/schemas/frame_rate_metric"
          },
          "height": {
            "$ref": "#/components/schemas/height_metric"
          },
          "keyframe_interval": {
            "$ref": "#/components/schemas/keyframe_interval_metric"
          },
          "video_codec": {
            "$ref": "#/components/schemas/video_codec_metric"
          },
          "width": {
            "$ref": "#/components/schemas/width_metric"
          }
        }
      },
      "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\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"
                  },
                  "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"
                  }
                }
              },
              "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
              }
            ],
            "trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:04:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:05:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:06:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:07:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:08:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:09:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:10:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:11:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:12:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:13:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:14:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:15:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:16:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:17:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:18:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-01-26T12:19:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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\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"
                  },
                  "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"
                  }
                }
              },
              "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
              }
            ],
            "trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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\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"
                  },
                  "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"
                  }
                }
              },
              "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
              }
            ],
            "trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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\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"
                  },
                  "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"
                  }
                }
              },
              "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
              }
            ],
            "trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "viewers": 7
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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": "2023-03-01T18:15:40.310Z",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "description": "The end of the range of time represented in the response.",
            "example": "2023-04-01T18:15:40.310Z",
            "format": "date-time"
          }
        }
      },
      "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"
          }
        }
      },
      "usage_accounts_countries": {
        "type": "object",
        "description": "",
        "properties": {
          "countries": {
            "type": "object",
            "title": "countries",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "A country code where the stream was requested.",
                "example": ""
              },
              "name": {
                "type": "string",
                "description": "The name of a country where the stream was requested.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The query parameters applied to the request.",
            "properties": {
              "resources": {
                "type": "object",
                "title": "resources",
                "description": "The resources represented in the response.",
                "properties": {
                  "transcoders": {
                    "type": "string",
                    "description": "The response includes transcoders.",
                    "example": ""
                  },
                  "vod_streams": {
                    "type": "string",
                    "description": "The response includes VOD streams.",
                    "example": ""
                  }
                }
              },
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "countries": [
            {
              "code": "US",
              "name": "United States",
              "unique_viewers": 1,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 222,
              "viewing_bytes": 12886
            },
            {
              "code": "CA",
              "name": "Canada",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886
            }
          ],
          "limits": {
            "resources": [
              "transcoders",
              "vod_streams"
            ],
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "usage_accounts_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "trend": {
            "type": "object",
            "title": "Array of trends",
            "description": "An array of trend data",
            "properties": {
              "sampled_at": {
                "type": "string",
                "description": "The date and time the trend data was sampled.",
                "format": "date-time"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The query parameters applied to the request.",
            "properties": {
              "resources": {
                "type": "object",
                "title": "resources",
                "description": "The resources represented in the response.",
                "properties": {
                  "transcoders": {
                    "type": "string",
                    "description": "The response includes transcoders.",
                    "example": ""
                  },
                  "vod_streams": {
                    "type": "string",
                    "description": "The response includes VOD streams.",
                    "example": ""
                  }
                }
              },
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "trend": [
            {
              "sampled_at": "2022-03-01T00:00:00.000Z",
              "unique_viewers": 358,
              "viewing_seconds": 1288800,
              "viewing_bytes": 8483993
            },
            {
              "sampled_at": "2022-03-02T00:00:00.000Z",
              "unique_viewers": 75,
              "viewing_seconds": 270000,
              "viewing_bytes": 6937994
            },
            {
              "sampled_at": "2022-03-03T00:00:00.000Z",
              "unique_viewers": 400,
              "viewing_seconds": 1440000,
              "viewing_bytes": 3958503
            }
          ],
          "limits": {
            "resources": [
              "transcoders",
              "vod_streams"
            ],
            "from": "2022-03-01T00:00:00.000Z",
            "to": "2022-03-05T00:00:00.000Z"
          }
        }
      },
      "usage_accounts_viewer_data": {
        "type": "object",
        "description": "",
        "properties": {
          "account": {
            "type": "object",
            "title": "account",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the stream target.",
                "format": "int32"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "countries": {
                "type": "object",
                "title": "countries",
                "description": "An array of viewer countries.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A country code where the stream was requested.",
                    "example": ""
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "viewer_trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. Returns one data point per minute for the past hour.",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              }
            }
          }
        },
        "example": {
          "account": {
            "id": "tvctq36g",
            "unique_viewers": 7,
            "countries": [
              {
                "code": "US",
                "unique_viewers": 4
              },
              {
                "code": "DE",
                "unique_viewers": 3
              }
            ],
            "viewer_trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "unique_viewers": 7
              }
            ]
          }
        }
      },
      "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>: Most recent 7 days",
                "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": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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.",
                "format": "int32"
              },
              "plays": {
                "type": "integer",
                "description": "The total number of plays for a live 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. A display is registered when the player is completely loaded and ready to play the live stream.",
                "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\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>: Most recent 7 days",
                "properties": {
                  "plays": {
                    "type": "integer",
                    "description": "The total number of plays for a live 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 live stream at the time the trend data was sampled. A display is registered when the player is completely loaded and ready to play the live 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": "2023-05-26T12:01:00Z"
              },
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2023-05-26T12:02:00Z"
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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 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\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>: Most recent 7 days",
                "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": "2023-05-26T12:01:00Z"
              },
              {
                "plays": 1,
                "displays": 1,
                "sampled_at": "2023-05-26T12:02:00Z"
              }
            ]
          },
          "limits": {
            "from": "2023-04-14T10:31:54.486Z",
            "to": "2023-07-13T10:31:54.486Z"
          }
        }
      },
      "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_transcoder_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "trend": {
            "type": "object",
            "title": "Array of trends",
            "description": "An array of trend data",
            "properties": {
              "sampled_at": {
                "type": "string",
                "description": "The date and time the trend data was sampled.",
                "format": "date-time"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "trend": [
            {
              "sampled_at": "2022-03-01T00:00:00.000Z",
              "unique_viewers": 358,
              "viewing_seconds": 1288800,
              "viewing_bytes": 8483993
            },
            {
              "sampled_at": "2022-03-02T00:00:00.000Z",
              "unique_viewers": 75,
              "viewing_seconds": 270000,
              "viewing_bytes": 6937994
            },
            {
              "sampled_at": "2022-03-03T00:00:00.000Z",
              "unique_viewers": 400,
              "viewing_seconds": 1440000,
              "viewing_bytes": 3958503
            }
          ],
          "limits": {
            "from": "2022-03-01T00:00:00.000Z",
            "to": "2022-03-05T00:00:00.000Z"
          }
        }
      },
      "usage_transcoders_viewer_data": {
        "type": "object",
        "description": "",
        "properties": {
          "transcoder": {
            "type": "object",
            "title": "transcoder",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the transcoder.",
                "format": "int32"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "countries": {
                "type": "object",
                "title": "countries",
                "description": "An array of viewer countries.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A country code where the stream was requested.",
                    "example": ""
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "viewer_trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. Returns one data point per minute for the past hour.",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              }
            }
          }
        },
        "example": {
          "transcoder": {
            "id": "tvctq36g",
            "unique_viewers": 7,
            "countries": [
              {
                "code": "US",
                "unique_viewers": 4
              },
              {
                "code": "DE",
                "unique_viewers": 3
              }
            ],
            "viewer_trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "unique_viewers": 7
              }
            ]
          }
        }
      },
      "usage_transcoder_countries": {
        "type": "object",
        "description": "",
        "properties": {
          "countries": {
            "type": "object",
            "title": "countries",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "A country code where the stream was requested.",
                "example": ""
              },
              "name": {
                "type": "string",
                "description": "The name of a country where the stream was requested.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "countries": [
            {
              "code": "US",
              "name": "United States",
              "unique_viewers": 1,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 222,
              "viewing_bytes": 12886
            },
            {
              "code": "CA",
              "name": "Canada",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886
            }
          ],
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "usage_stream_targets": {
        "type": "object",
        "description": "",
        "properties": {
          "stream_targets": {
            "type": "object",
            "title": "Array of stream targets",
            "description": "An array of stream targets and the details of their CDN usage.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the stream target.",
                "format": "int32"
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the stream target. Maximum 255 characters.",
                "example": ""
              },
              "archived": {
                "type": "boolean",
                "description": "A value of **true** indicates that the stream target has been removed from Wowza Video."
              },
              "type": {
                "type": "string",
                "description": "The type of stream target. <br/> **fastly** is a Wowza CDN on Fastly target.",
                "example": "",
                "enum": [
                  "fastly"
                ]
              },
              "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_stream_target_countries": {
        "type": "object",
        "description": "",
        "properties": {
          "countries": {
            "type": "object",
            "title": "countries",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "A country code where the stream was requested.",
                "example": ""
              },
              "name": {
                "type": "string",
                "description": "The name of a country where the stream was requested.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              },
              "zones": {
                "type": "object",
                "title": "Hash of zones",
                "description": "A hash of zones with CDN usage, keyed by the name of the billing zone where the usage was generated.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the billing zone where the usage was generated.",
                    "example": ""
                  },
                  "viewing_bytes": {
                    "type": "integer",
                    "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                    "example": "",
                    "format": "int32"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of stream target. <br/> **fastly** is a Wowza CDN on Fastly target. <br/>",
                    "example": "",
                    "enum": [
                      "fastly",
                      "akamai"
                    ]
                  }
                }
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "countries": [
            {
              "code": "US",
              "name": "United States",
              "unique_viewers": 1,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 222,
              "viewing_bytes": 12886,
              "zones": [
                {
                  "name": "global",
                  "type": "fastly",
                  "viewing_bytes": 12886
                }
              ]
            },
            {
              "code": "CA",
              "name": "Canada",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886,
              "zones": [
                {
                  "name": "global",
                  "type": "fastly",
                  "viewing_bytes": 22886
                }
              ]
            }
          ],
          "limits": {
            "from": "2019-11-07T00:00:00.000Z",
            "to": "2019-12-05T00:00:00.000Z"
          }
        }
      },
      "usage_stream_target_renditions": {
        "type": "object",
        "description": "",
        "properties": {
          "renditions": {
            "type": "object",
            "title": "renditions",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the stream target's output rendition. A rendition name is the smaller number of the resolution. The resolution is [width]x[height] in which the stream was played. Renditions names have to be unique. If you've created two renditions that have the same height and width, Wowza Video increments the value of the height and uses that as the rendition name.\n    \n    \nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              },
              "zones": {
                "type": "object",
                "title": "Hash of zones",
                "description": "A hash of zones with CDN usage, keyed by the name of the billing zone where the usage was generated.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the billing zone where the usage was generated.",
                    "example": ""
                  },
                  "viewing_bytes": {
                    "type": "integer",
                    "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                    "example": "",
                    "format": "int32"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of stream target. <br/> **fastly** is a Wowza CDN on Fastly target.",
                    "example": "",
                    "enum": [
                      "fastly"
                    ]
                  }
                }
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "renditions": [
            {
              "name": "360",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886,
              "zones": [
                {
                  "name": "global",
                  "type": "fastly",
                  "viewing_bytes": 22886
                }
              ]
            },
            {
              "name": "720",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886,
              "zones": [
                {
                  "name": "global",
                  "type": "fastly",
                  "viewing_bytes": 22886
                }
              ]
            }
          ],
          "limits": {
            "from": "2019-11-07T00:00:00.000Z",
            "to": "2019-12-05T00:00:00.000Z"
          }
        }
      },
      "usage_stream_target_viewer_data": {
        "type": "object",
        "description": "",
        "properties": {
          "stream_target": {
            "type": "object",
            "title": "stream_target",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the stream target.",
                "format": "int32"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "countries": {
                "type": "object",
                "title": "countries",
                "description": "(Available since 1.8) An array of viewer countries.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A country code where the stream was requested.",
                    "example": ""
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "viewer_trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "(Available since 1.8) An array of viewer trend data. Returns one data point per minute for the past hour.",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              }
            }
          }
        },
        "example": {
          "stream_target": {
            "id": "tvctq36g",
            "unique_viewers": 7,
            "countries": [
              {
                "code": "US",
                "unique_viewers": 4
              },
              {
                "code": "DE",
                "unique_viewers": 3
              }
            ],
            "viewer_trend": [
              {
                "sampled_at": "2023-05-26T12:01:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:02:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:03:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:04:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:05:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:06:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:07:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:08:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:09:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:10:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:11:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:12:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:13:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:14:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:15:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:16:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:17:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:18:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:19:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:20:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:21:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:22:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:23:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:24:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:25:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:26:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:27:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:28:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:29:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:30:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:31:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:32:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:33:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:34:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:35:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:36:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:37:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:38:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:39:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:40:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:41:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:42:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:43:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:44:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:45:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:46:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:47:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:48:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:49:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:50:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:51:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:52:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:53:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:54:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:55:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:56:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:57:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:58:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:59:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2023-05-26T12:60:00Z",
                "unique_viewers": 7
              }
            ]
          }
        }
      },
      "usage_storage_peak": {
        "type": "object",
        "description": "",
        "properties": {
          "bytes": {
            "type": "integer",
            "description": "The amount, in bytes, used to store recordings and VOD streams during the selected time frame. If the time frame is in the past, *bytes* is the amount of storage that was used and billed. If the time frame includes the current billing period, *bytes* is the greatest amount of content stored in Wowza Video at any point to date in the billing period.",
            "example": "",
            "format": "int32"
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "bytes": 163535997883,
          "limits": {
            "from": "2019-12-07T00:00:00.000Z",
            "to": "2019-12-21T00:00:00.000Z"
          }
        }
      },
      "usage_vod_streams": {
        "type": "object",
        "description": "",
        "properties": {
          "vod_streams": {
            "type": "object",
            "title": "Array of VOD streams",
            "description": "An array of VOD streams and the details of their CDN usage.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the VOD stream.",
                "format": "int32"
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the VOD stream. Maximum 255 characters.",
                "example": ""
              },
              "archived": {
                "type": "boolean",
                "description": "A value of **true** indicates that the VOD stream has been removed from Wowza Video."
              },
              "type": {
                "type": "string",
                "description": "**fastly** is a Wowza CDN on Fastly target.",
                "example": "",
                "enum": [
                  "fastly"
                ]
              },
              "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": "fastly",
            "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_vod_streams_egress": {
        "type": "object",
        "description": "",
        "properties": {
          "vod_streams": {
            "type": "object",
            "title": "Array of VOD streams",
            "description": "An array of VOD streams and the details of their egress usage.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the VOD stream.",
                "format": "int32"
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the VOD stream. Maximum 255 characters.",
                "example": ""
              },
              "archived": {
                "type": "boolean",
                "description": "A value of **true** indicates that the VOD stream has been removed from Wowza Video."
              },
              "type": {
                "type": "string",
                "description": "**fastly** is a Wowza CDN on Fastly target.",
                "example": "",
                "enum": [
                  "fastly"
                ]
              },
              "egress_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that Wowza CDN on Fastly pulled from storage during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "pagination": {
            "type": "object",
            "description": "Page information for the results generated by the query.",
            "properties": {
              "payload_version": {
                "type": "integer",
                "description": "The pagination object version."
              },
              "total_records": {
                "type": "integer",
                "description": "The total number of records in the database that match the query.",
                "example": ""
              },
              "next_page_key": {
                "type": "string",
                "description": "The key ID of the next page of results.",
                "example": ""
              },
              "per_page": {
                "type": "integer",
                "description": "The number of records included on each page of results.",
                "example": ""
              },
              "total_pages": {
                "type": "integer",
                "description": "The total number of pages generated by the query.",
                "example": ""
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "vod_streams": [
            {
              "id": "poatq15",
              "name": "My VOD Stream on Mar 25, 2021 @ 05:09pm PDT",
              "archived": true,
              "type": "fastly",
              "egress_bytes": 22886
            },
            {
              "id": "nts8765",
              "name": "My Other VOD Stream on Mar 26, 2021 @ 01:15pm PDT",
              "archived": false,
              "type": "fastly",
              "egress_bytes": 22886
            }
          ],
          "pagination": {
            "payload_version": "2.0",
            "total_records": 150,
            "next_page_key": "1yr9pykn",
            "per_page": 10,
            "total_pages": 15
          },
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "usage_vod_stream_egress": {
        "type": "object",
        "description": "",
        "properties": {
          "vod_stream": {
            "type": "object",
            "title": "vod_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the VOD stream.",
                "format": "int32"
              },
              "name": {
                "type": "string",
                "description": "A descriptive name for the VOD stream. Maximum 255 characters.",
                "example": ""
              },
              "archived": {
                "type": "boolean",
                "description": "A value of **true** indicates that the VOD stream has been removed from Wowza Video."
              },
              "type": {
                "type": "string",
                "description": "**fastly** is a Wowza CDN on Fastly target.",
                "example": "",
                "enum": [
                  "fastly"
                ]
              },
              "egress_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that Wowza CDN on Fastly pulled from storage during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "vod_stream": {
            "id": "tvctq36g",
            "name": "My VOD Stream",
            "archived": true,
            "type": "fastly",
            "egress_bytes": 22886
          },
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "usage_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"
          }
        }
      },
      "usage_vod_stream_egress_summary": {
        "type": "object",
        "description": "",
        "properties": {
          "summary": {
            "type": "object",
            "title": "summary",
            "description": "",
            "properties": {
              "egress_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that Wowza CDN on Fastly pulled from storage during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "summary": {
            "egress_bytes": 22886
          },
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "vod_stream": {
        "type": "object",
        "description": "",
        "properties": {
          "asset_id": {
            "type": "string",
            "description": "Only applies to VOD streams created for Asset Management. The id for the asset associated with your VOD stream. You can manage your asset in Asset Management."
          },
          "created_at": {
            "type": "string",
            "description": "The date and time that the VOD stream was created.",
            "example": "",
            "format": "date-time"
          },
          "duration": {
            "type": "integer",
            "description": "The duration of the VOD stream."
          },
          "end_segment": {
            "type": "integer",
            "description": "The media sequence number of the last media segment in the chunklist.",
            "example": ""
          },
          "id": {
            "type": "string",
            "description": "The unique alphanumeric string that identifies the VOD stream.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the VOD stream. Maximum 200 characters.",
            "example": ""
          },
          "percent_complete": {
            "type": "integer",
            "description": "The processing progress of the VOD stream.",
            "example": ""
          },
          "playback_enabled": {
            "type": "boolean",
            "description": "Specifies whether playback is enabled for the VOD stream.",
            "example": "",
            "enum": [
              true,
              false
            ]
          },
          "playback_url": {
            "type": "string",
            "description": "The address that can be used to configure playback of the VOD stream.",
            "example": ""
          },
          "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
                ]
              }
            }
          }
        }
      },
      "usage_vod_stream_trend": {
        "type": "object",
        "description": "",
        "properties": {
          "trend": {
            "type": "object",
            "title": "Array of trends",
            "description": "An array of trend data",
            "properties": {
              "sampled_at": {
                "type": "string",
                "description": "The date and time the trend data was sampled.",
                "format": "date-time"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "trend": [
            {
              "sampled_at": "2022-03-01T00:00:00.000Z",
              "unique_viewers": 358,
              "viewing_seconds": 1288800,
              "viewing_bytes": 8483993
            },
            {
              "sampled_at": "2022-03-02T00:00:00.000Z",
              "unique_viewers": 75,
              "viewing_seconds": 270000,
              "viewing_bytes": 6937994
            },
            {
              "sampled_at": "2022-03-03T00:00:00.000Z",
              "unique_viewers": 400,
              "viewing_seconds": 1440000,
              "viewing_bytes": 3958503
            }
          ],
          "limits": {
            "from": "2022-03-01T00:00:00.000Z",
            "to": "2022-03-05T00:00:00.000Z"
          }
        }
      },
      "usage_vod_streams_viewer_data": {
        "type": "object",
        "description": "",
        "properties": {
          "vod_stream": {
            "type": "object",
            "title": "vod_stream",
            "description": "",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique alphanumeric string that identifies the VOD stream.",
                "format": "int32"
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the VOD stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "countries": {
                "type": "object",
                "title": "countries",
                "description": "An array of viewer countries.",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A country code where the stream was requested.",
                    "example": ""
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the VOD stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              },
              "viewer_trend": {
                "type": "object",
                "title": "Array of viewer trends",
                "description": "An array of viewer trend data. Returns one data point per minute for the past hour.",
                "properties": {
                  "sampled_at": {
                    "type": "string",
                    "description": "The date and time the trend data was sampled.",
                    "format": "date-time"
                  },
                  "unique_viewers": {
                    "type": "integer",
                    "description": "The total number of unique viewers to download at least one chunk of the VOD stream. A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                    "example": "",
                    "format": "int32"
                  }
                }
              }
            }
          }
        },
        "example": {
          "vod_stream": {
            "id": "tvctq36g",
            "unique_viewers": 7,
            "countries": [
              {
                "code": "US",
                "unique_viewers": 3
              },
              {
                "code": "DE",
                "unique_viewers": 4
              }
            ],
            "viewer_trend": [
              {
                "sampled_at": "2022-01-26T12:01:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:02:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:03:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:04:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:05:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:06:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:07:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:08:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:09:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:10:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:11:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:12:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:13:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:14:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:15:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:16:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:17:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:18:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:19:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:20:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:21:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:22:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:23:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:24:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:25:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:26:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:27:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:28:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:29:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:30:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:31:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:32:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:33:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:34:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:35:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:36:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:37:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:38:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:39:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:40:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:41:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:42:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:43:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:44:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:45:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:46:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:47:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:48:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:49:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:50:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:51:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:52:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:53:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:54:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:55:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:56:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:57:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:58:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:59:00Z",
                "unique_viewers": 7
              },
              {
                "sampled_at": "2022-01-26T12:60:00Z",
                "unique_viewers": 7
              }
            ]
          }
        }
      },
      "usage_vod_stream_countries": {
        "type": "object",
        "description": "",
        "properties": {
          "countries": {
            "type": "object",
            "title": "countries",
            "description": "",
            "properties": {
              "code": {
                "type": "string",
                "description": "A country code where the stream was requested.",
                "example": ""
              },
              "name": {
                "type": "string",
                "description": "The name of a country where the stream was requested.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "countries": [
            {
              "code": "US",
              "name": "United States",
              "unique_viewers": 1,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 222,
              "viewing_bytes": 12886
            },
            {
              "code": "CA",
              "name": "Canada",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886
            }
          ],
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "usage_vod_stream_renditions": {
        "type": "object",
        "description": "",
        "properties": {
          "renditions": {
            "type": "object",
            "title": "renditions",
            "description": "",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the VOD stream's output rendition. A rendition name is the smaller number of the resolution. The resolution is [width]x[height] in which the stream was played. Renditions names have to be unique. If you've created two renditions that have the same height and width, Wowza Video increments the value of the height and uses that as the rendition name.\n    \n    \nExample: Two renditions of 1280x720 will result in rendition names of 720 and 721.",
                "example": ""
              },
              "unique_viewers": {
                "type": "integer",
                "description": "The total number of unique viewers to download at least one chunk of the stream at the target (for HTTP streams). A unique viewer is a single IP address; multiple users that share the same IP address are counted once.",
                "example": "",
                "format": "int32"
              },
              "viewing_seconds": {
                "type": "integer",
                "description": "The total length of time, in seconds, that the stream was played at the target. May be longer than the duration of the stream.",
                "example": "",
                "format": "int32"
              },
              "avg_viewing_seconds": {
                "type": "integer",
                "description": "The average length of time, in seconds, that the stream was played at the target.",
                "example": "",
                "format": "int32"
              },
              "viewing_bytes": {
                "type": "integer",
                "description": "The amount of content, in bytes, that went through the stream target during the selected time frame.",
                "example": "",
                "format": "int32"
              }
            }
          },
          "limits": {
            "type": "object",
            "description": "The time frame represented in the response.",
            "properties": {
              "from": {
                "type": "string",
                "description": "The start of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              },
              "to": {
                "type": "string",
                "description": "The end of the range of time represented in the response.",
                "example": "",
                "format": "date-time"
              }
            }
          }
        },
        "example": {
          "renditions": [
            {
              "name": "360",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886
            },
            {
              "name": "720",
              "unique_viewers": 14,
              "viewing_seconds": 222,
              "avg_viewing_seconds": 16,
              "viewing_bytes": 22886
            }
          ],
          "limits": {
            "from": "2021-01-07T00:00:00.000Z",
            "to": "2021-10-05T00:00:00.000Z"
          }
        }
      },
      "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": "active",
              "created_at": "2021-01-29T17:16:21.849Z",
              "updated_at": "2021-01-31T16:06:47.849Z"
            },
            {
              "id": "if7le8ip",
              "name": "MyRealTimeStream2",
              "state": "active",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-31T02:26:05.849Z"
            },
            {
              "id": "dd4udt1b",
              "name": "MyRealTimeStream3",
              "state": "active",
              "created_at": "2020-01-29T17:16:21.849Z",
              "updated_at": "2020-01-30T18:13:18.849Z"
            }
          ]
        }
      },
      "real_time_stream_create": {
        "type": "object",
        "description": "",
        "properties": {
          "real_time_stream": {
            "type": "object",
            "title": "real_time_stream",
            "description": "",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the real-time stream. Maximum 255 characters.\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": ""
              },
              "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>"
              }
            }
          }
        },
        "example": {
          "real_time_stream": {
            "name": "MyRealTimeStream"
          }
        }
      },
      "real_time_stream": {
        "type": "object",
        "description": "",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "The date and time that the real-time stream was created.",
            "example": "",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "description": "The unique identifier of the real-time stream. Use this ID to perform other operations on the stream, like getting the details of the stream or deleting it.",
            "example": ""
          },
          "name": {
            "type": "string",
            "description": "A descriptive name for the real-time stream.",
            "example": ""
          },
          "stream_name": {
            "type": "string",
            "description": "The generated alphanumeric stream name you pass to the SDK.",
            "example": ""
          },
          "token": {
            "type": "string",
            "description": "The authentication token you pass to the SDK.",
            "example": ""
          },
          "subscribe_token": {
            "type": "string",
            "description": "A secure token that must be passed by viewers for playback. Generated after you set *enable_secure_viewer* to **true**."
          },
          "rtmp_url": {
            "type": "string",
            "description": "The URL you can use to configure an RTMP encoder as the source."
          },
          "enable_secure_viewer": {
            "type": "boolean",
            "description": "Require viewers to pass a security token for playback."
          },
          "expires_on": {
            "type": "string",
            "description": "The date and time the security token expires. Specify **YYYY-MM-DD HH:MM:SS**, where **HH** is a 24-hour clock in UTC. If you don't specify **HH:MM:SS**, the token expires at 12AM UTC on the specified day. Required when *enable_secure_viewer* is **true**.",
            "format": "date-time"
          },
          "state": {
            "type": "string",
            "description": "The state of the stream.",
            "example": "",
            "enum": [
              "active",
              "archived",
              "disabled",
              "stopped"
            ]
          },
          "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>"
          },
          "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>"
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time the real-time stream was updated.",
            "example": "",
            "format": "date-time"
          }
        },
        "example": {
          "id": "2adffc17",
          "name": "MyRealTimeStream",
          "stream_name": "8d304b93f1684320a54f2798666eeca7",
          "token": "97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc",
          "rtmp_url": "rtmp://rtmp-realtime1.wowza.com:1935/v2/pub/8d304b93f1684320a54f2798666eeca7?token=97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc",
          "enable_secure_viewer": false,
          "state": "active",
          "region": "amsterdam",
          "recording": true,
          "disable_vod_encoder": true,
          "created_at": "2021-06-30T18:02:20.000Z",
          "updated_at": "2021-06-30T20:03:16.000Z"
        }
      },
      "real_time_stream_update": {
        "type": "object",
        "description": "",
        "properties": {
          "real_time_stream": {
            "type": "object",
            "title": "real_time_stream",
            "description": "",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "A descriptive name for the real-time stream. Maximum 255 characters.\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": ""
              },
              "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"
                ]
              }
            }
          }
        },
        "example": {
          "real_time_stream": {
            "name": "MyUpdatedRealTimeStream"
          }
        }
      },
      "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": []
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Resource Management",
      "tags": [
        "live_streams",
        "players",
        "transcoders",
        "stream_sources",
        "stream_targets",
        "assets",
        "recordings",
        "schedules",
        "vod_streams",
        "real_time"
      ]
    },
    {
      "name": "Analytics",
      "tags": [
        "analytics_viewers",
        "analytics_ingest",
        "analytics_engagement",
        "analytics_popularity"
      ]
    },
    {
      "name": "Usage",
      "tags": [
        "usage_account",
        "usage_transcoders",
        "usage",
        "storage",
        "usage_vod_streams",
        "usage_real_time_streams"
      ]
    }
  ]
}