This is actually a bug for the API itself, and not the docs. I noticed that when you make a request for "GET /zones/pull.json", the resulting object's "id" field is a "string", but when you POST or PUT changes to a specific zone "POST /zones/pull.json" (i.e. when creating a new zone) the resulting object's "id" field is an int. This doesn't matter most of the time, but when working in strictly typed languages (like Go wink wink nudge nudge), it becomes an issue.
{
"code": 200,
"data": {
"current_page_size": 3,
"page": 1,
"page_size": "50",
"pages": 1,
"pullzones": [
{
"backend_compress": "0",
"cache_valid": "1d",
"canonical_link_headers": "0",
"cdn_url": "cdn.somedomain.com",
"compress": "1",
"content_disposition": "0",
"creation_date": "2013-05-15 20:45:44",
"disallow_robots": "0",
"disallow_robots_txt": null,
"dns_check": "1",
"expires": null,
"hide_setcookie_header": "0",
"id": "96061",
"ignore_cache_control": "0",
"ignore_setcookie_header": "0",
"inactive": "0",
"ip": "205.134.255.49",
"label": "personal",
"locked": "0",
"name": "somedomain",
"port": "80",
"proxy_cache_lock": "0",
"pseudo_streaming": "0",
"queries": "1",
"server_id": "18",
"set_host_header": null,
"sslshared": "0",
"suspend": "0",
"tmp_url": "somedomain.alias.netdna-cdn.com",
"type": "2",
"upstream_enabled": "0",
"url": "http://somedomain.net",
"use_stale": "0",
"valid_referers": null
"spdy": 0
},
<...>,
{
"backend_compress": "0",
"cache_valid": "1d",
"canonical_link_headers": "0",
"cdn_url": "newpullzone3.alias.netdna-cdn.com",
"compress": "0",
"content_disposition": "0",
"creation_date": "2013-05-24 16:18:19",
"disallow_robots": "0",
"disallow_robots_txt": null,
"dns_check": "1",
"expires": null,
"hide_setcookie_header": "0",
"id": "97312",
"ignore_cache_control": "0",
"ignore_setcookie_header": "0",
"inactive": "0",
"ip": "205.134.255.49",
"label": null,
"locked": "0",
"name": "newpullzone3",
"port": "80",
"proxy_cache_lock": "0",
"pseudo_streaming": "0",
"queries": "1",
"server_id": "18",
"set_host_header": null,
"sslshared": "0",
"suspend": "0",
"tmp_url": "newpullzone3.alias.netdna-cdn.com",
"type": "2",
"upstream_enabled": "0",
"url": "http://somedomain.net",
"use_stale": "0",
"valid_referers": null
"spdy": 1
}
],
"total": 3
}
}
{
"code": 201,
"data": {
"pullzone": {
"backend_compress": 0,
"cache_valid": "1d",
"canonical_link_headers": 1,
"cdn_url": "newpullzone3.alias.netdna-cdn.com",
"compress": 0,
"content_disposition": 0,
"creation_date": "2013-05-24 16:18:19",
"disallow_robots": 0,
"disallow_robots_txt": null,
"dns_check": 0,
"expires": null,
"hide_setcookie_header": 0,
"id": 97312,
"ignore_cache_control": 0,
"ignore_setcookie_header": 0,
"inactive": 0,
"ip": "205.134.255.49",
"label": null,
"locked": 0,
"name": "newpullzone3",
"port": 80,
"proxy_cache_lock": 0,
"pseudo_streaming": 0,
"queries": "1",
"server_id": "18",
"set_host_header": 1,
"sslshared": null,
"suspend": 0,
"tmp_url": "newpullzone3.alias.netdna-cdn.com",
"type": 2,
"upstream_enabled": 0,
"url": "http://somedomain.net",
"use_stale": 0,
"x_forward_for": 0,
"valid_referers": null
"spdy": 1
}
}
}
Hey,
This is actually a bug for the API itself, and not the docs. I noticed that when you make a request for "GET /zones/pull.json", the resulting object's "id" field is a "string", but when you POST or PUT changes to a specific zone "POST /zones/pull.json" (i.e. when creating a new zone) the resulting object's "id" field is an int. This doesn't matter most of the time, but when working in strictly typed languages (like Go wink wink nudge nudge), it becomes an issue.
The above does reflect the documentation @ http://docs.maxcdn.com/ ...
"GET /pull/zones.json"
"POST /zones/pull.json"
Thanks,
Josh