AnswerX RKS API Debugging

If you encounter a variety of errors, the AnswerX RKS API responds with the appropriate HTTP status codes and a response object that explains them, as shown here. There are many possible causes for failure, such as malformed JSON or XML code or missing fields. Note that the error responses are in JSON format, even if the Accept header is set to XML.

JSON Problems

The OPEN API platform returns HTTP Problem error objects. For example:

{
    "type": "https://problems.luna.akamaiapis.net/-/pep-authn/request-error",
    "title": "Bad request",
    "status": 400,
    "detail": "Authorization header missing",
    "instance": "https://akab-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/recursive-dns-db/v1/locations",
    "method": "GET",
    "serverIp": "NNN.NNN.NNN.NNN",
    "clientIp": "NNN.NNN.NNN.NNN",
    "requestId": "xxxxxxxx",
    "requestTime": "2015-04-16T14:56:52Z"
}

In most cases, the type and title provide enough information to understand the nature of the error.

Please be sure to reference the problem type when communicating with Akamai representatives or the Akamai Developer Community.

Error Responses

This API produces the following set of HTTP status codes for both success and failure scenarios:

Code Message Description
200 Successful request The actual response will depend on the request method used. In a GET request, the response contains an entity corresponding to the requested resource. In a POST request, the response contains an entity describing or containing the result of the action.
204 No content The server successfully processed the request and is not returning any content.
400 No Verb Provided No action verb was provided in the request, and the request type requires one.
400 Request has invalid URL The format of the REST URL was incorrect. See the Overview for correct format examples.
400 Request has unknown verb An action verb was provided, but not one of “schema”, “subscribe”, “dump”, “dump-data-only”.
400 No Table Provided No table name was given.
400 Could not parse POST data The contents of a POST (XML or JSON) could not be parsed.
400 No Key Provided The request requires a key, but none was given.
400 Unexpected first line from RKS The request triggered an unknown response from RKS.
400 Missing table name No table name was given.
400 Missing row key The request requires a key, but none was given.
400 POST error The POST data was parsed successfully, but RKS did not accept it.
400 RKS error: bad command or invalid JSON/XML The command was invalid, or the JSON/XML was not accepted by RKS.
403 User ID <ID> does not have access to customer ID <ID> The Portal user who made the request is not allowed to access the given customer’s data.
404 Unexpected reply from RKS RKS returned an unrecognized response to a row query.
404 No row for key No row was found matching the given key.
404 RKS error: Table <TABLE> not found The table was not found in the API system.
404 RKS error: Key <KEY> not found No row was found matching the given key.
405 Request <REQ> is forbidden (neither GET, PUT/POST, nor DELETE) The request did not use one of the allowed HTTP methods.
405 Method not allowed for request type (only POST or PUT are allowed) The request type requires POST or PUT, but a different method was used.
406 Accept header allows neither JSON nor XML The Accept header in the request was set to a value other than XML or JSON.
429 Customer <CUST> has hit request limit <LI>> for past minute The given customer’s API tables have received more than the allowed number of requests in the past minute. This is a rate-limiting feature to protect against DDOS attacks. The condition will clear after the minute has elapsed.
500 Failed to create JSON for table <TABLE> schema The AnswerX RKS API was not able to parse a table schema from the API (JSON).
500 Failed to create XML for table <TABLE> schema The AnswerX RKS API was not able to parse a table schema from this API (XML).
500 Failed to connect to any RKS The AnswerX RKS API was not able to connect to an API table server for the customer.
500 Failed to connect to start TLS The AnswerX RKS API was not able to create a TLS session to the API.
500 Secure session is not valid The AnswerX RKS API was not able to create a secure session with the API.
500 Schema pull: field missing name or type The AnswerX RKS API returned a schema that is missing a type of name for a field.
500 RKS Connection internal server error An internal error prevented the API from talking to the AnswerX RKS API.
502 RKS error: No data returned No data was returned by the AnswerX RKS API to this API.
502 No lines returned from RKS No table lines were returned by the AnswerX RKS API to this API.
502 Schema pull: failed to read to end of schema This API returned part of a schema, but not the whole thing.
502 Bad RKS response: <CODE> RKS did not return the expected response code to this API.
502 RKS Connection timed out The connection to this API timed out before all data was sent.
502 RKS Connection network error The connection to this API experienced a network error.
502 RKS Connection refused The connection to this API was refused.
502 RKS Connection reset The connection to this API was reset.
502 RKS Connection internal server error The connection to this API failed due to an internal RKS error.
502 Bad HELO from RKS RKS failed to return a HELO to this API.
502 Static ID to RKS failed RKS failed to return a static ID.
502 RKS error: failed to fetch row RKS failed to return a row to RKSAPI.
502 Cannot parse ID line from RKS This API was not able to parse the RKS ID line.
502 Cannot parse session ID from RKS This API was not able to parse the RKS session ID.
502 Cannot parse byte count from RKS This API was not able to parse the RKS data byte count.

Last modified: 12/12/2016