API Reference and Developer Documentation
HTTP Status Codes
A successful optimization and compression run will result in the 200 OK
HTTP status code:
HTTP/1.1 200 OK
{
"success": true,
"file_name": "header.png",
"original_size": 324520,
"kraked_size": 165358,
"saved_bytes": 159162,
"original_width": 640,
"original_height": 480,
"kraked_url": "http://dl.kraken.io/ec/df/a5/c55d5668b1b5fe9e420554c4ee/header.png"
}
Sending invalid JSON will result in a 400 Bad Request
response:
HTTP/1.1 400 Bad Request
{
"success": false,
"message": "Incoming request body does not contain a valid JSON object"
}
Sending an invalid API Key or API Secret will result in a 401 Unauthorized
response:
HTTP/1.1 401 Unauthorized
{
"success": false,
"message": "Unnknown API Key. Please check your API key and try again"
}
When a Kraken.io account is overdue the request will result in a 402 Payment Required
response:
HTTP/1.1 Payment Required
{
"success": false,
"message": "Your account is overdue. Please log in to your account to settle outstanding invoice(s)."
}
When a Kraken.io account is suspended the request will result in a 403 Forbidden
response:
HTTP/1.1 403 Forbidden
{
"success": false,
"message": "Your account has been temporarily suspended"
}
Uploading a file with a file size larger than that set by your plan's limit will result in a413 Request Entity Too Large
response:
HTTP/1.1 413 Request Entity Too Large
{
"success": false,
"message": "File size too large. The maximum file size is 33554432 bytes (32 MB)"
}
Uploading an unsupported image type will result in a 415 Unsupported Media Type
response:
HTTP/1.1 415 Unsupported Media Type
{
"success": false,
"message": "File type not supported"
}
Sending invalid JSON properties will result in a 422 Unprocessable Entity
response:
HTTP/1.1 422 Unprocessable Entity
{
"success": false,
"message": "You need to specify either callback_url or wait flag"
}
Any unexpected server error will result in a standard 500 Internal Server Error
response:
HTTP/1.1 500 Internal Server Error
{
"success": false,
"message": "Kraken.io has encountered an unexpected error and cannot fulfill your request"
}