Skip to content

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.
Download OpenAPI description
Overview
License
Languages
Servers
Mock server
https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi
https://api.video.wowza.com/api/v2.0

Live Streams

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.

Operations

Transcoders

Operations related to transcoders, output renditions, and output stream targets.

Operations

Disable an output stream target

Request

This operation disables an output stream target.

Path
transcoder_idstringrequired

The unique alphanumeric string that identifies the transcoder.

output_idstringrequired

The unique alphanumeric string that identifies the output rendition.

stream_target_idstringrequired

The unique alphanumeric string that identifies the stream target.

Tip: If you're using both the primary and backup URL for a stream target, send output_stream_target_id in the path instead. output_stream_target_id was returned when you added the stream target to the ouput rendition. This allows you to differentiate between the primary and backup URL versions of the stream target.

curl -i -X PUT \
  'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/disable'

Responses

Success

Bodyapplication/json
stream_targetobject(stream_target)required
stream_target.​statestring

The state of the output stream target.

Enum"enabled""disabled""restarted"
Example: "disabled"
Response
application/json
{ "stream_target": { "state": "disabled" } }

Restart an output stream target

Request

This operation restarts an output stream target.

Path
transcoder_idstringrequired

The unique alphanumeric string that identifies the transcoder.

output_idstringrequired

The unique alphanumeric string that identifies the output rendition.

stream_target_idstringrequired

The unique alphanumeric string that identifies the stream target.

Tip: If you're using both the primary and backup URL for a stream target, send output_stream_target_id in the path instead. output_stream_target_id was returned when you added the stream target to the ouput rendition. This allows you to differentiate between the primary and backup URL versions of the stream target.

curl -i -X PUT \
  'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/restart'

Responses

Success

Bodyapplication/json
stream_targetobject(stream_target)required
stream_target.​statestring

The state of the output stream target.

Enum"enabled""disabled""restarted"
Example: "restarted"
Response
application/json
{ "stream_target": { "state": "restarted" } }

Configure a property for a transcoder

Request

This operation configures a single property or an array of properties for a transcoder.

For a comprehensive resource describing the use of advanced properties, see Set advanced properties with the Wowza Video REST API.

Path
transcoder_idstringrequired

The unique alphanumeric string that identifies the transcoder.

Bodyapplication/jsonrequired

Provide the details of the property or properties to configure in the body of the request. You must include either property or properties in the request as the root object.

One of:
propertyobject(property)required

The single property to configure. The property configuration consists of a key/value pair and the section of the transcoder configuration table the key/value pair is stored in.

property.​keystringrequired

The key of the property.

The following table lists the available property keys and what transcoder table section they're stored in.

SectionValid keys for the section
asset_management
  • enabled

Note: You need a Wowza Video subscription to access Asset Management.
cupertino
  • aes128Host
  • aes128Secret
ezdrm
  • username
  • password
  • fairPlayAssetId
  • wideVineContentId
file
  • repeat
  • start_streaming_at
output
  • fitMode
  • record
recording
  • mp4
rtmp
  • allowDirectPlayback
rtsp
  • avSyncMethod
  • debugRtspSession
  • maxRtcpWaitTime
  • rtpDePacketizerPacketSorterBufferTime
  • rtpDePacketizerPacketSorterFlushTime
  • rtpDePacketizerWrapper
  • rtpIgnoreSpropParameterSets
  • rtpIgnoreProfileLevelId
  • rtpTransportMode
  • rtspValidationFrequency
  • rtspFilterUnknownTracks
srt
  • passPhrase
vod_stream
  • hls
  • live2vod

Note: VOD streams require a Fastly stream target with HLS as a delivery protocol.
Example: "rtpIgnoreProfileLevelId"
property.​sectionstringrequired

The section of the transcoder configuration table that contains the property.

Enum"asset_management""cupertino""ezdrm""file""output""recording""rtmp""rtsp""srt""vod_stream"
Example: "rtsp"
property.​valuestringrequired

The value of the property.

The following table provides information about valid values for each property key.

