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.
Wowza CDN on Fastly stream targets leverage the Fastly CDN to distribute streams to players. A separate Fastly subscription isn't required because the Fastly CDN is integrated directly into Wowza Video. When you create a live stream in the API, a Wowza CDN on Fastly stream target is created automatically. In contrast, you can use /stream_targets/fastly
endpoints to manually create Wowza CDN on Fastly stream targets and associate them with transcoders.
With Wowza CDN on Fastly stream targets, you can use geo-blocking to control locations where your stream can be viewed, and you can use token authentication to restrict access to streams. Advanced configuration properties are available for Wowza CDN on Fastly stream targets.
Custom stream targets connect to external CDNs to deliver streams to viewers. You manually create custom stream targets and associate them to a transcoder. You can configure advanced properties for custom stream targets that deliver HLS streams through the akamai_cupertino provider.
You can no longer create Wowza CDN on Akamai stream targets. While you can view details of an Akamai stream and delete it, that functionality will also soon be disabled.
This operation lists limited details for custom stream targets and Wowza CDN on Fastly stream targets. For detailed information, fetch a single stream target of a specific type.
filter | string 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. Example: filter[0][field]=state&filter[0][eq]=stopped |
page | integer 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. |
per_page | integer 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. |
Success
Unauthorized
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets"
{- "stream_targets": [
- {
- "created_at": "2020-01-29T17:16:22.007Z",
- "id": "qvvjyjjk",
- "name": "My RTMP Stream Target",
- "state": "deactivated",
- "type": "wowza",
- "updated_at": "2020-01-31T02:05:18.007Z"
}, - {
- "created_at": "2020-01-28T17:16:22.007Z",
- "id": "j75mlh3v",
- "name": "My HLS Push Stream Target",
- "state": "activated",
- "type": "custom",
- "updated_at": "2020-01-31T11:02:53.007Z"
}
]
}
This operation creates a custom stream target for an external, third-party destination.
Provide the details of the custom stream target to create in the body of the request.
required | object (stream_target_custom) | ||||||||||||||||
|
Success
object (stream_target_custom) | |||||||||||||||||||||||||
|
Unauthorized
Unprocessable Entity
{- "stream_target_custom": {
- "name": "My Custom Stream Target",
- "primary_url": "rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint",
- "provider": "rtmp",
- "stream_name": "c8467d50@123456"
}
}
{- "stream_target_custom": {
- "created_at": "2020-01-28T17:16:22.011Z",
- "delivery_protocols": [
- "rtmp"
], - "id": "RMS45lfvx",
- "name": "My Custom Stream Target",
- "playback_urls": {
- "rtmp": [
- {
- "name": "default",
- "url": "rtmp://cp123456.live.edgefcs.net/live/[EVENT]@654321"
}
]
}, - "primary_url": "rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint",
- "provider": "rtmp",
- "stream_name": "c8467d50@123456",
- "updated_at": "2020-01-30T19:14:11.011Z"
}
}
This operation lists limited details for all of your custom stream targets. For detailed information, fetch a single custom stream target.
page | integer 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. |
per_page | integer 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. |
Success
required | Array of objects (stream_targets_custom) | ||||||||
Array
|
Unauthorized
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/custom"
{- "stream_targets_custom": [
- {
- "created_at": "2020-01-28T17:16:22.008Z",
- "id": "RMS45lfvx",
- "name": "My Custom Stream Target",
- "updated_at": "2020-01-31T00:44:50.008Z"
}, - {
- "created_at": "2020-01-28T17:16:22.008Z",
- "id": "ABC45lxyz",
- "name": "My Second Custom Stream Target",
- "updated_at": "2020-01-31T02:05:33.008Z"
}
]
}
This operation shows the details of a specific custom stream target.
Success
object (stream_target_custom) | |||||||||||||||||||||||||
|
Unauthorized
Forbidden
Not Found
Gone
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/custom/2adffc17"
{- "stream_target_custom": {
- "created_at": "2020-01-28T17:16:22.011Z",
- "delivery_protocols": [
- "rtmp"
], - "id": "RMS45lfvx",
- "name": "My Custom Stream Target",
- "playback_urls": {
- "rtmp": [
- {
- "name": "default",
- "url": "rtmp://cp123456.live.edgefcs.net/live/[EVENT]@654321"
}
]
}, - "primary_url": "rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint",
- "provider": "rtmp",
- "stream_name": "c8467d50@123456",
- "updated_at": "2020-01-30T19:14:11.011Z"
}
}
This operation updates a custom stream target.
Provide the details of the custom stream target to update in the body of the request.
required | object (stream_target_custom) | ||||||||||||||||
|
Success
object (stream_target_custom) | |||||||||||||||||||||||||
|
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
{- "stream_target_custom": {
- "name": "My Updated Custom Stream Target"
}
}
{- "stream_target_custom": {
- "created_at": "2020-01-28T17:16:22.011Z",
- "delivery_protocols": [
- "rtmp"
], - "id": "RMS45lfvx",
- "name": "My Updated Custom Stream Target",
- "playback_urls": {
- "rtmp": [
- {
- "name": "default",
- "url": "rtmp://cp123456.live.edgefcs.net/live/[EVENT]@654321"
}
]
}, - "primary_url": "rtmp://p.ep123456.i.akamaientrypoint.net/EntryPoint",
- "provider": "rtmp",
- "stream_name": "c8467d50@123456",
- "updated_at": "2020-01-30T19:46:22.012Z"
}
}
This operation deletes a custom stream target.
Note: You can't remove stream targets that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint.
No Content
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "DELETE" \ "${WV_HOST}/api/v1.10/stream_targets/custom/2adffc17"
{- "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": [ ]
}
}
}
(Available from version 1.4) This operation creates a Wowza CDN on Fastly stream target to deliver your stream using the Wowza CDN on Fastly.
Provide the details of the Wowza CDN on Fastly stream target to create in the body of the request.
required | object (stream_target_fastly) | ||||||||||||||||||||||||||||||||||||
|
Success
required | object (stream_target_fastly) | ||||||||||||||||||||||||||||||||||||||||||||||
|
Unauthorized
Unprocessable Entity
{- "stream_target_fastly": {
- "name": "My Wowza CDN on Fastly Stream Target"
}
}
{- "stream_target_fastly": {
- "id": "abc45lfyz",
- "name": "My Wowza CDN on Fastly Stream Target",
- "state": "activated",
- "stream_name": "9a00105a",
- "delivery_protocols": [
- "hls"
], - "playback_urls": {
- "hls": [
- {
- "name": "default",
}
]
}, - "token_auth_enabled": false,
- "token_auth_playlist_only": false,
- "geoblock_enabled": true,
- "geoblock_by_location": "allow",
- "geoblock_country_codes": "DE, US",
- "geoblock_ip_override": "deny",
- "geoblock_ip_addresses": "77.12.34.567, 78.23.45.678",
- "referer_enabled": true,
- "referer_allow_empty": false,
- "referer_policy": "allow",
- "referer_domains": "example.com, example2.com",
- "force_ssl_playback": false,
- "created_at": "2020-01-28T17:16:22.086Z",
- "updated_at": "2020-01-30T15:33:43.086Z"
}
}
(Available from version 1.4) This operation lists limited details for all of your Wowza CDN on Fastly stream targets. For detailed information, fetch a single target.
page | integer 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. |
per_page | integer 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. |
Success
required | Array of objects (stream_targets_fastly) | ||||||||
Array
|
Unauthorized
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/fastly"
{- "stream_targets_fastly": [
- {
- "created_at": "2020-01-28T17:16:22.010Z",
- "id": "abc45lfyz",
- "name": "My Wowza CDN on Fastly Stream Target",
- "updated_at": "2020-01-31T12:37:22.010Z"
}, - {
- "created_at": "2020-01-28T17:16:22.010Z",
- "id": "rdm45lxyz",
- "name": "My Second Wowza CDN on Fastly Stream Target",
- "updated_at": "2020-01-31T14:17:28.010Z"
}
]
}
(Available from version 1.4) This operation shows the details of a specific Wowza CDN on Fastly stream target.
Success
required | object (stream_target_fastly) | ||||||||||||||||||||||||||||||||||||||||||||||
|
Unauthorized
Forbidden
Not Found
Gone
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17"
{- "stream_target_fastly": {
- "id": "abc45lfyz",
- "name": "My Wowza CDN on Fastly Stream Target",
- "state": "activated",
- "stream_name": "9a00105a",
- "delivery_protocols": [
- "hls"
], - "playback_urls": {
- "hls": [
- {
- "name": "default",
}
]
}, - "token_auth_enabled": false,
- "token_auth_playlist_only": false,
- "geoblock_enabled": true,
- "geoblock_by_location": "allow",
- "geoblock_country_codes": "DE, US",
- "geoblock_ip_override": "deny",
- "geoblock_ip_addresses": "77.12.34.567, 78.23.45.678",
- "referer_enabled": true,
- "referer_allow_empty": false,
- "referer_policy": "allow",
- "referer_domains": "example.com, example2.com",
- "force_ssl_playback": false,
- "created_at": "2020-01-28T17:16:22.086Z",
- "updated_at": "2020-01-30T15:33:43.086Z"
}
}
(Available from version 1.4) This operation updates a Wowza CDN on Fastly stream target.
Provide the details of the Wowza CDN on Fastly stream target to update in the body of the request.
required | object (stream_target_fastly) | ||||||||||||||||||||||||||||||||||||
|
Success
required | object (stream_target_fastly) | ||||||||||||||||||||||||||||||||||||||||||||||
|
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
{- "stream_target_fastly": {
- "name": "My Updated Wowza CDN on Fastly Stream Target"
}
}
{- "stream_target_fastly": {
- "id": "abc45lfyz",
- "name": "My Updated Wowza CDN on Fastly Stream Target",
- "state": "activated",
- "stream_name": "9a00105a",
- "delivery_protocols": [
- "hls"
], - "playback_urls": {
- "hls": [
- {
- "name": "default",
}
]
}, - "token_auth_enabled": false,
- "token_auth_playlist_only": false,
- "geoblock_enabled": false,
- "referer_enabled": false,
- "force_ssl_playback": false,
- "created_at": "2020-01-28T17:16:22.086Z",
- "updated_at": "2020-01-30T18:13:55.087Z"
}
}
(Available from version 1.4) This operation deletes a Wowza CDN on Fastly stream target.
Note: You can't remove stream targets that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint.
No Content
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "DELETE" \ "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17"
{- "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": [ ]
}
}
}
(Available from version 1.5) This operation shows the details of all VOD streams associated to a specific Fastly stream target.
Success
required | Array of objects (vod_streams) | ||||||||||||
Array
|
Unauthorized
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/fastly/2adffc17/vod_streams"
{- "vod_streams": [
- {
- "id": "wdjfqvsv",
- "name": "My VOD Stream 1",
- "state": "failed",
- "playback_enabled": false,
- "created_at": "2020-02-25T17:16:25.849Z",
- "updated_at": "2020-01-28T16:06:47.849Z"
}, - {
- "id": "XyxZKqHO",
- "name": "My VOD Stream 2",
- "state": "completed",
- "playback_enabled": true,
- "created_at": "2020-01-29T17:16:21.849Z",
- "updated_at": "2020-01-31T02:26:05.849Z"
}, - {
- "id": "Pz21DRSt",
- "name": "My VOD Stream 3",
- "state": "completed",
- "playback_enabled": true,
- "created_at": "2020-01-29T17:16:21.849Z",
- "updated_at": "2020-01-30T18:13:18.849Z"
}
]
}
This operation regenerates the connection code of any kind of stream target.
Success
required | object (stream_target) |
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "PUT" \ "${WV_HOST}/api/v1.10/stream_targets/2adffc17/regenerate_connection_code"
{- "stream_target": {
- "connection_code": "0cd2e8"
}
}
This operation configures a property for a stream target. The properties available will depend on the provider you are using and are noted in the key descriptions below. For example, if you are using the provider Wowza CDN on Fastly, look for that in the descriptions.
For a comprehensive resource describing the use of advanced properties, see Set advanced properties with the Wowza Video REST API.
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.
required | object (property) A stream target property. The property configuration consists of a key/value pair and the section of the stream target configuration table the key/value pair is stored in. | ||||||||||||||||||||||||||||||||||||
|
Success
required | object (property) A stream target property. The property configuration consists of a key/value pair and the section of the stream target configuration table the key/value pair is stored in. | ||||||||||||||||||||||||||||||||||||
|
Unauthorized
Unprocessable Entity
{- "property": {
- "key": "chunkSize",
- "section": "hls",
- "value": 6
}
}
{- "property": {
- "key": "chunkSize",
- "section": "hls",
- "value": 6
}
}
This operation shows the details of all of the properties assigned to a specific stream target. The properties returned will depend on the provider you are using and are noted in the key descriptions below.
For a comprehensive resource describing the use of advanced properties, see Set advanced properties with the Wowza Video REST API.
Success
required | Array of objects (property) | ||||||||||||||||||||||||||||||||||||
Array
|
Unauthorized
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties"
{- "properties": [
- {
- "key": "chunkSize",
- "section": "hls",
- "value": 6
}, - {
- "key": "relativePlaylists",
- "section": "playlist",
- "value": true
}
]
}
This operation shows the details of a specific property assigned to a specific stream target. The properties returned will depend on the provider you are using and are noted in the key descriptions below.
For a comprehensive resource describing the use of advanced properties, see Set advanced properties with the Wowza Video REST API.
Success
required | object (property) A stream target property. The property configuration consists of a key/value pair and the section of the stream target configuration table the key/value pair is stored in. | ||||||||||||||||||||||||||||||||||||
|
Unauthorized
Forbidden
Not Found
Gone
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "GET" \ "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize"
{- "property": {
- "key": "chunkSize",
- "section": "hls",
- "value": 6
}
}
This operation removes a property from a stream target.
No Content
Unauthorized
Forbidden
Not Found
Gone
Unprocessable Entity
// Using cURL curl -H "Authorization: Bearer ${WV_JWT}" \ -H "Content-Type: application/json" \ -X "DELETE" \ "${WV_HOST}/api/v1.10/stream_targets/2adffc17/properties/hls-chunkSize"
{- "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": [ ]
}
}
}