Wowza live_streams API

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.

OpenAPI Specification

wowza-live-streams-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wowza Streaming Engine REST advanced_token_authentication live_streams API
  description: Complete REST API for Wowza Streaming Engine. Auto-converted from Swagger 1.2 (http://localhost:8089/swagger.json) to OpenAPI 3.0.3 for public documentation.
  version: 2.0.0
  contact:
    name: Wowza Media Systems
    url: https://www.wowza.com/docs/wowza-streaming-engine-rest-api
  license:
    name: Wowza Media Systems
    url: https://www.wowza.com
servers:
- url: http://localhost:8087
  description: Wowza Streaming Engine Server
security:
- basicAuth: []
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
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/v2.0/live_streams\" \\\n  -d $'{\n  \"live_stream\": {\n    \"name\": \"My New Live Stream\",\n    \"transcoder_type\": \"transcoded\",\n    \"billing_mode\": \"pay_as_you_go\",\n    \"broadcast_location\": \"us_west_california\",\n    \"encoder\": \"other_rtmp\",\n    \"delivery_method\": \"push\",\n    \"aspect_ratio_width\": 1920,\n    \"aspect_ratio_height\": 1080\n  }\n}'\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"live_stream\": {\n    \"name\": \"My New Live Stream\",\n    \"transcoder_type\": \"transcoded\",\n    \"billing_mode\": \"pay_as_you_go\",\n    \"broadcast_location\": \"us_west_california\",\n    \"encoder\": \"other_rtmp\",\n    \"delivery_method\": \"push\",\n    \"aspect_ratio_width\": 1920,\n    \"aspect_ratio_height\": 1080\n  }\n}));\nreq.end();\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/live_stream_create_input'
        description: Provide the details of the live stream to create in the body of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
                example:
                  aspect_ratio_height: 720
                  aspect_ratio_width: 1280
                  billing_mode: pay_as_you_go
                  broadcast_location: us_west_california
                  closed_caption_type: cea
                  connection_code: 0e15cb
                  connection_code_expires_at: '2020-11-30T17:16:21.956Z'
                  created_at: '2020-01-29T17:16:21.956Z'
                  delivery_method: push
                  delivery_protocols:
                  - rtmp
                  - rtsp
                  - wowz
                  - webrtc
                  description: This is my first live stream.
                  direct_playback_urls:
                    rtmp:
                    - name: source
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789
                    - name: webrtc
                      output_id: dcxq5q6c
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream1
                    - name: V:1280x720+A:128K
                      output_id: 0g116zkf
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream2
                    - name: V:854x480+A:128K
                      output_id: 4qqkwndt
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream3
                    - name: V:640x360+A:128K
                      output_id: 0pv8djpg
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream4
                    - name: V:512x288+A:128K
                      output_id: b09xrxjf
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream5
                    - name: V:320x180+A:128K
                      output_id: bvkh2nsz
                      url: rtmp://abc123.entrypoint.video.wowza.com/app-B8P6K226/wxyz6789_stream6
                    rtsp:
                    - name: source
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
                    - name: webrtc
                      output_id: dcxq5q6c
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
                    - name: V:1280x720+A:128K
                      output_id: 0g116zkf
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
                    - name: V:854x480+A:128K
                      output_id: 4qqkwndt
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
                    - name: V:640x360+A:128K
                      output_id: 0pv8djpg
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
                    - name: V:512x288+A:128K
                      output_id: b09xrxjf
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
                    - name: V:320x180+A:128K
                      output_id: bvkh2nsz
                      url: rtsp://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
                    wowz:
                    - name: source
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789
                    - name: webrtc
                      output_id: dcxq5q6c
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream1
                    - name: V:1280x720+A:128K
                      output_id: 0g116zkf
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream2
                    - name: V:854x480+A:128K
                      output_id: 4qqkwndt
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream3
                    - name: V:640x360+A:128K
                      output_id: 0pv8djpg
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream4
                    - name: V:512x288+A:128K
                      output_id: b09xrxjf
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream5
                    - name: V:320x180+A:128K
                      output_id: bvkh2nsz
                      url: wowz://abc123.entrypoint.video.wowza.com:1935/app-B8P6K226/wxyz6789_stream6
                    webrtc:
                    - name: source
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead
                    - name: webrtc
                      output_id: dcxq5q6c
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream1
                    - name: V:1280x720+A:128K
                      output_id: 0g116zkf
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream2
                    - name: V:854x480+A:128K
                      output_id: 4qqkwndt
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream3
                    - name: V:640x360+A:128K
                      output_id: 0pv8djpg
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream4
                    - name: V:512x288+A:128K
                      output_id: b09xrxjf
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream5
                    - name: V:320x180+A:128K
                      output_id: bvkh2nsz
                      url: wss://abc123.entrypoint.video.wowza.com/webrtc-session.json
                      application_name: app-B8P6K226
                      stream_name: 1722aead_stream6
                  encoder: other_rtmp
                  flowplayer: true
                  hosted_page:
                    enabled: true
                    description: My Hosted Page Description
                    logo_image_url: https://prod.s3.amazonaws.com/uploads/player/hosted_page_logo_image/23424/5bad28.jpg
                    sharing_icons: true
                    title: My Hosted Page
                    url: https://embed.flowplayer.com/hosted/default/e8dk5bf6
                  id: wdjfqvsv
                  name: My PAYG Transcoded WSE Live Stream
                  playback_stream_name: wxyz6789
                  player_id: 205b4e8-b160-43c2-868d-d88698a4e850
                  player_type: wowza_flowplayer_v2
                  embed_code: null
                  hls_playback_url: https://wowzasubdomain.wowza.com/1/TWhoL3BiZnJXMFhmNzZVN3JrZDAwUT09/ZmYxSXRrTERrUlk9/hls/live/playlist.m3u8
                  logo_image_url: https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg
                  logo_position: top-right
                  video_poster_image_url: https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg
                  width: 640
                  recording: true
                  reference_id: mySystemID_01
                  save_asset: false
                  security:
                    force_ssl_playback: false
                    geoblock_enabled: true
                    geoblock_by_location: allow
                    geoblock_country_codes: DE, US
                    geoblock_ip_override: deny
                    geoblock_ip_addresses: 77.12.34.567, 78.23.45.678
                    token_auth_enabled: false
                    token_auth_playlist_only: false
                  state: stopped
                  stream_source_id: 5skrfpyf
                  stream_targets:
                  - id: klbmg2h8
                  - id: bnjtdmmc
                  target_delivery_protocol: hls-https
                  transcoder_type: transcoded
                  updated_at: '2020-01-31T06:12:39.956Z'
                  use_stream_source: true
                  vod_stream: true
                  watermark: true
                  watermark_height: 80
                  watermark_image_url: https://prod.s3.amazonaws.com/uploads/transcoder/watermark_image/12345/4baa13.jpg
                  watermark_opacity: 75
                  watermark_position: top-right
                  watermark_width: 100
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all live streams
      description: This operation shows limited details for all of your live streams. For detailed information, fetch a single live stream.
      operationId: listLiveStreams
      tags:
      - live_streams
      x-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/v2.0/live_streams\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/live_streams'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /live_streams/{id}:
    get:
      summary: Fetch a live stream
      description: This operation shows the details of a specific live stream.
      operationId: showLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update a live stream
      description: This operation updates a live stream.
      operationId: updateLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17\" \\\n  -d $'{\n  \"live_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"live_stream\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/live_stream_update_input'
        description: Provide the details of the live stream to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/live_stream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    delete:
      summary: Delete a live stream
      description: 'This operation deletes a live stream, including all assigned outputs and targets. <br><br><b>Note</b>: You can''t remove live streams that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint. '
      operationId: deleteLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/start:
    put:
      summary: Start a live stream
      description: This operation starts a live stream.
      operationId: startLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17/start\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/start';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: starting
                        enum:
                        - started
                        - stopped
                        - starting
                        - stopping
                        - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/stop:
    put:
      summary: Stop a live stream
      description: This operation stops a live stream.
      operationId: stopLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17/stop\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/stop';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: stopped
                        enum:
                        - started
                        - stopped
                        - starting
                        - stopping
                        - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/reset:
    put:
      summary: Reset a live stream
      description: This operation resets a live stream.
      operationId: resetLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17/reset\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/reset';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the live stream.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    type: object
                    title: live_stream
                    properties:
                      state:
                        type: string
                        description: The state of the live stream.
                        example: resetting
                        enum:
                        - started
                        - stopped
                        - starting
                        - stopping
                        - resetting
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /live_streams/{id}/regenerate_connection_code:
    put:
      summary: Regenerate the connection code for a live stream
      description: This operation regenerates the connection code of a live stream.
      operationId: regenerateConnectionCodeLiveStream
      tags:
      - live_streams
      x-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/v2.0/live_streams/2adffc17/regenerate_connection_code\"\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/live_streams/2adffc17/regenerate_connection_code';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PUT',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    co

# --- truncated at 32 KB (184 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wowza/refs/heads/main/openapi/wowza-live-streams-api-openapi.yml