Identification attempt (KYC) resource

This page provides a breakdown of the Identification attempt object, states, and reject reasons.

Identification attempt object

ParameterTypeDescription
idString (UUID)Identifier for the identification attempt.
statestringState of the identification attempt.
createTimeISO 8601 timeTimestamp indicating when this identification attempt was first initiated.
approveTimeISO 8601 time or nullTimestamp indicating when this identification attempt was approved.
expireTimeISO 8601 time or nullTimestamp indicating when this identification attempt will expire.
redirectUrlString (URL)URL to redirect the user to in order to perform the KYC identification.
sdkTokenString (JWT)Deprecated The parameter is still returned in the response but will always be null.
returnUrlString (URL) or nullURL to return to when identification attempt is submitted or failed. Check Returning after identification flow under Initiate KYC attempt page for more information.
rejectReasonString or nullMachine-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:

StateDescription
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 reasonDescription
DENIEDDenied without any further reason.
DENIED_UNSUPPORTED_ID_TYPEThe used identification was not supported.
DENIED_UNSUPPORTED_ID_COUNTRYThe used identification was issued in a country not supported by Coinify.
DENIED_MISSING_DATE_OF_BIRTHThe used identification didn’t contain a date of birth.
DENIED_YOUNGER_THAN_18_YEARSThe identified person must be 18 years or older.
DENIED_EXPIRED_IDENTIFICATIONThe used identification has expired.
DENIED_FAILED_IDENTITY_VERIFICATIONWe 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_REVIEWThe 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_UPLOADEDNo identification was successfully submitted.