Key(s)Values for the key
aes128HostSpecify the URL that devices will use to fetch the key to decrypt the stream.
aes128SecretSpecify the 16-byte key that will be used to decrypt the stream. The key must be 32 characters in length and can only contain hex characters (a-f, A-F, 0-9). The key must match the key returned by the aes128Host.
enabledSpecify true or false. Used in the asset_mangement section.
fitModeUse letterbox, fit-width, fit-height, crop, stretch, or match-source. The default is fit-height.
maxRtcpWaitTimeUse a whole number, expressed as a string or an integer. The default is 2000 (ms).
passPhraseUse a string between 10-79 characters in length. It adds security to a live stream for an incoming SRT stream from your device or encoder to Wowza Video. The password protection secures the data payload of SRT live streams, ensuring that the transmitted content is encrypted and safeguarded against unauthorized interception during its journey across the network.
recordUse an output ID associated with the transcoder.
rtpDePacketizerPacketSorterBufferTimeUse an integer, expressed as a string or an integer. The default is 500 (ms).
rtpDePacketizerPacketSorterFlushTimeUse an integer, expressed as a string or an integer. The default is 10 (ms).
rtpDePacketizerWrapperUse the string RTPDePacketizerWrapperPacketSorter.
rtpTransportModeUse the string udp or interleave (the default).
rtspValidationFrequencyUse a whole number, expressed as a string or an integer. The default is 15000 (ms).
start_streaming_atSpecify the month, day, year, and time of day that the file should start streaming, expressed as a string. Express the value by using the ISO 8601 standard of YYYY-MM-DDTHH:MM:SSZ where HH is a 24-hour clock in UTC.
  • **username**
  • **password**
  • **fairplayAssetId**
  • **wideVineContentId**
| Use account information and asset IDs from EZDRM. All strings.
  • **avSyncMethod**
  • **debugRtspSession**
  • **mp4**
  • **repeat**
  • **rtspFilterUnknownTracks**
  • **rtpIgnoreSpropParameterSets**
  • **rtpIgnoreProfileLevelId**
| Use **true** or **false**, expressed as a string or a Boolean.
  • **hls**
  • **live2vod**
| Use **true** or **false**, expressed as a string or a Boolean. When **true**, **hls** generates a VOD stream and **live2vod** replaces the live playlist with the VOD playlist after the stream ends so viewers can access the VOD stream on the live playback URL. **hls** must be **true** to enable **live2VOD**.
Example: "true"
curl -i -X POST \
  'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{transcoder_id}/properties' \
  -H 'Content-Type: application/json' \
  -d '{
    "property": {
      "key": "rtpIgnoreProfileLevelId",
      "section": "rtsp",
      "value": "true"
    }
  }'

Responses

Success

Bodyapplication/json
One of:
propertyobject(property)required

A single property. The property configuration consists of a key/value pair and the section of the transcoder configuration table the key/value pair is stored in.

property.​keystringrequired

The key of the property.

The following table lists the available property keys and what transcoder table section they're stored in.

SectionValid keys for the section
asset_management
  • enabled

Note: You need a Wowza Video subscription to access Asset Management.
cupertino
  • aes128Host
  • aes128Secret
ezdrm
  • username
  • password
  • fairPlayAssetId
  • wideVineContentId
file
  • repeat
  • start_streaming_at
output
  • fitMode
  • record
recording
  • mp4
rtmp
  • allowDirectPlayback
rtsp
  • avSyncMethod
  • debugRtspSession
  • maxRtcpWaitTime
  • rtpDePacketizerPacketSorterBufferTime
  • rtpDePacketizerPacketSorterFlushTime
  • rtpDePacketizerWrapper
  • rtpIgnoreSpropParameterSets
  • rtpIgnoreProfileLevelId
  • rtpTransportMode
  • rtspValidationFrequency
  • rtspFilterUnknownTracks
srt
  • passPhrase
vod_stream
  • hls
  • live2vod

Note: VOD streams require a Fastly stream target with HLS as a delivery protocol.
Example: ""
property.​sectionstringrequired

The section of the transcoder configuration table that contains the property.

Enum"asset_management""cupertino""ezdrm""file""output""recording""rtmp""rtsp""srt""vod_stream"
Example: ""
property.​valuestringrequired

The value of the property.

The following table provides information about valid values for each property key.

