Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wowza-stream-sources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v2.0
title: Wowza Video REST API Reference Documentation Stream Sources API
license:
name: Terms of Use
url: https://www.wowza.com/legal/terms-of-use
description: "API lifecycle phase: [Current](https://www.wowza.com/docs/wowza-video-rest-api-lifecycle-management#api-lifecycle0)\n\n\n<table>\n<tr style=\"background-color:lightgrey;\"><td>\n<strong>Want to take the API for a test run?</strong>\n\nAll you'll need is a [Wowza Video subscription](https://www.wowza.com/pricing), or [free trial](https://www.wowza.com/free-trial), for the API access token. Then, fork [our collection in Postman](https://www.postman.com/wowzavideo/workspace/wowza-video-rest-api) and you'll be\nmaking calls to our REST API in minutes!\n\nSee [Trial the Wowza Video REST API using Postman](https://www.wowza.com/docs/trial-the-wowza-video-rest-api-using-postman) for more information.\n</td>\n</tr>\n</table>\n\n\nThis reference documentation provides details about the operations, parameters, and request and response schemas for every resource and endpoint in the Wowza Video REST API.\nSamples appear in the right column. Sample requests are presented in cURL (Shell) and JavaScript; some samples also include just the JSON object. Response samples are all JSON. \nExamples in cURL use environment variables so you can easily copy and paste them. To learn more, see [Using cURL](https://wowza.com/docs/how-to-use-the-wowza-video-rest-api#curl).\n\n\nReference documentation is available for every version of the API. Use the **Version** menu at the top of the page to access the reference doc for a different version of the API.\n\n<blockquote><strong>Note</strong>: If you haven't moved over to the new Wowza Video UI experience, you won't be able to access v2.0 of the API. We're migrating customers iteratively. See <a href=\"https://developer.wowza.com/docs/wowza-video/upgrade-to-wowza-video/\">Upgrade to the Wowza Video 2.0 REST API</a> for more information.</blockquote>\n"
servers:
- url: https://api.video.wowza.com/api/v2.0
tags:
- name: 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:
stream_source_wowza:
type: object
title: stream_source_wowza
description: ''
properties:
created_at:
type: string
description: The date and time that the Wowza stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the Wowza stream source.
example: ''
name:
type: string
description: A descriptive name for the Wowza stream source. Maximum 255 characters.
example: ''
primary_url:
type: string
description: The origin URL where you send your source stream.
example: ''
state:
type: string
description: The current state of the Wowza stream source.
example: ''
enum:
- started
- stopped
- error
stream_name:
type: string
description: The name of the stream that you can use to configure the source encoder to connect to the Wowza stream source.
example: ''
transcoders:
type: array
description: The transcoders associated with the Wowza stream source.
items:
type: object
title: transcoders
properties:
id:
type: string
description: The unique alphanumeric string that identifies the transcoder.
example: ''
name:
type: string
description: A descriptive name for the transcoder. Maximum 255 characters.
example: dcxq5q6c
type:
type: string
description: The type of transcoder associated with the Wowza stream source be it a transcoder associated with a live stream or a standalone transcoder.
example: ''
enum:
- transcoder
- livestream
updated_at:
type: string
description: The date and time that the Wowza stream source was updated.
example: ''
format: date-time
example:
created_at: '2020-01-29T17:16:22.001Z'
id: brcndjJt
name: My Updated Wowza Stream Source
primary_url: rtmp://origin.cdn.wowza.com:1935/live
state: stopped
stream_name: 0I3abc1FPZ2P3Qxdfz3YwKtZdDqu6102
transcoders:
- id: dkcr5y9l
name: my transcoder
type: LiveStream
updated_at: '2020-01-31T14:56:21.001Z'
index_stream_source:
type: object
description: ''
title: stream_sources
properties:
created_at:
type: string
description: The date and time that the stream source was created.
example: ''
format: date-time
id:
type: string
description: The unique alphanumeric string that identifies the stream source.
example: ''
name:
type: string
description: A descriptive name for the stream source. Maximum 255 characters.
example: ''
type:
type: string
description: A **wowza** stream source enables automatic transcoder start, stop, and broadcast location detection.
example: ''
enum:
- wowza
updated_at:
type: string
description: The date and time that the stream source was updated.
example: ''
format: date-time
stream_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_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'
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: []
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
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: []
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'
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: []
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. Yo
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wowza/refs/heads/main/openapi/wowza-stream-sources-api-openapi.yml