Get Result API

After the Verification process is done on the user side, you can request the Verification result by calling the Get Result API.

Request Example:

curl -X POST \
  https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/get-result \
  -H 'Content-Type: application/json' \
  -H 'X-ACCESS-TOKEN:{Your Access Token}' \
  -d '{"signatureId": "f302f5d2454a85c2"}'

Request Url

https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/get-result
POST (application/json)

Request Header Parameters

ParameterDescription
X-ACCESS-TOKENstring Please use Token Authentication API to get your access token

Request Parameters

ParameterDescription
signatureIdstring SignatureId which can use it to get the Verification result

Response Description

ParameterDescription
codeResponse's Status Code
transactionIdThe request id, the max length is 64
pricingStrategyDeprecated, Always return FREE
messageStatus Code Explanation
dataobject : the business result of Verification
extraExtra response info (Exception Message)

Response.code

Status CodeMessage
SUCCESSOK
SIGNATURE_NOT_EXISTThis signatureId is not exist.
ERRORServer error.

Response.data

Non-Doc responses do not include docDetail. Presence values are defined on DocDatabaseDetail. docDatabaseDetail object examples (per market) are on that page — below are full Get Result envelopes only.

FieldPresenceDescription
signatureIdAlwaysstring. The signatureId of this verification transaction.
overallResultAlwaysstring. PASS / FAIL / INCOMPLETE. See overallResult.
submissionCompletedAlwaysbool. Whether frontend data submission is completed.
idvResultAlwaysstring. Same as overallResult today (deprecated alias).
errorCodeConditionalstring. Fail reason when overallResult is fail or INCOMPLETE; SUCCESS when pass. See errorCode. Null while transaction has no final result yet.
docDatabaseDetailConditionalobject. null if the number-database step did not produce detail (e.g. number not found). Otherwise see DocDatabaseDetail Examples.
faceDetailConditionalobject. When liveness ran. See FaceDetail.
inputParametersAlwaysobject. Echo of Generate URL API input. See InputParameters.
countryCodeIso3Alwaysstring. Same as region in Generate URL input (ISO3).

overallResult

overallResult is the result code of the verification

ValueDescription
PASSthe user passed the verification check.
FAILthe user failed the verification check.
INCOMPLETEthe user gave up in the middle of the verification check, or the user timeouts.

errorCode

Response.data.overallResultValueDescription
PASSSUCCESSThe user passed the verification.
FAILBVN_NOT_EXISTthe BVN inputed by the user doesn't exists.
BVN_SUSPENDThe ID has been restricted from use by the official institution. The user should go to the relevant department to handle the recover procedures.
NUMBER_NOT_EXISTThe number inputed by user doesn't exists.
NAME_NOT_MATCHName inputed by user is not match.
LIVENESS_ATTACKThe liveness check failed.
SIMILARITY_FAILEDThe liveness face and the face belong to the number are not considered as the same person.
INVALID_FORMATThe Number or other fields inputed by user is in wrong format.
CAN_NOT_VERIFYDatabase unusable or the number can not be verified.
FACE_QUALITY_TOO_POORThe image quality stored in the official database is too poor.
RISK_STRATEGY_HITThe transaction has triggered risk prevention strategies that are used to reject attacks.
AGE_VERIFICATION_FAILEDAge verification failed.
INFO_ABNORMALA person's record in the official database is missing critical information.
NUMBER_DECEASEDThe identity holder is deceased.
NUMBER_BLOCKEDThe number is blocked or locked by the official institution.
INCOMPLETEBVN_INVALID_FORMATThe BVN number inputed by user is in wrong format.
PARAMETER_ERRORthe data submitted by our frontend is not valid. this may indicates a frontend bug.
USER_TIMEOUTUser did not complete the operation within the specified time(1 hour)
ERRORError during processing in our backend. this may indicates a backend bug.
RETRY_COUNT_REACH_MAXThe user's retry count reach max in face stage.

Response Examples

docDatabaseDetail payloads: DocDatabaseDetail Examples.

PASS (Nigeria BVN)

One end-to-end sample. Other markets: same envelope; swap docDatabaseDetail from DocDatabaseDetail Examples.

{
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "signatureId": "f302f5d2454a85c2",
    "overallResult": "PASS",
    "submissionCompleted": true,
    "idvResult": "PASS",
    "errorCode": "SUCCESS",
    "docDatabaseDetail": {
      "bvn": "22********4",
      "numberValue": "22********4",
      "numberTypeInfo": { "numberType": "NG_BVN", "region": "NGA" },
      "firstName": "T****E",
      "middleName": "C****T",
      "lastName": "I***A",
      "gender": "FEMALE",
      "birthday": "1994/07/13",
      "phoneNumber": "081******05",
      "phoneNumber2": ""
    },
    "faceDetail": { "faceResult": "PASS", "faceLivenessScore": 99, "faceSimilarityScore": 82 },
    "inputParameters": { "region": "NGA", "numberType": "BVN" },
    "countryCodeIso3": "NGA"
  },
  "transactionId": "d3fde1547eeaf226"
}

FAIL — docDatabaseDetail null

{
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "signatureId": "f302f5d2454a85c2",
    "overallResult": "FAIL",
    "errorCode": "BVN_NOT_EXIST",
    "docDatabaseDetail": null,
    "faceDetail": null,
    "countryCodeIso3": "NGA"
  },
  "transactionId": "d3fde1547eeaf226"
}

FAIL — liveness (docDatabaseDetail present)

docDatabaseDetail same shape as Nigeria - BVN.

{
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "signatureId": "f302f5d2454a85c2",
    "overallResult": "FAIL",
    "errorCode": "LIVENESS_ATTACK",
    "faceDetail": { "faceResult": "FAIL", "faceLivenessScore": 0 },
    "countryCodeIso3": "NGA"
  },
  "transactionId": "d3fde1547eeaf226"
}

FAIL — name not match (Indonesia)

docDatabaseDetail: Indonesia - NIK (verification fail).

{
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "signatureId": "ab69**********0e",
    "overallResult": "FAIL",
    "errorCode": "NAME_NOT_MATCH",
    "faceDetail": { "faceResult": "FAIL" },
    "countryCodeIso3": "IDN"
  },
  "transactionId": "d3fde1547eeaf226"
}

INCOMPLETE

{
  "code": "SUCCESS",
  "message": "OK",
  "data": {
    "signatureId": "fd51**********d6",
    "overallResult": "INCOMPLETE",
    "errorCode": "USER_TIMEOUT",
    "countryCodeIso3": "NGA"
  },
  "transactionId": "d3fde1547eeaf226"
}

SIGNATURE_NOT_EXIST

{
  "code": "SIGNATURE_NOT_EXIST",
  "message": "This signatureId is not exist",
  "data": null,
  "transactionId": "b6d722f7e9f553ae"
}

ERROR

{
  "code": "ERROR",
  "message": "Server error",
  "data": null,
  "transactionId": "1deae5a13ef2bd5e"
}