Create ABR Stream
Create a new ABR stream
curl -X POST "https://api.5centscdn.com/v2/streams/abr/new" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"_METHOD": "PUT",
"name": "james/tae",
"codec": "h264",
"protocols": [
"HLS"
],
"server": "11,211",
"parentid": 3,
"platformtype": "",
"domainlock[enabled]": "Y",
"domainlock[policy]": "Y",
"domainlock[list]": "example.com,docs.example.com",
"domainlock[noreferer]": "N",
"domainlock[ips]": "",
"geoblock[enabled]": "Y",
"geoblock[policy]": "Y",
"geoblock[list][]": "",
"geoblock[ips]": "",
"ipaccess[enabled]": "Y",
"ipaccess[policy]": "N",
"ipaccess[list]": "",
"ipaccess[ips]": "",
"ndvr[enabled]": "Y",
"ndvr[retention]": 5,
"record[server]": 1,
"record[enabled]": "Y",
"record[retention]": 3,
"securetoken[enabled]": "Y",
"securetoken[policy]": "D",
"securetoken[list]": "32862cdb6276e19a",
"securetoken[ips]": "",
"securetoken[keyip]": "N",
"securetoken[session]": "0",
"securetoken[timeout]": 3600,
"securetoken[active]": "Y",
"useragent[enabled]": "Y",
"useragent[policy]": "Y",
"useragent[list]": "",
"useragent[casesensitive]": "N",
"useragent[ips]": ""
}'
import requests
import json
url = "https://api.5centscdn.com/v2/streams/abr/new"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"_METHOD": "PUT",
"name": "james/tae",
"codec": "h264",
"protocols": [
"HLS"
],
"server": "11,211",
"parentid": 3,
"platformtype": "",
"domainlock[enabled]": "Y",
"domainlock[policy]": "Y",
"domainlock[list]": "example.com,docs.example.com",
"domainlock[noreferer]": "N",
"domainlock[ips]": "",
"geoblock[enabled]": "Y",
"geoblock[policy]": "Y",
"geoblock[list][]": "",
"geoblock[ips]": "",
"ipaccess[enabled]": "Y",
"ipaccess[policy]": "N",
"ipaccess[list]": "",
"ipaccess[ips]": "",
"ndvr[enabled]": "Y",
"ndvr[retention]": 5,
"record[server]": 1,
"record[enabled]": "Y",
"record[retention]": 3,
"securetoken[enabled]": "Y",
"securetoken[policy]": "D",
"securetoken[list]": "32862cdb6276e19a",
"securetoken[ips]": "",
"securetoken[keyip]": "N",
"securetoken[session]": "0",
"securetoken[timeout]": 3600,
"securetoken[active]": "Y",
"useragent[enabled]": "Y",
"useragent[policy]": "Y",
"useragent[list]": "",
"useragent[casesensitive]": "N",
"useragent[ips]": ""
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/abr/new", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"_METHOD": "PUT",
"name": "james/tae",
"codec": "h264",
"protocols": [
"HLS"
],
"server": "11,211",
"parentid": 3,
"platformtype": "",
"domainlock[enabled]": "Y",
"domainlock[policy]": "Y",
"domainlock[list]": "example.com,docs.example.com",
"domainlock[noreferer]": "N",
"domainlock[ips]": "",
"geoblock[enabled]": "Y",
"geoblock[policy]": "Y",
"geoblock[list][]": "",
"geoblock[ips]": "",
"ipaccess[enabled]": "Y",
"ipaccess[policy]": "N",
"ipaccess[list]": "",
"ipaccess[ips]": "",
"ndvr[enabled]": "Y",
"ndvr[retention]": 5,
"record[server]": 1,
"record[enabled]": "Y",
"record[retention]": 3,
"securetoken[enabled]": "Y",
"securetoken[policy]": "D",
"securetoken[list]": "32862cdb6276e19a",
"securetoken[ips]": "",
"securetoken[keyip]": "N",
"securetoken[session]": "0",
"securetoken[timeout]": 3600,
"securetoken[active]": "Y",
"useragent[enabled]": "Y",
"useragent[policy]": "Y",
"useragent[list]": "",
"useragent[casesensitive]": "N",
"useragent[ips]": ""
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"_METHOD": "PUT",
"name": "james/tae",
"codec": "h264",
"protocols": [
"HLS"
],
"server": "11,211",
"parentid": 3,
"platformtype": "",
"domainlock[enabled]": "Y",
"domainlock[policy]": "Y",
"domainlock[list]": "example.com,docs.example.com",
"domainlock[noreferer]": "N",
"domainlock[ips]": "",
"geoblock[enabled]": "Y",
"geoblock[policy]": "Y",
"geoblock[list][]": "",
"geoblock[ips]": "",
"ipaccess[enabled]": "Y",
"ipaccess[policy]": "N",
"ipaccess[list]": "",
"ipaccess[ips]": "",
"ndvr[enabled]": "Y",
"ndvr[retention]": 5,
"record[server]": 1,
"record[enabled]": "Y",
"record[retention]": 3,
"securetoken[enabled]": "Y",
"securetoken[policy]": "D",
"securetoken[list]": "32862cdb6276e19a",
"securetoken[ips]": "",
"securetoken[keyip]": "N",
"securetoken[session]": "0",
"securetoken[timeout]": 3600,
"securetoken[active]": "Y",
"useragent[enabled]": "Y",
"useragent[policy]": "Y",
"useragent[list]": "",
"useragent[casesensitive]": "N",
"useragent[ips]": ""
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/streams/abr/new", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.5centscdn.com/v2/streams/abr/new')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
request.body = '{
"_METHOD": "PUT",
"name": "james/tae",
"codec": "h264",
"protocols": [
"HLS"
],
"server": "11,211",
"parentid": 3,
"platformtype": "",
"domainlock[enabled]": "Y",
"domainlock[policy]": "Y",
"domainlock[list]": "example.com,docs.example.com",
"domainlock[noreferer]": "N",
"domainlock[ips]": "",
"geoblock[enabled]": "Y",
"geoblock[policy]": "Y",
"geoblock[list][]": "",
"geoblock[ips]": "",
"ipaccess[enabled]": "Y",
"ipaccess[policy]": "N",
"ipaccess[list]": "",
"ipaccess[ips]": "",
"ndvr[enabled]": "Y",
"ndvr[retention]": 5,
"record[server]": 1,
"record[enabled]": "Y",
"record[retention]": 3,
"securetoken[enabled]": "Y",
"securetoken[policy]": "D",
"securetoken[list]": "32862cdb6276e19a",
"securetoken[ips]": "",
"securetoken[keyip]": "N",
"securetoken[session]": "0",
"securetoken[timeout]": 3600,
"securetoken[active]": "Y",
"useragent[enabled]": "Y",
"useragent[policy]": "Y",
"useragent[list]": "",
"useragent[casesensitive]": "N",
"useragent[ips]": ""
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Stream Created",
"stream": {
"monitoring_id": null,
"type": "abr",
"id": 72255,
"serviceid": 103,
"name": "james/tae",
"codec": "h264",
"ingests": [
[],
null
],
"protocols": [
[
"HLS"
],
[
"HLS"
]
],
"parentid": null,
"server": "201",
"backup": "",
"dedicatedLTC": "0",
"hasAdvancedFeatures": "0",
"monitoring_triggers": null,
"draft": "0",
"disabled": "0",
"created_at": "2026-05-01 04:26:11",
"updated_at": "2026-05-01 04:26:11",
"lastseen_at": false,
"deleted": null,
"ingestsLock": 0,
"protocolsLock": 1,
"status": "Deploying",
"has": {
"rtmp": 0,
"rtsp": 0,
"hls": 1,
"dash": 0,
"rtmpauth": false
},
"fms": {
"server": {
"country": "North America",
"meta": {
"fmsUrl": "rtmp://fms-01-01.5centscdn.com"
}
}
},
"abr": {
"streams": 5,
"hashes": {
"1": "tae1",
"2": "tae2",
"3": "tae3",
"4": "tae4",
"5": "tae5"
}
},
"parts": {
"pp": "james",
"sn": "tae",
"full": "jamestae"
},
"restream": {},
"playbackurls": {
"scheme": "https",
"url_prefix": "https://stream-abc12-hls-live.stream.example.com",
"rtmp": "",
"rtsp": "",
"hlsManifest": "playlist_dvr.m3u8",
"dashManifest": "manifest_dvr.mpd",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com",
"players": {
"flowplayer": {
"baseQ": "",
"base": "https://cdn.example.com/flowplayer/hls/",
"hls": "https://cdn.example.com/flowplayer/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"rtmp": "",
"rtsp": "",
"hds": ""
},
"videojs": {
"baseQ": "",
"base": "https://cdn.example.com/videojs/hls/",
"hls": "https://cdn.example.com/videojs/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"rtmp": "",
"rtsp": "",
"hds": ""
},
"own": {
"baseQ": "?showcv=true&title=james/tae",
"base": "https://cdn.example.com/player/hls/skin1//",
"hls": "https://cdn.example.com/player/hls/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=james/tae",
"dash": "https://cdn.example.com/player/dash/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=james/tae"
}
},
"tokenized": {
"scheme": "https",
"url_prefix": "https://stream-abc12-hls-live.stream.example.com",
"rtmp": "rtmp://rtmp.5centscdn.com:1935/",
"rtsp": "rtsp://rtsp.5centscdn.com:554/",
"hlsManifest": "playlist_dvr.m3u8",
"dashManifest": "manifest_dvr.mpd",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com",
"players": {
"hostname": "cdn.example.com",
"flowplayer": {
"baseQ": "",
"base": "https://cdn.example.com/flowplayer/hls/",
"hls": "https://cdn.example.com/flowplayer/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"dash": "https://cdn.example.com/flowplayer/dash/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"videojs": {
"baseQ": "",
"base": "https://cdn.example.com/videojs/hls/",
"hls": "https://cdn.example.com/videojs/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"dash": "https://cdn.example.com/videojs/dash/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"own": {
"baseQ": "?showcv=true&title=james/tae",
"base": "https://cdn.example.com/player/hls/skin1//",
"hls": "https://cdn.example.com/player/hls/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=james/tae",
"dash": "https://cdn.example.com/player/dash/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=james/tae"
}
},
"path": {
"hls": "/james/tae/playlist_dvr.m3u8",
"dash": "/james/tae/manifest_dvr.mpd"
},
"token": {
"hls": "md5=Q6ViEYDsWUajNWsegkfhdg&path=%2Fjames%2Ftae&expires=1777613184",
"dash": "md5=Q6ViEYDsWUajNWsegkfhdg&path=%2Fjames%2Ftae&expires=1777613184"
}
},
"hds": ""
},
"platformsCount": 0,
"ssl_enabled": true,
"hash": "tae",
"ndvr": {
"enabled": "Y",
"retention": "5"
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"keyip": "N",
"list": "32862cdb6276e19a",
"timeout": 3600,
"session": "0",
"ips": "",
"dirs": null,
"active": "Y"
},
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": "example.com,docs.example.com",
"ips": "",
"noreferer": "N",
"active": "Y"
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [
""
],
"ips": "",
"active": "Y"
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": "",
"ips": "",
"active": "N"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"adInsertion": null,
"record": {
"enabled": "Y",
"retention": "3",
"stream": {
"id": 72256,
"type": "record"
}
},
"rtmpauth": {
"password": "",
"active": "N"
},
"transcode": {
"ltc": 0,
"type": "mixed",
"enabled": false,
"isEditable": true
},
"platforms": [],
"messages": {}
},
"warnings": null,
"errors": null
}
/streams/abr/new
Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
HTTP method override for this request. This endpoint accepts POST, but set this to PUT to perform an update operation.
Friendly name for this resource.
Video codec for the stream. Use h264 or h265.
List of output protocols. Values include HLS, RTMP, DASH, RTSP.
Server ID(s) for the stream. Use comma-separated values for multiple servers.
Identifier of the parent resource in the hierarchical structure.
Platform type identifier. Specifies the type of platform associated with the stream.
Indicates if domain lock is enabled. Y means enabled, N means disabled.
The policy for domain access. Y means allow, N means deny.
A comma-separated list of allowed domains for access.
Indicates whether to block referrer headers. Y means block, N means allow.
A list of IP addresses allowed or blocked based on the domain policy.
Indicates if geoblocking is enabled. Y means enabled, N means disabled.
The policy for geoblocking. Y means block listed locations, N means allow.
Country codes to block. Examples include AF, GB, US.
A list of IP addresses associated with the geoblocking rule.
Indicates if IP access control is enabled. Y means enabled, N means disabled.
The policy for IP access. Y means allow, N means deny.
A list of allowed IP addresses for access.
A list of IP addresses blocked or allowed based on the policy.
Indicates if NDVR is enabled. Y means enabled, N means disabled.
The number of days to retain NDVR recordings.
The DVR server identifier.
Indicates if recording is enabled. Y means enabled, N means disabled.
The number of days to retain recordings.
Indicates if secure token authentication is enabled. Y means enabled, N means disabled.
The policy for secure token usage. D means default policy.
A secure token identifier used for access control.
A list of IP addresses associated with secure tokens.
Indicates if the token is bound to the IP address. Y means bound, N means not bound.
Indicates whether a session is required for token validation. 0 means no session.
Timeout duration in seconds for secure token validity.
Whether the secure token is currently active. Y means active, N means inactive.
Indicates if user-agent filtering is enabled. Y means enabled, N means disabled.
The policy for user-agent filtering. Y means allow, N means deny.
A list of allowed or blocked user-agent strings.
Indicates whether user-agent matching is case-sensitive. Y means case-sensitive, N means not.
A list of IP addresses associated with user-agent filtering rules.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Body
HTTP method override for this request. This endpoint accepts POST, but set this to PUT to perform an update operation.
PUTServer ID(s) for the stream. Use comma-separated values for multiple servers.
11,211Platform type identifier. Specifies the type of platform associated with the stream.
Indicates if domain lock is enabled. Y means enabled, N means disabled.
YA comma-separated list of allowed domains for access.
example.com,docs.example.comIndicates whether to block referrer headers. Y means block, N means allow.
NIndicates if geoblocking is enabled. Y means enabled, N means disabled.
YThe policy for geoblocking. Y means block listed locations, N means allow.
YIndicates if IP access control is enabled. Y means enabled, N means disabled.
YIndicates if secure token authentication is enabled. Y means enabled, N means disabled.
YIndicates if the token is bound to the IP address. Y means bound, N means not bound.
NIndicates whether a session is required for token validation. 0 means no session.
0Whether the secure token is currently active. Y means active, N means inactive.
YIndicates if user-agent filtering is enabled. Y means enabled, N means disabled.
YIndicates whether user-agent matching is case-sensitive. Y means case-sensitive, N means not.
NResponses
Status of the API response.
Human-readable message describing the result.
Stream object containing configuration and status details.
Unique monitoring identifier for the stream.
Type identifier for this stream or object.
Unique numeric identifier.
Unique identifier of the service this stream belongs to.
Name of the stream.
Video codec used for the stream.
List of active ingest connection details for each server.
Supported streaming protocols for each server.
Identifier of the parent stream, if this is a child stream.
Server ID or identifier assigned to the stream.
Backup server ID for failover.
Whether a dedicated live transcoding server is allocated for this stream.
Whether advanced features are enabled for this stream.
Monitoring alert trigger configuration for the stream.
Draft status flag. 0 means published; 1 means unpublished draft.
Disabled flag. 0 means active; 1 means disabled.
Timestamp when the stream was created.
Timestamp when the stream was last updated.
Timestamp when the stream was last detected as active.
Deletion timestamp, or null if the stream is not deleted.
Whether the ingest endpoint list is locked from editing.
Whether the supported protocol list is locked from editing.
Current deployment or operational status of the stream.
Flags indicating which streaming protocols are active.
Whether RTMP streaming is enabled. 1 = enabled, 0 = disabled.
Whether RTSP streaming is enabled. 1 = enabled, 0 = disabled.
Whether HLS streaming is enabled. 1 = enabled, 0 = disabled.
Whether DASH streaming is enabled. 1 = enabled, 0 = disabled.
Whether RTMP publish authentication is required.
Flash Media Server ingest configuration for the stream.
Server ID or identifier assigned to the stream.
Geographic region of the ingest server.
Metadata object for the server.
RTMP ingest URL for the assigned FMS server.
List of live streams.
Map of CDN hostname to stream hashes and playback URLs.
Stream name components.
Stream name prefix (part 1, before the slash).
Stream name suffix (part 2, after the slash).
Combined full stream name without the slash separator.
Restream platform configuration object.
Playback URL set for all supported protocols and player types.
URL scheme used for playback.
Base CDN hostname URL used as a prefix for playback URLs.
RTMP playback or destination URL.
RTSP playback URL.
HLS manifest filename.
DASH manifest filename.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Embedded player iframe URL set for supported player types.
Flowplayer iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
RTMP playback or destination URL.
RTSP playback URL.
Video.js player iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
RTMP playback or destination URL.
RTSP playback URL.
Native stream player iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Tokenized playback URL configuration, or null if disabled.
URL scheme used for playback.
Base CDN hostname URL used as a prefix for playback URLs.
RTMP playback or destination URL.
RTSP playback URL.
HLS manifest filename.
DASH manifest filename.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Embedded player iframe URL set for supported player types.
CDN hostname used for playback.
Flowplayer iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Video.js player iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Native stream player iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Number of external restreaming platforms configured.
Whether HTTPS/SSL is enabled for playback.
Short hash or slug used in stream URLs.
Network DVR (nDVR) rewind configuration for the stream.
Enable or disable this feature.
Retention period in days (record) or minutes (nDVR).
Secure token URL signing configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Whether the token is bound to the viewer IP address.
Comma-separated list of allowed or blocked values.
Token expiry time in seconds.
Session-based token mode flag.
IP addresses associated with the access control policy.
URL directory paths restricted by this policy.
Whether this policy is currently enforced.
Domain lock (hotlink protection) configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether to allow playback requests with no Referer header.
Whether this policy is currently enforced.
Geoblocking access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether this policy is currently enforced.
IP address access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether this policy is currently enforced.
User-agent based access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether user-agent pattern matching is case-sensitive.
Whether this policy is currently enforced.
User-agent filter list as a parsed array.
Ad insertion configuration for the stream, or null if not configured.
Recording (DVR) configuration for the stream.
Enable or disable this feature.
Retention period in days (record) or minutes (nDVR).
Stream object containing configuration and status details.
Unique numeric identifier.
Type identifier for this stream or object.
Whether RTMP publish authentication is required.
Password for RTMP publish authentication.
Whether this policy is currently enforced.
Live transcoding configuration for the stream.
Live transcoding server ID assigned to this stream.
Type identifier for this stream or object.
Enable or disable this feature.
Whether the transcoding configuration can be edited.
List of configured external restreaming platform entries.
Informational messages related to the stream state.
Non-fatal warnings returned with the response.
Errors returned with the response.