Error codes
This topic describes common PingOne top-level and detail API error messages that you might encounter when an error occurs. An error response consists of a high-level error code that must be handled by the client and optional details containing specific information on how to resolve the fault.
|
Specific error codes within an error code class (such as, all |
The PingOne API errors return a response payload formatted as follows:
| Property | Description |
|---|---|
|
A unique identifier that is stored in log files and always included in an error response. This value can be used to track the error received by the client, with server-side activity included for troubleshooting purposes. |
|
A general fault code which the client must handle to provide all exception handling routines and to localize messages for users. This code is common across all PingOne services and is human readable (such as a defined constant rather than a number). Refer to Top-level error messages for the possible codes here. |
|
A short description of the error. This message is intended to assist with debugging and is returned in English only. |
|
The item that caused the error (such as a form field ID or an attribute inside a JSON object). |
|
Additional details about the error to help resolve the error. |
|
A general fault code identifying further information. Refer to Detail-level error messages for the possible codes here. |
|
Additional details to help the client developer resolve the fault (primarily for UI validation reasons). These attributes can be used: * * * * * |
|
Additional information about the error. |
|
Additional information about the item causing the error. |
A top-level error message looks like this:
HTTP/1.1 400 BAD REQUEST
{
"id" : "6c796712-0f16-4062-815a-e0a92f4a2143",
"code" : "INVALID_DATA",
"message" : "The request could not be completed. One or more validation errors were in the request."
}
A detail-level error message provides more information about the error. Specific codes at the detail level can be introduced by each service to reflect the actions in that service. A detail-level error message looks like this:
HTTP/1.1 400 BAD REQUEST
{
"id" : "6c796712-0f16-4062-815a-e0a92f4a2143",
"code" : "INVALID_DATA",
"message" : "The request could not be completed. One or more validation errors were in the request.",
"details" : [
{
"code" : "REQUIRED_VALUE",
"target" : "username",
"message" : "Username is required and cannot be empty."
},
{
"code" : "INVALID_VALUE",
"target" : "employeeType",
"message" : "Invalid value for employee type."
"innerError" : {
"allowedValues" : [ "EMPLOYEE", "CONTRACTOR" ]
}
}
}
|
For endpoints that return binary data, it is recommended that clients use the |
Top-level error messages
The following table lists the top-level error messages, the response code, and common conditions that caused the error to occur.
| Code | Response code | Conditions | Default message | Examples |
|---|---|---|---|---|
INVALID _DATA |
400 |
Valid request structure received. |
The request could not be completed. One or more validation errors were in the request. |
Create or update request with an attribute with an invalid data type. |
INVALID_REQUEST |
400, 405 |
Invalid request received. |
The request could not be completed. The request was malformed or invalid. |
The JSON structure was incorrectly formatted. |
REQUEST_FAILED |
400 |
Valid request structure received. |
The request could not be completed. There was an issue processing the request. |
A password check action failed. |
NOT_FOUND |
404 |
URL specified is not found |
The request could not be completed. The requested resource was not found. |
Accessed a resource that does not exist. |
ACCESS_FAILED |
401, 403 |
Request failed due to authorization issue. |
The request could not be completed. You do not have access to this resource. |
Attempted a request with and expired, invalid or missing token. |
REQUEST_LIMITED |
429 |
Request was rate-limited |
The request could not be completed. The current rate limiting conditions are shown in the following: |
User is over quota for the request. See Rate Limiting for more information. |
UNEXPECTED_ERROR |
500 |
Uncaught error occurred |
There was an unexpected error with the service. Please try again later. |
Identifies an internal problem such as a database connectivity issue. |
Detail-level error messages
The following table lists the detail-level error messages, the response code, and common conditions that may cause the error to occur.
| Code | Response code | Top-level match | Conditions | Default message | Examples |
|---|---|---|---|---|---|
CONSTRAINT_VIOLATION |
400 |
REQUEST_FAILED |
A request violated a service constraint. |
A request violates a constraint imposed by the service. |
An attempt to delete a Population having Users. |
EMPTY_VALUE |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
The value cannot be empty. |
Attempted to update a value to an empty string. |
INSUFFICIENT_PERMISSIONS |
403 |
ACCESS_FAILED |
The actor doesn’t have the sufficient permissions to make the request. |
You do not have permissions, or are not licensed to make this request. |
Either the user or the token has insufficient permissions to make the request. |
INVALID_FILTER |
400 |
REQUEST_FAILED |
REQUEST_FAILED top level error. |
The specified filter was invalid. |
Filter attribute is not filterable. |
INVALID_OTP |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
Wrong OTP was provided. |
An incorrect OTP was submitted at sign on. |
INVALID_PARAMETER |
400 |
REQUEST_FAILED |
REQUEST_FAILED top level error. |
A query string parameter or value is not valid for this request. |
Invalid cursor supplied using the "cursor" parameter. |
INVALID_TOKEN |
401 |
ACCESS_FAILED |
A request contained an invalid token, authorization header, or both. |
The authorization token is either missing, invalid, or expired. |
A token wasn’t present in the request. |
INVALID_VALUE |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
One or more issues were found in the request data. |
Age must be a number. |
LICENSE_EXCEEDED |
403 |
ACCESS_FAILED |
A licensing enforcement limit was reached. |
The request exceeded your license limit. |
Licensed for five environments, has five existing environments, an attempts to create another environment. |
LIMIT_EXCEEDED |
429 |
REQUEST_LIMITED |
A rate limit was reached. |
The request exceeded the allowed rate limit. |
Too many request too quickly. |
OUT_OF_RANGE |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
The request contains an attribute value that is outside the specified range. |
Age must be between 1 and 150 |
QUOTA_EXCEEDED |
429 |
REQUEST_LIMITED |
A user, licensing or billing quota was exceeded. |
The request will exceed your quota. |
Daily SMS/Voice limit was exceeded. |
REQUIRED_VALUE |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
The request is missing a required value. |
Username attribute is required to create a user. |
SIZE_LIMIT_EXCEEDED |
400 |
INVALID_DATA |
INVALID_DATA top level error. |
The request contains an attribute value that is too large. |
Given name must be less than or equal to 256 characters. |
UNIQUENESS_VIOLATION |
400 |
INVALID_DATA |
A request violated the uniqueness rule. |
A resource with the specified name already exists. |
An attempt to create a user having the same name as an existing user. |