Key(s)Values for the key
aes128HostSpecify the URL that devices will use to fetch the key to decrypt the stream.
aes128SecretSpecify the 16-byte key that will be used to decrypt the stream. The key must be 32 characters in length and can only contain hex characters (a-f, A-F, 0-9). The key must match the key returned by the aes128Host.
enabledSpecify true or false. Used in the asset_mangement section.
fitModeUse letterbox, fit-width, fit-height, crop, stretch, or match-source. The default is fit-height.
maxRtcpWaitTimeUse a whole number, expressed as a string or an integer. The default is 2000 (ms).
passPhraseUse a string between 10-79 characters in length. It adds security to a live stream for an incoming SRT stream from your device or encoder to Wowza Video. The password protection secures the data payload of SRT live streams, ensuring that the transmitted content is encrypted and safeguarded against unauthorized interception during its journey across the network.
recordUse an output ID associated with the transcoder.
rtpDePacketizerPacketSorterBufferTimeUse an integer, expressed as a string or an integer. The default is 500 (ms).
rtpDePacketizerPacketSorterFlushTimeUse an integer, expressed as a string or an integer. The default is 10 (ms).
rtpDePacketizerWrapperUse the string RTPDePacketizerWrapperPacketSorter.
rtpTransportModeUse the string udp or interleave (the default).
rtspValidationFrequencyUse a whole number, expressed as a string or an integer. The default is 15000 (ms).
start_streaming_atSpecify the month, day, year, and time of day that the file should start streaming, expressed as a string. Express the value by using the ISO 8601 standard of YYYY-MM-DDTHH:MM:SSZ where HH is a 24-hour clock in UTC.
  • **username**
  • **password**
  • **fairplayAssetId**
  • **wideVineContentId**
| Use account information and asset IDs from EZDRM. All strings.
  • **avSyncMethod**
  • **debugRtspSession**
  • **mp4**
  • **repeat**
  • **rtspFilterUnknownTracks**
  • **rtpIgnoreSpropParameterSets**
  • **rtpIgnoreProfileLevelId**
| Use **true** or **false**, expressed as a string or a Boolean.
  • **hls**
  • **live2vod**
| Use **true** or **false**, expressed as a string or a Boolean. When **true**, **hls** generates a VOD stream and **live2vod** replaces the live playlist with the VOD playlist after the stream ends so viewers can access the VOD stream on the live playback URL. **hls** must be **true** to enable **live2VOD**.
Example: ""
Response
application/json
{ "property": [ {} ] }

Stream Sources

Operations related to stream sources. You can create a Wowza stream source and associate it to a live stream or transcoder.

Operations

Stream Targets

Operations related to stream targets. A stream target is a destination for a stream. Stream targets can be Wowza Video edge resources; custom, external destinations, target destinations.

Operations

Schedules

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

Real-Time Streams

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

Videos

Operations related to uploading and categorizing videos.

Operations

Categories

Operations related to categorizing videos.

Operations

Advanced Token Authentication

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".

Operations

Clipping

Operations related to clipping and stitching videos and live streams.

Operations

Viewers

Operations related to viewer analytics.

Operations

Ingest

Operations related to ingest analytics for a live stream.

Operations

Engagement

Operations related to engagement analytics for a VOD stream.

Operations

Popularity

Operations related to popularity analytics.

Operations

Quality of Experience

Operations related to quality of experience metrics.

Operations

Account

Operations related to stream analytics for an account.

Operations

Transcoders

Operations related to transcoder analytics.

Operations

Stream Targets

Operations related to stream target analytics, including CDN usage and viewer data.

Operations

Real Time Streams

Operations related to real-time streams analytics.

Operations

Assets

The assets operations are deprecated in 2.0. Use the /videos endpoints instead.

Operations related to assets, which are created through the /assets resources. The Wowza Video service can store and transcode mp4 files that you can tag, manage, and restream.

Operations

Players

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.

Operations

Recordings

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.

Operations

VOD Streams

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.

Operations

Storage

The storage operations are deprecated in 2.0.

Operations related to peak and current storage for an account.

Operations

VOD Streams (Usage)

The VOD stream operations are deprecated in 2.0.

Operations related to video on demand (VOD) stream analytics.

Operations