All API errors include an HTTP status code, a unique error code, and a descriptive message. This guide documents all possible errors that can occur when interacting with our APIs.
Note: The Core API uses OAuth 2.0 compliant error responses, which have a different structure than the standard format. See the response format sections below for details.
All APIs except Core use the following error response structure:
{
"timestamp": "2024-01-15T10:30:00.000Z",
"moreInfo": "https://docs.neobits.no/",
"errors": [
{
"name": "BadRequestError",
"code": "400-001",
"message": "Field 'ssn' is required"
}
]
}HTTP_STATUS-SEQUENCEThe Core API follows the OAuth 2.0 specification for error responses:
{
"error": "invalid_request",
"error_code": "400-001",
"error_uri": "https://docs.neobits.no/",
"error_description": "Field 'client_id' is required",
"error_timestamp": "2024-01-15T10:30:00.000Z"
}HTTP_STATUS-SEQUENCE| Code | Code Name | Description | APIs |
|---|---|---|---|
| 400-000 | BadRequest | Generic bad request error | FuseCore |
| 400-001 | FieldRequired | A required field is missing from the request | FuseCore |
| 400-002 | FieldUnknown | An unknown or unexpected field was provided | FuseCore |
| 400-003 | FieldValueInvalid | The field value is invalid or not allowed | FuseCore |
| 400-004 | FieldTypeInvalid | The field type does not match the expected type | FuseCore |
| 400-005 | FieldValueEmpty | The field value is empty when a value is required | FuseCore |
| 400-006 | ResourceAlreadyExists | The resource being created already exists | Fuse |
| 400-007 | FeatureNotEnabled | The requested feature is not enabled for your account | Fuse |
| 400-008 | Unknown | An unknown bad request error occurred | FuseCore |
| 400-100 | PasswordWeak | The password does not meet security requirements | Core |
| 400-101 | PasswordTooShort | The password is too short | Core |
| 400-102 | InvalidEmail | The email address format is invalid | FuseCore |
| 400-103 | InvalidUri | The URI format is invalid | FuseCore |
| 400-104 | InvalidUuid | The UUID format is invalid | FuseCore |
| 400-105 | InvalidLength | The field length does not meet requirements | FuseCore |
| 400-106 | InvalidPattern | The field does not match the required pattern | FuseCore |
| 400-107 | InvalidFormat | The field format is invalid | FuseCore |
| 400-108 | InvalidCodeChallenge | The PKCE code challenge is invalid | Core |
| 400-109 | InvalidCodeChallengeMethod | The PKCE code challenge method is invalid | Core |
| 400-110 | InvalidAuthorizationCode | The authorization code is invalid | Core |
| 400-111 | AuthorizationCodeExpired | The authorization code has expired | Core |
| 400-112 | AuthorizationCodeAlreadyUsed | The authorization code has already been used | Core |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 401-000 | Unauthorized | Generic unauthorized error - client is not authenticated | FuseCore |
| 401-001 | InvalidCredentials | The provided credentials are invalid | FuseCore |
| 401-002 | InvalidToken | The authentication token is invalid or expired | FuseCore |
| 401-003 | AccountLocked | The account has been locked due to security reasons | Core |
| 401-004 | AccountDisabled | The account has been disabled | Core |
| 401-005 | EmailNotVerified | The email address has not been verified | Core |
| 401-006 | ClientDisabled | The API client has been disabled | FuseCore |
| 401-007 | InvalidAuthorizationFlow | The authorization flow is invalid or not supported | Core |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 403-000 | Forbidden | Generic forbidden error - access denied | FuseCore |
| 403-001 | InsufficientPermissions | The user lacks the required permissions for this action | FuseCore |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 404-000 | NotFound | Generic not found error | FuseCore |
| 404-001 | Resource | The requested resource does not exist | FuseCore |
| 404-002 | Upstream | The resource was not found in an upstream service | Fuse |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 409-000 | Conflict | Generic conflict error | FuseCore |
| 409-001 | ResourceAlreadyExists | A resource with the same identifier already exists | FuseCore |
| 409-002 | StateMismatch | The resource state does not allow this operation | Fuse |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 422-000 | UnprocessableContent | Generic unprocessable content error | Fuse |
| 422-001 | UpstreamResponseUnsupported | The response from an upstream service is not supported | Fuse |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 429-000 | TooManyRequests | Rate limit exceeded - please try again later | FuseCore |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 500-000 | InternalServer | An unexpected internal error occurred | FuseCore |
| 500-001 | Configuration | A server configuration error occurred | FuseCore |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 502-000 | BadGateway | Error while interacting with a third party service | Fuse |
| 502-001 | ConnectionAborted | The connection to an upstream service was aborted | Fuse |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 503-000 | ServiceUnavailable | The service is temporarily unavailable. Retry after a short delay. | Fuse |
| Code | Code Name | Description | APIs |
|---|---|---|---|
| 504-000 | GatewayTimeout | Gateway timeout while waiting for an upstream service | Fuse |