Skip to main content

API errors

When an API request fails, the server returns an HTTP error code along with a JSON body containing one or more error objects.

Error Codes

HTTP codeMessagePossible causesWrong API usage?
400Bad RequestUNRECOGNIZED_FIELD, UNPARSEABLE_JSON, MISSING_TRANSACTION_TOKEN, BAD_REQUESTYes
401UnauthorizedINVALID_LOGIN_TOKEN, SECURITY_VIOLATIONYes
404Not FoundOBJECT_NOT_FOUNDYes
409Existing IdentificationEXISTING_IDENTIFICATIONYes
412Precondition FailedPRECONDITION_FAILEDYes
500Internal Server ErrorINTERNAL_SERVER_ERRORNo

Error Causes

CauseDescription
UNRECOGNIZED_FIELDYour request contains a field not recognized by the system.
UNPARSEABLE_JSONThe JSON body of your request is invalid and cannot be parsed.
MISSING_TRANSACTION_TOKENThe transaction number or IdentID is missing from your request.
BAD_REQUESTYour data is badly formatted — for example, a wrong format for a date or country field. Check the key and message fields in the response for details.
INVALID_LOGIN_TOKENYou provided a wrong API key in the request header.
SECURITY_VIOLATIONYou tried to access an identification that does not belong to your account.
OBJECT_NOT_FOUNDYou used a wrong URL, or the identification data does not exist. This is also returned when an IdentID has been created but the user has not yet started — or has aborted — the identification process, so no data exists in the backend yet.
EXISTING_IDENTIFICATIONYou tried to reuse a transaction number that is already associated with a finished identification. Updating finished identifications is not supported.
PRECONDITION_FAILEDThe requested action cannot be performed because a required prerequisite is missing. For example, uploading a contract document before a document definition exists.
INTERNAL_SERVER_ERRORAn unexpected error occurred on the IDnow system. Not caused by incorrect API usage.

Response Structure

All error responses share the same JSON structure:

{
"errors": [
{
"cause": "string",
"id": "string",
"key": "string | null",
"message": "string | null"
}
]
}
AttributeDescription
causeShort textual identifier for the error (see table above).
idUnique exception ID. Provide this to IDnow technical support when reporting an issue.
keyThe field that caused the error, if applicable (e.g., "birthday").
messageHuman-readable error description in English, if available.

Examples

Missing or invalid API key (401)

{
"errors": [{
"cause": "INVALID_LOGIN_TOKEN",
"id": "487800773",
"key": null,
"message": null
}]
}

Badly formatted field (400)

{
"errors": [{
"cause": "BAD_REQUEST",
"id": "73464627",
"key": "birthday",
"message": "Please provide a correct value for 'birthday'"
}]
}

Updating a finished identification (409)

{
"errors": [{
"cause": "EXISTING_IDENTIFICATION",
"id": "34253467",
"key": null,
"message": null
}]
}