Result and Error Codes

Detailed result codes to build and debug your business logic

Jobs are made up of Actions, and each Action has a key-value pair:

Each Action has a Key Value Pair

But every Job also has an overall result, which is summarized in the Result Code.

Every Job also has an Overall Result

If you prefer to use Smile Identity's binary results instead of interpreting individual Actions you can use Result Codes to build your business logic.

Result Codes for all jobs fall into one of three categories:

  1. Approved (or Pass) This means that all applicable Actions passed and the overall job was approved.

  2. Provisionally Approved This means that the job is awaiting a human review, or that a human review was inconclusive or that part of a job passed but another part was unable to be completed. You can treat these jobs as Approved or you handle them based on the Result Code. Please note a Pure Provisional result is a provisionally approved job, but one in which the image comparison Action was provisionally approved but the identity validation Action failed or could not return data. Also note, a Pending Approval result is a custom Strict setting where the user cannot progress in the system without a human review being completed on the Pending job.

  3. Rejected (or Fail) This means that one or more of the applicable Actions for job failed, and thus, the overall job was rejected according to Smile Identity standards.

Error Codes are presented when a job could not be submitted due to a logical/technical issue. These jobs do not show up in the portal job list and do not have a Smile Job ID.

Result Codes

General Failures - no further processing possible

Code

Description

Result

0001

Data Invalid

Rejected

0903

Zip Corrupt

Rejected

0907

FAIL - Possible Spoof - Strict Setting

Rejected

2405

Error - "You are not authorized to do that" *

-

2314

Error - No Zip File Received

-

2203

Error - Invalid JSON

-

2213

Error - A required parameter is missing

-

2204

Error - A parameter is of the wrong data type

-

2205

Error - You are not authorized to do that. *

-

2220

Error - Production is not enabled for this account. Please complete your KYC with Smile Identity.

-

2212

Error - Invalid job type

-

2215

Error - Job already exists for job_id

-

* If you are seeing this error and are not using one of our open-source server-side libraries (Java, Ruby, Javascript), you may be miscalculating the Security Key. Also check the Moving to Production section to ensure that you have changed your API Key.

Job Type 1 - Register With ID

When a Register with ID job is submitted with an ID number there can be up to 3 results codes generated and sent through the callback.

Each job of this type returns a result code from the ID number lookup. These codes are the same as for a ID Validation (job type 5) job.

In the case where the ID number lookup did not return a photo AND there is no ID card image to compare the selfie against processing will stop and a return a second code (0908, 1013, or 1014). In the case where the ID number lookup did not return a photo AND there is ID card image to compare the selfie against, processing will continue.

When processing can continue, that is, there is either an ID card image or an issuer photo to compare to the selfie , a code will be returned that is the result of the machine evaluation of the comparison (08xx). If the machine result is inconclusive, the job will be sent to human review and a third code sent (12xx) which is the result of that review.

Code

Description

Result

0911

No Face Found

Rejected

0912

Image Quality Judged Too Poor

Rejected

0810

Machine Judgement - PASS

Approved

0811

Machine Judgement - FAIL - Compare Rejected

Rejected

0812

Machine Judgement - Pure Provisional

Provisionally Approved

0813

Machine Judgement - FAIL, Possible Spoof - Settings Based on Normal/Strict/Custom

Rejected

0814

Machine Judgement - Provisional - Possible Spoof

Provisionally Approved

0815

Machine Judgement - Provisional - Compare Unsure

Provisionally Approved

1210

Human Judgement - PASS - Settings Based on Normal/Strict/Custom

Approved

1211

Human Judgement - FAIL - Human Compare Failed

Rejected

1212

Human Judgement - Spoof Detected

Rejected

1213

Human Judgement - Provisional - Liveliness Unsure

Provisionally Approved

1012

ID Verification Success

Provisionally Approved

1013

Invalid ID

Rejected

1014

Unsupported ID number format

Rejected

1015

Error - Queried Database Unavailable

Processing Continues with ID Card Image

0908

Error - Issuer not available

-

1016

Error - Need to Activate Product

-

2209

