openapi: 3.0.3
info:
title: Wowza Streaming Engine REST advanced_token_authentication stream_sources 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: 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
paths:
/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/v2.0/stream_sources\"\n"
- lang: JavaScript
source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n hostname: hostname,\n path: path,\n headers: {\n 'Authorization': wvJWT,\n 'Content-Type': 'application/json'\n }\n};\nhttps.get(options, function(res) {\n var body = '';\n res.on('data', function(data){\n body += data;\n });\n res.on('end', function() {\n console.log(JSON.parse(body));\n });\n}).on('error', function(e) {\n console.log(e.message);\n});\n"
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/stream_sources'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
/stream_sources/wowza:
post:
summary: Create a Wowza stream source
description: (Available from version 1.4) This operation creates a Wowza stream source. A Wowza stream source enables automatic transcoder start, stop, and broadcast location detection.
operationId: createWowzaStreamSource
tags:
- stream_sources
x-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/stream_sources/wowza\" \\\n -d $'{\n \"stream_source_wowza\": {\n \"property\": \"My Value\",\n \"...\": \"...\"\n }\n}'\n"
- lang: JavaScript
source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n hostname: hostname,\n path: path,\n method: 'POST',\n headers: {\n 'Authorization': wvJWT,\n 'Content-Type': 'application/json'\n }\n};\nconst req = https.request(options, function(res) {\n var body = '';\n res.on('data', function(data) {\n body += data;\n });\n res.on('end', function() {\n console.log(JSON.parse(body));\n });\n}).on('error', function(e) {\n console.log(e.message);\n});\nreq.write(JSON.stringify({\n \"stream_source_wowza\": {\n \"property\": \"My Value\",\n \"...\": \"...\"\n }\n}));\nreq.end();\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/wowza_stream_source_create_input'
description: Provide the details of the stream source to add in the body of the request.
required: true
responses:
'201':
description: Success
content:
application/json:
schema:
type: object
required:
- stream_source_wowza
properties:
stream_source_wowza:
$ref: '#/components/schemas/stream_source_wowza_create'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error422'
/stream_sources/wowza/{id}:
get:
summary: Fetch a Wowza stream source
description: (Available from version 1.4) This operation shows details of a specific Wowza stream source. A Wowza stream source enables automatic transcoder start, stop, and broadcast location detection.
operationId: showWowzaStreamSource
tags:
- stream_sources
x-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/stream_sources/wowza/2adffc17\"\n"
- lang: JavaScript
source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n hostname: hostname,\n path: path,\n headers: {\n 'Authorization': wvJWT,\n 'Content-Type': 'application/json'\n }\n};\nhttps.get(options, function(res) {\n var body = '';\n res.on('data', function(data){\n body += data;\n });\n res.on('end', function() {\n console.log(JSON.parse(body));\n });\n}).on('error', function(e) {\n console.log(e.message);\n});\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the Wowza stream source.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- stream_source_wowza
properties:
stream_source_wowza:
$ref: '#/components/schemas/stream_source_wowza'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error404'
'410':
description: Gone
content:
application/json:
schema:
$ref: '#/components/schemas/Error410'
patch:
summary: Update a Wowza stream source
description: '(Available from version 1.4) This operation updates a Wowza stream source. A Wowza stream source enables automatic transcoder start, stop, and broadcast location detection. '
operationId: updateWowzaStreamSource
tags:
- stream_sources
x-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/stream_sources/wowza/2adffc17\" \\\n -d $'{\n \"stream_source_wowza\": {\n \"property\": \"My Value\",\n \"...\": \"...\"\n }\n}'\n"
- lang: JavaScript
source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n hostname: hostname',\n path: path,\n method: 'PATCH',\n headers: {\n 'Authorization': wvJWT,\n 'Content-Type': 'application/json'\n }\n};\nconst req = https.request(options, function(res) {\n var body = '';\n res.on('data', function(data) {\n body += data;\n });\n res.on('end', function() {\n console.log(JSON.parse(body));\n });\n}).on('error', function(e) {\n console.log(e.message);\n});\nreq.write(JSON.stringify({\n \"stream_source_wowza\": {\n \"property\": \"My Value\",\n \"...\": \"...\"\n }\n}));\nreq.end();\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the Wowza stream source.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/wowza_stream_source_update_input'
description: Provide the details of the stream source to update in the body of the request.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- stream_source_wowza
properties:
stream_source_wowza:
$ref: '#/components/schemas/wowza_stream_source_patch_response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error404'
'410':
description: Gone
content:
application/json:
schema:
$ref: '#/components/schemas/Error410'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error422'
delete:
summary: Delete a Wowza stream source
description: (Available from version 1.4) This operation deletes a Wowza stream source.
operationId: deleteWowzaStreamSource
tags:
- stream_sources
x-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/stream_sources/wowza/2adffc17\"\n"
- lang: JavaScript
source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/stream_sources/wowza/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n hostname: hostname,\n path: path,\n method: 'DELETE',\n headers: {\n 'Authorization': wvJWT,\n 'Content-Type': 'application/json'\n }\n};\nhttps.get(options, function(res) {\n // no data being returned, just: 204 NO CONTENT\n console.log(res.statusCode);\n}).on('error', function(e) {\n console.log(e.message);\n});\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the Wowza stream source.
schema:
type: string
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error404'
'410':
description: Gone
content:
application/json:
schema:
$ref: '#/components/schemas/Error410'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error422'
components:
schemas:
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
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: []
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: []
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_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'
Error422:
type: object
description: ''
required:
- meta
properties:
meta:
type: object
title: meta
description: ''
properties:
status:
type: integer
description: ''
example: ''
format: int32
code:
type: string
description: ''
example: ''
title:
type: string
description: ''
example: ''
message:
type: string
description: ''
example: ''
description:
type: string
description: ''
example: ''
links:
type: array
description: ''
example: ''
items: {}
example:
Example Response 1:
meta:
status: 422
code: ERR-422-RecordInvalid
title: Record Invalid Error
message: The request couldn't be processed. ... can't be blank
description: ''
links: []
Example Response 2:
meta:
status: 422
code: ERR-422-RecordInvalid
title: Record Invalid Error
message: The request couldn't be processed. Provider wowza_video is not allowed
description: ''
links: []
Example Response 3:
meta:
status: 422
code: ERR-422-InvalidStateChange
title: Invalid State Change Error
message: The request couldn't be processed. There must be at least one WebRTC output for this transcoder.
description: ''
links: []
Example Response 4:
meta:
status: 422
code: ERR-422-RecordInvalid
title: Record Invalid Error
message: API cannot remove the primary Output Stream Target with the ID of <output id> from the Live Stream <livestream id><livestream name>.
description: ''
links: []
Example Response 5:
meta:
status: 422
code: ERR-422-InvalidStateChange
title: Invalid State Change Error
message: The request couldn't be processed. The broadcast location can't be updated when using autostart.
description: ''
links: []
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: []
stream_source_wowza_create:
type: object
description: ''
title: stream_source_wowza
properties:
created_at:
type: string
description: The date and time that the Wowza stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the Wowza stream source.
example: ''
name:
type: string
description: A descriptive name for the Wowza stream source. Maximum 255 characters.
example: ''
primary_url:
type: string
description: The origin URL where you send your source stream.
example: ''
state:
type: string
description: The current state of the Wowza stream source.
example: ''
enum:
- started
- stopped
- error
stream_name:
type: string
description: The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.
example: ''
updated_at:
type: string
description: The date and time that the Wowza stream source was updated.
example: ''
format: date-time
example:
created_at: '2020-01-29T17:16:22.001Z'
id: brcndjJt
name: My Wowza Stream Source
primary_url: rtmp://origin.cdn.wowza.com:1935/live
state: stopped
stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
updated_at: '2020-01-31T07:32:43.001Z'
stream_source_wowza:
type: object
title: stream_source_wowza
description: ''
properties:
created_at:
type: string
description: The date and time that the Wowza stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the Wowza stream source.
example: ''
name:
type: string
description: A descriptive name for the Wowza stream source. Maximum 255 characters.
example: ''
primary_url:
type: string
description: The origin URL where you send your source stream.
example: ''
state:
type: string
description: The current state of the Wowza stream source.
example: ''
enum:
- started
- stopped
- error
stream_name:
type: string
description: The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.
example: ''
transcoders:
type: array
description: The transcoders associated with the Wowza stream source.
items:
type: object
title: transcoders
properties:
id:
type: string
description: The unique alphanumeric string that identifies the transcoder.
example: ''
name:
type: string
description: A descriptive name for the transcoder. Maximum 255 characters.
example: dcxq5q6c
type:
type: string
description: The type of transcoder associated with the Wowza stream source be it a transcoder associated with a live stream or a standalone transcoder.
example: ''
enum:
- transcoder
- livestream
updated_at:
type: string
description: The date and time that the Wowza stream source was updated.
example: ''
format: date-time
example:
created_at: '2020-01-29T17:16:22.001Z'
id: brcndjJt
name: My Updated Wowza Stream Source
primary_url: rtmp://origin.cdn.wowza.com:1935/live
state: stopped
stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
transcoders:
- id: dkcr5y9l
name: my transcoder
type: LiveStream
updated_at: '2020-01-31T14:56:21.001Z'
wowza_stream_source_patch_response:
type: object
title: stream_source_wowza
description: ''
properties:
created_at:
type: string
description: The date and time that the Wowza stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the Wowza stream source.
example: ''
name:
type: string
description: A descriptive name for the Wowza stream source. Maximum 255 characters.
example: ''
primary_url:
type: string
description: The origin URL where you send your source stream.
example: ''
state:
type: string
description: The current state of the Wowza stream source.
example: ''
enum:
- started
- stopped
- error
stream_name:
type: string
description: The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.
example: ''
transcoders:
type: array
description: The transcoders associated with the Wowza stream source.
items:
type: object
title: transcoders
properties:
id:
type: string
description: The unique alphanumeric string that identifies the transcoder.
example: ''
name:
type: string
description: A descriptive name for the transcoder. Maximum 255 characters.
example: dcxq5q6c
type:
type: string
description: The type of transcoder associated with the Wowza stream source be it a transcoder associated with a live stream or a standalone transcoder.
example: ''
enum:
- transcoder
- livestream
updated_at:
type: string
description: The date and time that the Wowza stream source was updated.
example: ''
format: date-time
example:
created_at: '2020-01-29T17:16:22.001Z'
id: brcndjJt
name: My Updated Wowza Stream Source
primary_url: rtmp://origin.cdn.wowza.com:1935/live
state: stopped
stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
transcoders:
- id: dkcr5y9l
name: my transcoder
type: LiveStream
updated_at: '2020-01-31T14:56:21.001Z'
index_stream_source:
type: object
description: ''
title: stream_sources
properties:
created_at:
type: string
description: The date and time that the stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the stream source.
example: ''
name:
type: string
description: A descriptive name for the stream source. Maximum 255 characters.
example: ''
type:
type: string
description: A **wowza** stream source enables automatic transcoder start, stop, and broadcast location detection.
example: ''
enum:
- wowza
updated_at:
type: string
description: The date and time that the stream source was updated.
example: ''
format: date-time
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: []
parameters:
filter:
name: filter
in: query
description: 'Restricts the data that gets returned by filtering on one or more values associated with a field. Construct a filter using a two-part expression that specifies the field on which to filter and the logic to use to filter. Filters use a zero-based index.
For valid filter operators and filter fi
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wowza/refs/heads/main/openapi/wowza-stream-sources-api-openapi.yml