---
title: "Update a Wowza CDN stream target"
method: PATCH
path: "/stream_targets/wowza_cdn/{id}"
tags: ["stream_targets"]
---

# Update a Wowza CDN stream target

`PATCH /stream_targets/wowza_cdn/{id}`

(Available from version 1.4) This operation updates a Wowza CDN stream target.

## Path parameters

- `id` string, required

## Request body

- FastlyStreamTargetUpdateInput
  - `stream_target_wowza_cdn` object, required
    - `name` string — A descriptive name for the stream target. Maximum 255 characters. **Example:** <code>"name": "My Updated Wowza CDN Stream Target"</code>
    - `custom_origin_region` string — The region where your Wowza Streaming Engine instance is located. Available from version 1.6. Valid values: * **us** - United States * **eu** - Europe * **asia** - Asia * **sa** - South America * **india** - India **Example:** <code>"custom_origin_region": "us"</code>
    - `custom_origin_url` string — The Wowza Streaming Engine instance's domain or IP address starting with http:// or https://. Available from version 1.6. **Note:** You can find the **Host - Server** address on the home page of Wowza Streaming Engine under **Application Connection Settings**.
    - `url_suffix` string — The path to append to the end of the playback url to make it a valid URL, to have playback through the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin. You must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream. Example: "custom_origin/cW8JTDFr"
    - `delivery_protocols` string[] — Specifies the protocols sent to the stream target. Valid values are **hls** and **dash** (MPEG-DASH). The default is **hls**. Available from version 1.7. **Note:** If you enable more than one protocol, you'll incur egress charges for each protocol you select. See <a href="https://www.wowza.com/docs/protect-streams-for-google-widevine-and-microsoft-playready-devices-with-ezdrm-and-the-wowza-video-rest-api">Protect streams for Google Widevine and Microsoft PlayReady devices with EZDRM and the Wowza Video REST API</a> for an example of setting MPEG-DASH as a delivery protocol for digital rights management (DRM) use. **Example:** See response body sample
    - `force_ssl_playback` boolean — If **true**, requires users to play the stream over HTTPS. If **false**, the default, users can play the stream over HTTPS or HTTP. **Example:** <code>"force_ssl_playback": true</code>
    - `geoblock_enabled` boolean — If **true**, controls access to the stream from specific locations and, optionally, IP addresses. The default is **false**. **Example:** <code>"geoblock_enabled": true</code>
    - `geoblock_by_location` 'allow' | 'deny' | 'disabled' — Specifies whether to **allow** or **deny** access to the stream from specific locations. The default is **disabled**. **Example:** <code>"geoblock_location": "allow"</code>
    - `geoblock_country_codes` string — Required when *geoblock_by_location* is **allow** or **deny**. The locations affected by the geo-blocking. Enter a comma-separated list of capitalized two-letter ISO 3166-1 country codes. For a list, see [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia. **Example:** <code>"geoblock_country_codes": "CA, DE"</code>
    - `geoblock_ip_override` 'allow' | 'deny' | 'disabled' — Specifies whether specific IP addresses can override the locations that are allowed or restricted. **allow** permits access from IP addresses within a location that's been blocked, while **deny** restricts access from IP addresses within locations that are allowed. The default is **disabled**. **Example:** <code>"geoblock_ip_override": "allow"</code>
    - `geoblock_ip_addresses` string — Required when *geoblock_ip_override* is **allow** or **deny**. Addresses that can access or restrict the stream even if they're within a specified geo-blocked location. Enter a comma-separated list of up to about 40 IPv4 and IPv6 IP addresses that always allow or deny streaming based on the *geoblock_ip_override* value. <blockquote><strong>Troubleshooting:</strong> The limit of 40 IP addresses is approximate because all the security information (SSL playback, geoblocking countries and IP addresses, referer header, and token auth) count toward an overall metadata limit. If you have fewer than 40 IP addresses and still receive a 422: Invalid Record (Geoblock IP addresses) error, see <a href="https://www.wowza.com/docs/geo-block-wowza-cdn-on-fastly-stream-targets-with-the-wowza-video-rest-api#troubleshooting">Geo-block Wowza CDN on Fastly stream targets with the Wowza Video REST API</a> for more ways to lower the character count.</blockquote> **Example:** <code>"geoblock_ip_addresses": "77.12.34.567, 78.23.45.678"</code>
    - `properties` StreamTargetPropertyFastly[] — Configures one or more stream target properties. 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. Available from version 1.7. **Example:** See response body sample
      - `key` 'acao' | 'chunkSize' | 'convertAMFData' | 'playlistSeconds' | 'relativePlaylists', required — The key of the property. The following table lists the available property keys. Key | Description ----------------|------------- **acao** | Explicitly specifies the origin that can access the stream. While most streams won't need the origin explicitly set, you might use this property for older players that don't send the Referer header in their stream request. **chunkSize** | Defines the duration of the time-based audio and video chunks that Wowza Video delivers to the target. **convertAMFData** | Determines whether Wowza Video converts incoming AMF data into ID3 tags. **playlistSeconds** | Defines the maximum allowable length of the playlist. **relativePlaylists** | Allows the viewer to watch the stream over HTTP and HTTPS, whichever protocol their browser calls.
      - `section` 'hls' | 'playlist', required — The section of the stream target configuration table that contains the property. Section | Valid keys for the section ----------------|------------- **hls** | **acao**, **chunkSize**, and **convertAMFData** **playlist** | **playlistSeconds** and **relativePlaylists**
      - `value` string, required — The value of the property. The following table provides information about valid values for each property key. Key(s) | Values for the key ----------------|------------- **acao** | Displays as **http://&lt;_origin_&gt;** **chunkSize** | Valid values are the integers **2**, **4**, **6**, **8**, and **10**. **convertAMFData** <br/> **relativePlaylists** | Valid values are the Booleans **true** and **false**. **playlistSeconds** | Valid values are any integer between **6** and **28800** (8 hours).
    - `referer_enabled` boolean — If **true**, controls access to the stream from specific domains. The client or player requesting access to the stream must send the Referer header so the origin of the request can be validated. The default is **false**. **Note:** If you change *referer_enabled* to **false** after configuring the referer policy, then later re-enable it, you'll need to re-configure the other referer policy values as well. Available from version 1.7. For more information about the Referer header, see the [HTTP specification](https://tools.ietf.org/html/rfc7231#section-5.5.2). **Example:** <code>"referer_enabled": true</code>
    - `referer_allow_empty` boolean — The Referer header sent by the client or player can be empty and not identify the origin of the request. The default is **false** when *referer_enabled* is **true**. While less secure, if you know you'll have viewers with a client or player that won't send a Referer header, you can specify **true** to allow an empty Referer header so those viewers can still access the stream. Available from version 1.7. **Example:** <code>"referer_allow_empty": true</code>
    - `referer_policy` 'allow' | 'deny' — Specifies whether to **allow** or **deny** access to the stream from specific domains. The default is **allow** when *referer_enabled* is **true**. Specify the domains to allow or deny in *referer_domains*. Available from version 1.7. **Example:** <code>"referer_policy": "allow"</code>
    - `referer_domains` string — Domains that are either allowed or blocked from accessing the stream. Enter a comma-separated list of domains that are always allowed or denied access based on the *referer_policy* value. Required when *referer_enabled* is **true**. We recommend you enter the simplest form of the domain as possible, but you do need to build out the domain to the level of subdomains you want to allow or deny. You can fully express to the subdomain (_mysubdomain.example.com_) to specify that single, specific subdomain or you can use a wildcard (&#42;) to cover all subdomains at a specific level (_&#42;.example.com_). **Example:** _example.com, *.example.com, *.mysubdomain.example.com_ If you entered the above example value for *referer_domains*, and *referer_policy* is **allow**, the following domains are allowed access to the stream: <ul> <li>https://example.com</li> <li>https://subdomain.example.com, https://subdomain2.example.com, etc.</li> <li>https://subdomainA.mysubdomain.example.com, https://subdomainB.mysubdomain.example.com, etc.</li> </ul> Available from version 1.7. **Example:** <code>"referer_domains": "example.com, example2.com"</code>
    - `token_auth_enabled` boolean — If **true**, token authentication protects the stream by ensuring that it's delivered only to authorized viewers and can't be shared by unauthorized links or player hijacking attacks. The default is **false**. **Example:** <code>"token_auth_enabled": true</code>
    - `token_auth_shared_secret` string — The shared secret of the token authentication. Must contain only hexadecimal characters and be an even number of total characters not exceeding 32. **Example:** <code>"token_auth_shared_secret": "12345678ABCDEF"</code>
    - `token_auth_playlist_only` boolean — If **true**, Wowza Video uses token authentication to protect the master playlist only and leaves individual media playlists and media segments unprotected. This feature enables playback compatibility with media players that don’t support the *withCredentials* property. It may also be useful when addressing token auth compatibility issues with specific browsers. The default is **false**. **Note**: If you've enabled MPEG-DASH on your stream target, `token_auth_playlist_only` applies to both the `playlist.m3u8` for HLS and `manifest.mpd` for MPEG-DASH. **Example:** <code>"token_auth_playlist_only": true</code>

## Response `200`

Success

- object
  - `stream_target_wowza_cdn` FastlyStreamTargetPatchResponse, required
    - `created_at` string, date-time — The date and time that the stream target was created.
    - `custom_origin_region` string, string — The region where your Wowza Streaming Engine instance is located. Available from version 1.6.
    - `custom_origin_url` string, string — The Wowza Streaming Engine instance's domain or IP address. Available from version 1.6.
    - `url_suffix` string, string — The path appended to the end of the playback url to make it a valid URL, to have playback through the Wowza Video Flowplayer. This is available for HLS playback only and necessary for stream targets with a custom origin. You must have a **url_suffix** to enable the Share Stream feature for this stream target. The Share Stream feature enables you to host the player and use the Wowza Video player for your viewers to view your stream. Example: "custom_origin/cW8JTDFr"
    - `delivery_protocols` string[] — An array of the delivery protocols available for this stream target. Available from version 1.7.
    - `force_ssl_playback` boolean — If **true**, requires users to play the stream over HTTPS. If **false**, the default, users can play the stream over HTTPS or HTTP.
    - `geoblock_enabled` boolean — If **true**, controls access to the stream from specific locations and, optionally, IP addresses. The default is **false**.
    - `geoblock_by_location` 'allow' | 'deny' | 'disabled' — Specifies whether to **allow** or **deny** access to the stream from specific locations. The default is **disabled**.
    - `geoblock_country_codes` string — Required when *geoblock_by_location* is **allow** or **deny**. The locations affected by the geo-blocking. Enter a comma-separated list of capitalized two-letter ISO 3166-1 country codes. For a list, see [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) on Wikipedia.
    - `geoblock_ip_override` 'allow' | 'deny' | 'disabled' — Specifies whether specific IP addresses can override the locations that are allowed or restricted. **allow** permits access from IP addresses within a location that's been blocked, while **deny** restricts access from IP addresses within locations that are allowed. The default is **disabled**.
    - `geoblock_ip_addresses` string — Required when *geoblock_ip_override* is **allow** or **deny**. Addresses that can access or restrict the stream even if they're within a specified geo-blocked location. Enter a comma-separated list of IPv4 and IPv6 IP addresses that always allow or deny streaming based on the *geoblock_ip_override* value.
    - `id` string — The unique alphanumeric string that identifies the stream target.
    - `name` string — A descriptive name for the stream target. Maximum 255 characters.
    - `playback_urls` object — Web addresses that the target uses to play streams.
      - `hls` object[] — Web address that the target uses to play HLS streams.
        - `name` string — The name of the playback URL.
        - `url` string — The playback URL.
    - `referer_enabled` boolean — If **true**, controls access to the stream from specific domains. The client or player requesting access to the stream must send the Referer header so the origin of the request can be validated. The default is **false**. **Note:** If you change *referer_enabled* to **false** after configuring the referer policy, then later re-enable it, you'll need to re-configure the other referer policy values as well. Available from version 1.7. For more information about the Referer header, see the [HTTP specification](https://tools.ietf.org/html/rfc7231#section-5.5.2).
    - `referer_allow_empty` boolean — The Referer header sent by the client or player can be empty and not identify the origin of the request. The default is **false** when *referer_enabled* is **true**. While less secure, if you know you'll have viewers with a client or player that won't send a Referer header, you can specify **true** to allow an empty Referer header so those viewers can still access the stream. Available from version 1.7.
    - `referer_policy` 'allow' | 'deny' — Specifies whether to **allow** or **deny** access to the stream from specific domains. The default is **allow** when *referer_enabled* is **true**. Specify the domains to allow or deny in *referer_domains*. Available from version 1.7.
    - `referer_domains` string — Domains that are either allowed or blocked from accessing the stream. Enter a comma-separated list of domains that are always allowed or denied access based on the *referer_policy* value. Required when *referer_enabled* is **true**. We recommend you enter the simplest form of the domain as possible, but you do need to build out the domain to the level of subdomains you want to allow or deny. You can fully express to the subdomain (_mysubdomain.example.com_) to specify that single, specific subdomain or you can use a wildcard (&#42;) to cover all subdomains at a specific level (_&#42;.example.com_). **Example:** _example.com, *.example.com, *.mysubdomain.example.com_ If you entered the above example value for *referer_domains*, and *referer_policy* is **allow**, the following domains are allowed access to the stream: <ul> <li>https://example.com</li> <li>https://subdomain.example.com, https://subdomain2.example.com, etc.</li> <li>https://subdomainA.mysubdomain.example.com, https://subdomainB.mysubdomain.example.com, etc.</li> </ul> Available from version 1.7.
    - `state` 'activated' | 'archived' — The state of the stream target.
    - `stream_name` string — The name of the stream being ingested into the target.
    - `token_auth_enabled` boolean — If **true**, token authentication protects the stream by ensuring that it's delivered only to authorized viewers and can't be shared by unauthorized links or player hijacking attacks. The default is **false**.
    - `token_auth_shared_secret` string — The shared secret of the token authentication. Must contain only hexadecimal characters and be an even number of total characters not exceeding 32.
    - `token_auth_playlist_only` boolean — If **true**, Wowza Video uses token authentication to protect the master playlist only and leaves individual media playlists and media segments unprotected. This feature enables playback compatibility with media players that don’t support the *withCredentials* property. It may also be useful when addressing token auth compatibility issues with specific browsers. The default is **false**. **Note**: If you've enabled MPEG-DASH on your stream target, `token_auth_playlist_only` applies to both the `playlist.m3u8` for HLS and `manifest.mpd` for MPEG-DASH.
    - `updated_at` string, date-time — The date and time that the stream target was updated.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `410` — Gone
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/wowza/apis/wowza-video-rest-api-reference-documentation.md) · [All operations](https://skmtc.net/wowza/apis/wowza-video-rest-api-reference-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wowza/wowza-video-rest-api-reference-documentation/versions/157b6f741f2a/schema)
