Skip to content

Error Handling

The API uses a standardized error response format and a consistent set of error codes to make error handling predictable for client applications.

All failed requests will return a JSON body with the following structure:

{
"error": {
"code": "errorCode",
"message": "A descriptive error message explaining what went wrong."
}
}
  • code (string): A machine-readable error code.
  • message (string): A human-readable description of the error.

The following table lists the most common error codes and their corresponding HTTP status codes.

HTTP StatusError CodeDescription
400badRequestThe request was malformed. This can be due to invalid JSON in the body, or incorrect parameter formats (e.g., an invalid filter or sort query).
400invalidInputA specific field in the request body or query parameter was invalid or missing.
401unauthorizedAuthentication is required, but the request lacks a valid Bearer token. This can also mean the token is expired or has been invalidated (e.g., after sign-out).
401authenticationFailedThe provided credentials (e.g., verification code) are incorrect.
403forbiddenThe authenticated user does not have the necessary permissions to perform the requested action.
404notFoundThe requested resource (e.g., an item with a specific ID) could not be found.
409conflictThe request could not be completed due to a conflict with the current state of the resource.
429tooManyRequestsThe request was rejected because the client has exceeded the rate limit.
500serverErrorA generic error occurred on the server.
500operationFailedA specific, known operation failed on the server for an unexpected reason.
500unknownErrorAn unexpected and unhandled error occurred on the server.
503networkErrorThe server is temporarily unable to handle the request due to a downstream network issue.