Key and Quota Management API Debugging

This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.

Error Responses

This API responds with JSON objects that adhere to the HTTP Problem Details standard. This example shows a validation error, where the type value is a non-navigable URI, and the instance may be useful if you need to communicate about the problem with your Akamai support representative:

{
    "type": "/apikey-manager-api/error-types/validation-error",
    "status": 400,
    "title": "Validation error",
    "instance": "83e2a26b-0ba9-4456-aafe-c063f58b56ea",
    "errors": [
        {
            "type": "/apikey-manager-api/error-types/invalid-size",
            "title": "Invalid size",
            "detail": "size must be between 1 and 2147483647",
            "min": 1,
            "field": "keys",
            "max": 2147483647,
            "rejectedValue": []
        }
    ]
}

HTTP Status Codes

This section lists the full range of response codes the API may generate.

Code Description
200 The operation was successful.
201 Successfully created.
204 Successfully processed request.
400 Bad Request.
401 Authentication failure.
403 Access is forbidden.
404 Resource not found.
405 Method not supported.
500 Internal server error.
503 Too many requests. Service is temporarily unavailable.

Error Types

The table below lists the common error types that you can encounter and their corresponding descriptions. Each name in the column on the left represents a string that appears after the following URL prefix in the type member: https://problems.luna.akamaiapis.net/apikey-manager-api/error-types/.

Error Type Description
collection-not-blank-elements The tags array contains at least one empty element and the elements in this array cannot be empty.
contract-not-found The contract ID that you specified does not exist.
file-not-empty The content value that you specified during the Import keys operation does not contain any data.
greater-than-max The numerical JSON value is too large.
group-not-found The Luna group ID that you specified does not exist.
invalid-collection-size The maximum number of tags that you can associate with a key collection is 10.
invalid-json-value The JSON value does not meet the validation criteria for the corresponding JSON field.
invalid-length The maximum length of the JSON value is 200 characters.
key-collection-not-unique A key collection with the name that you specified already exists.
key-import-contains-duplicate The content value that you specified during the Import keys operation contains duplicate key data.
key-import-max-count The number of keys that you want to create through the Import keys operation crosses the allowed limit. The maximum number of keys that you can store in your collections is 10000 per one Akamai contract.
key-import-syntax-error The content value that you specified during the Import keys operation contains syntactic errors. For guidelines on forming the import file, see Import keys.
key-import-unrecognizable-properties The content value that you specified during the Import keys operation contains properties unrecognizable by the system. For guidelines on forming the import file, see Import keys.
key-import-unsupported-extension The name value that you specified during the Import keys operation refers to an unsupported extension. The supported extensions are: csv, xml, json.
key-not-unique A key with the value that you specified already exists.
less-than-min The numerical JSON value is too small.
not-empty The JSON value is empty, and the corresponding JSON field only accepts non-empty values.
not-null The JSON value is null, and the corresponding JSON field does not accept null values.
required-param-missing The JSON value specified as required in the schema is missing from the request body.
resource-not-found A key or collection with the ID that you specified does not exist.
type-mismatch The JSON value is of a different data type than expected in the corresponding JSON field.

Last modified: 5/22/2018