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.
- Reference
- REST API
Wowza Video REST API Reference Documentation (v2.0)
API lifecycle phase: Current
| Want to take the API for a test run? All you'll need is a Wowza Video subscription, or free trial, for the API access token. Then, fork our collection in Postman and you'll be making calls to our REST API in minutes! See Trial the Wowza Video REST API using Postman for more information. |
This reference documentation provides details about the operations, parameters, and request and response schemas for every resource and endpoint in the Wowza Video REST API. Samples 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. Examples in cURL use environment variables so you can easily copy and paste them. To learn more, see Using cURL.
Reference 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.
Note: 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 Upgrade to the Wowza Video 2.0 REST API for more information.
Operations related to schedules. Schedules allow you to automatically start or stop a live stream or transcoder at a predetermined date and time. You can configure a schedule to start and/or stop a live stream or transcoder just once, or you can configure it to repeat the behavior on a regular basis. See About schedules to learn more.
Operations related to Real-Time Streaming at Scale. If your audience is fewer than 300 viewers or you want to deliver a stream in near real time alongside other delivery protocols, use our WebRTC solution.
To enable and purchase capacity for Real-Time Streaming at Scale for your account and access the /real_time operations, contact 720.279.8163 or schedule a call.
Operations related to using advanced token authentication, known in Wowza Video as a default playback token behavior option, with videos.
Use token authentication when distributing valuable or sensitive video content to audiences to ensure that only authorized users can access the content within the intended application. This allows for protection of intellectual property, compliance with regulations, and the ability to maintain control over content distribution. The token is embedded in the videos' embed URLs.
Through the UI or Wowza Video API, you can choose one of the following options for token authentication of a video:
NO_TOKEN - Video files are accessible and can be downloaded and played by anyone at any time. This is the default.
BASIC_TOKEN - The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer to extract the video URL and store it for usage in unintended applications over time since the embed URL, which has the token as part of the URL, will only be playable for 48 hours. The token auto renews after 48 hours when used in the intended application.
ADVANCED_TOKEN - You add the stream's JS embed code (Share Stream) and a token to your site to provide tokenization. The protections are similar to those for the Basic Token option except you customize the time limit, geographical limits, etc. during token creation.
FOLLOW_DEFAULT: - The token behavior is based on the Default Playback Token Behavior setting you selected for your Wowza account. See the Org Settings page in Wowza Video article for where to set this configuration.
Note: You'll use the /videos endpoints to update and review the token authentication enums bulleted above.
Before selecting to use the ADVANCED_TOKEN, you must, first, either:
- Generate a key id via the Wowza Video API, then customize and generate a token via the Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.
- Generate a key id and key via the Wowza Video 2.0 API, then customize and generate a standard common access token (CAT) through the means you usually use to create tokens to add to your site. You'll need the key id and key to create and sign the token.
After you have your playback token, you add the video JS-embed and the playback token to your site if you're going to use the ADVANCED_TOKEN option. The JS-embed code automatically adds the player and related video to your site. See the section on <a href="how to embed the player and video".
Restricts the data that gets returned by filtering on one or more values associated with a field. For more information and examples, see the technical article How to get filtered query results with the Wowza Video REST API.
Example: filter[0][field]=created_at&filter[0][gte]=2021-07-14T17:47:45.000Z
Restricts the data that gets returned by querying on one or more values associated with a set of fields. For more information and examples, see the technical article How to get filtered query results with the Wowza Video REST API.
Example: sort_direction=desc&sort_column=created_at&per_page=30&state=completed&query=sample
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.
For more information and examples, see Get paginated query results with the Wowza Video REST API.
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets
- https://api.video.wowza.com/api/v2.0/assets
- curl
- Java
- Python
- JavaScript
curl -i -X GET \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets?filter=string&query=string&page=0&per_page=0'Success
The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMT HH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset. .
The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMT HH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset. .
The URL to receive the preview thumbnail.
The state of the asset.
The reason that an asset has the state failed. Only returned when state is failed after processing is attempted.
A percentage that describes how soon transcoding will complete.
The file size of the asset in bytes. For example, 2372820 bytes equals 2.4 megabytes.
The address that can be used to configure playback of the stream.
The URL that can be used to download the asset as a .MP4 file.
{ "assets": [ { … }, { … }, { … } ] }
Request
The assets operations are deprecated in 2.0. Use the /videos endpoints instead.
This operation shows the details of a specific asset.
The fields returned vary depending on when you send this request. For example, if a resource hasn't been created yet during the processing state, you won't see available_renditions in the response.
Tip: If your original upload URL expired and you need a new one for an asset, send this request and the response will contain a new upload URL.
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets/{id}
- https://api.video.wowza.com/api/v2.0/assets/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X GET \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets/{id}'Success
The renditions available for the asset.
A descriptive name for the live stream. Maximum 200 characters.
A description of the asset. Maximum 16,000 characters.
The upload location for the asset. Use this URL to upload the .mp4 assets to the Wowza Video Asset Manager.
Only returned when the asset is in the uploading state, and returns a new upload URL. Useful if the previous upload URL expired and you need a new one.
An ID for the VOD. You can use this to fetch additional information about the VOD stream associated with the asset, such as the size of only the VOD stream.
An ID for the recording. You can use this to fetch additional information about the recording associated with the asset.
The state of the asset.
The reason that an asset has the state failed. Only returned when state is failed after processing is attempted.
The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.
The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.
The URL that can be used to download the asset as a .MP4 file.
The file size of the asset in bytes. For example, 2372820 bytes equals 2.4 megabytes.
The length of an asset in seconds. For example, 9241 would represent 9,241 seconds or roughly 2.5 hours.
The URL to receive the preview thumbnail.
The unique_viewers parameter is deprecated. To get unique viewers for an asset, use the GET /analytics/viewers/vod_stream/{id} endpoint.
The HLS URL for the stream associated with the asset.
The total storage size for the asset in bytes. In this example, 19513598 equals 19.5 megabytes.
The name of the mp4 file you uploaded.
Note: To avoid file management issues in storage, Wowza Video removes or replaces special characters in file names.
A percentage that describes how soon transcoding will complete.
The HTML code that can be used in external webpage to host the Wowza Flowplayer.
{ "asset": { "available_renditions": [ … ], "id": "i4qsbwvi", "name": "My Asset", "description": "My Asset Description", "published": true, "tags": [ … ], "upload_url": "https://objectstorage.us-ashburn-1.oraclecloud.com/p/k9bGRcyPFPtdeQeTRgAVTByIVVS0Z_EKrLBu3TusTrRfBuIpoDyio_ZY3qJM55tp/n/a1b2c3d4e5f6/b/recordings-qa-S7I69eYn/o/uploads/recording_bry7vv0s/MyAsset.mp4", "vod_stream_id": "l9qsbwvf", "recording_id": "l8qsbwvu", "state": "completed", "reason": "", "created_at": "2021-06-30T18:02:20.000Z", "updated_at": "2021-06-30T18:02:20.000Z", "download_url": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4", "file_size": 2372820, "duration": 9241, "thumbnail_url": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg", "unique_viewers": 5986, "total_viewing_time": 4492549, "average_view_time": 12580, "playback_url": "https://cdn3-qa.wowza.com/2/T1R6V2hBV2hEdmJ0/ZnJUOE9q/hls/g7z7bwbz/playlist.m3u8", "total_storage_size": 19513598, "file_name": "MyAsset.mp4", "processing_percentage": 100, "player_embed_code": "<div id='wowza_player'></div>\\n<script id='player_embed' src='//player.video.wowza.com/qa/xhb9jdmc/wowza.js' type='text/javascript'></script>\\n", "hosted_page": { … } } }
Request
The assets operations are deprecated in 2.0. Use the /videos endpoints instead.
This operation updates an asset. Assets must be uploaded and complete processing before they can be updated.
The fields returned vary depending on when you send this request. For example, if a stream doesn't have unique viewer data, you won't see unique_viewers in the response.
Provide the details of the asset to update in the body of the request.
A description of the asset. Maximum 16,000 characters.
Example: "description": "My updated asset description"
A descriptive name for the live stream. Maximum 200 characters.
Example: "name": "My Updated Live Stream Asset"
Specifies whether an asset is published, which enables playback.
Example: "published": true
A list of tags associated with the asset.
Example: "tags": ["Tag1", "Tag2", "Tag3"]
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets/{id}
- https://api.video.wowza.com/api/v2.0/assets/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X PATCH \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/assets/{id}' \
-H 'Content-Type: application/json' \
-d '{
"asset": {
"description": "My Asset Description",
"name": "My Live Stream",
"published": true,
"tags": [
"Tag1",
"Tag2",
"Tag3"
],
"hosted_page": {
"title": "My Hosted Page",
"description": "",
"logo_image": "[Base64-encoded string representation of GIF, JPEG, or PNG file]",
"remove_logo_image": true,
"sharing_icons": false
}
}
}'Success
The renditions available for the asset.
A descriptive name for the live stream. Maximum 200 characters.
A description of the asset. Maximum 16,000 characters.
An ID for the VOD. You can use this to fetch additional information about the VOD stream associated with the asset, such as the size of only the VOD stream.
An ID for the recording. You can use this to fetch additional information about the recording associated with the asset.
The state of the asset.
The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.
The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.
The URL that can be used to download the asset as a .MP4 file.
The file size of the asset in bytes. For example, 2372820 bytes equals 2.4 megabytes.
The length of an asset in seconds. For example, 9241 would represent 9,241 seconds or roughly 2.5 hours.
The URL to receive the preview thumbnail.
The total time that the asset has been viewed by anyone, in seconds. In this example 4492549 would equal 1,248 total hours of view time.
The average time that the asset has been viewed in seconds. For example, 12580 seconds would be 3.5 hours.
The HLS URL for the stream associated with the asset.
The total storage size for the asset in bytes. In this example, 19513598 equals 19.5 megabytes.
The name of the mp4 file you uploaded.
Note: To avoid file management issues in storage, Wowza Video removes or replaces special characters in file names.
A percentage that describes how soon transcoding will complete.
The HTML code that can be used in external webpage to host the Wowza Flowplayer.
{ "asset": { "available_renditions": [ … ], "id": "i4qsbwvi", "name": "My Asset", "description": "My Asset Description", "published": true, "tags": [ … ], "vod_stream_id": "l9qsbwvf", "recording_id": "l8qsbwvu", "state": "completed", "created_at": "2021-06-30T18:02:20.000Z", "updated_at": "2021-06-30T18:02:20.000Z", "download_url": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4", "file_size": 2372820, "duration": 9241, "thumbnail_url": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg", "unique_viewers": 5986, "total_viewing_time": 4492549, "average_view_time": 12580, "playback_url": "https://cdn3-qa.wowza.com/2/T1R6V2hBV2hEdmJ0/ZnJUOE9q/hls/g7z7bwbz/playlist.m3u8", "total_storage_size": 19513598, "file_name": "MyAsset.mp4", "processing_percentage": 100, "player_embed_code": "<div id='wowza_player'></div>\\n<script id='player_embed' src='//player.video.wowza.com/qa/xhb9jdmc/wowza.js' type='text/javascript'></script>\\n", "hosted_page": { … } } }
The player operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the player operations will be ignored.
Operations related to players, which are created through the /live_streams resource. Players created through Wowza Video live streams can be embedded into your own web page or played through a web page hosted by Wowza Video.
The recordings operations are deprecated in 2.0. Use the /videos endpoints instead.
Operations related to recordings, which are created through the /live_streams or /transcoders resources. The Wowza Video service can create MP4 recordings of your live streams and transcoded output. Recordings can be downloaded and saved locally. They're based on the highest-bitrate output rendition that Wowza Video generates from your video source. See About recordings to learn more.
The VOD stream operations are deprecated in 2.0. Use the /videos endpoints instead.
Operations related to video on demand (VOD) streams, which are created through the /live_streams or /transcoders resources. A VOD stream is a recording of a live stream that viewers can replay at a later date. After the broadcast is over and the live stream or transcoder is stopped, Wowza Video creates the VOD stream and generates a playback URL. See About VOD Streams to learn more.