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 from the Live Stream . 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 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). Example: **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 securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic Authentication using Wowza Streaming Engine admin credentials digestAuth: type: http scheme: digest description: HTTP Digest Authentication