Error - Wrong job type. This user is already enrolled with user_id

-

Job Type 2 - Authentication

Code

Description

Result

0921

FAIL - No Face Found

Rejected

0922

FAIL - Image Quality Judged Too Poor

Rejected

0820

Machine Judgement - PASS

Approved

0821

Machine Judgement - FAIL - COMPARISON

Rejected

0822

Machine Judgement - PURE PROVISIONAL

Provisionally Approved

0823

Machine Judgement - FAIL - Possible Spoof

Rejected

0824

Machine Judgement - PROVISIONAL - Possible Spoof

Provisionally Approved

0825

Machine Judgement - PROVISIONAL - Machine Compare Unsure

Provisionally Approved

1220

Human Judgement - PASS

Approved

1221

Human Judgement - FAIL - Human Compare Failed

Rejected

1222

Human Judgement - FAIL - Spoof Detected

Rejected

2208

Error - Enrolled user was deleted from the system

-

2207

Error - Enrolled user is disabled

-

2210

Error - No enrolled user found for user_id

-

2211

Error - Enrolled user must complete re-enrollment before attempting Auth

-

Job Type 4 - Register Without ID

Code

Description

Result

0941

FAIL - No Face Found

Rejected

0942

FAIL - Image Quality Judged Too Poor

Rejected

0840

PASS - Machine Judgement

Approved

0841

FAIL - Machine Judgement - Compare Failed

Rejected

0842

PROVISIONAL - Machine - Pure Provisional

Provisionally Approved

0843

FAIL - Possible Spoof - Machine Judgement *

Rejected

0844

PROVISIONAL - Possible Spoof - Machine Judgement

Provisionally Approved

0846

PENDING - Possible Spoof - Machine Judgement

Pending

1240

PASS - Human Judgement

Approved

1241

FAIL - Image Unuseable

Rejected

1242

Spoof detected - Human Judgement

Rejected

* Settings based on normal/strict/custom confidence thresholds

Job Type 8 - Update Photo

Code

Description

Result

0981

FAIL - No Face Found

Rejected

0982

FAIL - Image Quality Judged Too Poor

Rejected

0880

PASS - Machine judgement

Approved

0881

FAIL - COMPARE - Machine judgement

Rejected

0882

Partner Review Required

Provisionally Approved

0883

FAIL - Possible Spoof - Machine Judgement

Rejected

0884

PROVISIONAL - Possible Spoof - Machine Judgement

Provisionally Approved

1280

PASS- Human Judgement

Approved

1281

FAIL - Human Judgement

Rejected

1282

Spoof Detected - Human Judgement

Rejected

2208

Error - Enrolled user was deleted from the system

-

2207

Error - Enrolled user is disabled

-

2210

Error - No enrolled user found for user_id

-

2211

Error - Enrolled user must complete re-enrollment before attempting Update

-

Job Type 5 - ID Validation

Code

Description

Result

1012

Valid ID

Approved

1013

Invalid ID

Rejected

1014

Error - Unsupported ID number format

-

1015 *

Error - Queried Database Unavailable

-

1016

Error - Need to Activate Product

-

2211

(Mobile SDK Only) ID Validation Failed

Rejected

2212

(Mobile SDK Only) Error - HTTP Request Failed

-

* Queried Database Unavailable refers to the ID Authority where we verify the ID number provided and if it has downtime. ID Authority downtime is monitored from the portal in our ID Status page. To find out when an ID authority is back up you can use our ID Status API.

Job Status

Code

Description

Result

2401

Error - System Error

-

2403

Error - Invalid JSON

-

2413

Error - Missing Required Field

-

2405

Error - Invalid Signature (sec_key)

-

2412

Error - Invalid Job Type

-

2414

Error - Product Activation Required

-

Please Note the difference between a Rejection and an Error. As mentioned above and Error occurs when a job could not be processed due to a logical/technical issue. A Rejection, like an Approval, is a Result of a processed job and therefore incurs a charge, the amount for which can be found here.

Note, charges are NOT incurred for Errors. E.g. you will not be charged in the case of a 1015 Error - Queried Database Unavailable