This page provides a breakdown of the Identification attempt object, states, and reject reasons.
Identification attempt object
Parameter | Type | Description |
---|---|---|
id | String (UUID) | Identifier for the identification attempt. |
state | string | State of the identification attempt. |
createTime | ISO 8601 time | Timestamp indicating when this identification attempt was first initiated. |
approveTime | ISO 8601 time or null | Timestamp indicating when this identification attempt was approved. |
expireTime | ISO 8601 time or null | Timestamp indicating when this identification attempt will expire. |
redirectUrl | String (URL) | URL to redirect the user to in order to perform the KYC identification. |
String (JWT) | Deprecated The parameter is still returned in the response but will always be null. | |
returnUrl | String (URL) or null | URL to return to when identification attempt is submitted or failed. Check Returning after identification flow under Initiate KYC attempt page for more information. |
rejectReason | String or null | Machine-readable reason for rejecting this identification attempt, if state is rejected . |
Identification attempt object example
{
"id": "0cf12488-0dcf-4f99-96c4-e1ec879c906d",
"state": "approved",
"createTime": "2019-11-26T07:45:44.852Z",
"approveTime": "2019-11-26T07:49:19.126Z",
"expireTime": "2028-03-04T00:00:00.000Z",
"redirectUrl": "https://www.example.com/redirect-client-to-this-url",
"sdkToken": null,
"returnUrl": null
}
Available states
An identification attempt can be in a number of the following states throughout its lifetime:
State | Description |
---|---|
pending | (Initial state) Identification attempt has been initiated, but is waiting for action from the end-user |
processing | (Intermediate state) Identification attempt is currently being processed. |
approved | (Final state) Identification attempt was successfully approved. This state is also used if the identification attempt was manually reviewed and accepted. |
expired | (Final state) Identification attempt expired because the documents used to identify with has expired |
rejected | (Final state) Identification attempt was rejected. See Reject reasons below. |
Reject reasons
If an identification attempt state is rejected
, the identification attempt contains a rejectReason
providing a reason behind the rejection state. The below table lists all currently possible reasons:
Reject reason | Description |
---|---|
DENIED | Denied without any further reason. |
DENIED_UNSUPPORTED_ID_TYPE | The used identification was not supported. |
DENIED_UNSUPPORTED_ID_COUNTRY | The used identification was issued in a country not supported by Coinify. |
DENIED_MISSING_DATE_OF_BIRTH | The used identification didn’t contain a date of birth. |
DENIED_YOUNGER_THAN_18_YEARS | The identified person must be 18 years or older. |
DENIED_EXPIRED_IDENTIFICATION | The used identification has expired. |
DENIED_FAILED_IDENTITY_VERIFICATION | We were unable to ensure that the person submitting the identification was the same person in the ID photo. |
ERROR_NOT_READABLE_ID.PHOTOCOPY_BLACK_WHITE | |
ERROR_NOT_READABLE_ID.PHOTOCOPY_COLOR | |
ERROR_NOT_READABLE_ID.DIGITAL_COPY | |
ERROR_NOT_READABLE_ID.NOT_READABLE_DOCUMENT .BLURRED | |
ERROR_NOT_READABLE_ID.NOT_READABLE_DOCUMENT .BAD_QUALITY | |
ERROR_NOT_READABLE_ID.NOT_READABLE_DOCUMENT .MISSING_PART_DOCUMENT | |
ERROR_NOT_READABLE_ID.NOT_READABLE_DOCUMENT .HIDDEN_PART_DOCUMENT | |
ERROR_NOT_READABLE_ID.NOT_READABLE_DOCUMENT .DAMAGED_DOCUMENT | |
ERROR_NOT_READABLE_ID.NO_DOCUMENT | |
ERROR_NOT_READABLE_ID.SAMPLE_DOCUMENT | |
ERROR_NOT_READABLE_ID.MISSING_BACK | |
ERROR_NOT_READABLE_ID.WRONG_DOCUMENT_PAGE | |
ERROR_NOT_READABLE_ID.MISSING_SIGNATURE | |
ERROR_NOT_READABLE_ID.CAMERA_BLACK_WHITE | |
ERROR_NOT_READABLE_ID.DIFFERENT_PERSONS_SHOWN | |
ERROR_NOT_READABLE_ID.MANUAL_REJECTION | |
MANUAL_REVIEW | The identification attempt is under manual review by Coinify compliance. This process can last betwen 1-3 days. Coinify will communicate the final result with the trader via email and a callback will be sent to your webhook accordingly. As an API integrated Partner you should inform the user about this accordingly. |
NO_ID_UPLOADED | No identification was successfully submitted. |