Verify Virtual National Identification Number (vNIN)

This endpoint allows you to verify virtual NIN. Youverify Enterprise/Short Code is 471335. Virtual NIN can be generated via the NIMC mobile App or via USSD. Use this link to learn how to generate a Virtual NIN to be verified. You can also use this link to

vNIN Verification

POST {{baseurl}}/v2/api/identity/ng/vnin

Headers

Name
Type
Description

token*

String

API secret token

Request Body

Name
Type
Description

id*

Sting

Valid virtual NIN

isSubjectConsent*

Boolean

Indicate subject has given consent. Must be true

validation

Object

Validation Object

data

Object

Validation Object

lastName

String

lastname to compare against ID

firstName

String

firstname to compare against ID

dateOfBirth

String

date of birth to compare against ID

selfie

Object

Selfie Validation Object

image

String

Selfie image to compare against ID

vNIN Verification

vNIN verification verifies that a provided virtual National Identity Number exists in the database. It shows the full information of the NIN holder;

{
    "id": "YV111111111111FY",
    "isSubjectConsent": true
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "637beef426cb96b1fa6a8d3f",
        "validations": {
            "data": {
                "lastName": {
                    "validated": true,
                    "value": "Citizen"
                },
                "dateOfBirth": {
                    "validated": false,
                    "value": "1988-04-04"
                },
                "firstName": {
                    "validated": true,
                    "value": "Proud"
                }
            },
            "validationMessages": "Date of birth does not match"
        },
        "parentId": null,
        "status": "found",
        "reason": null,
        "dataValidation": true,
        "selfieValidation": false,
        "firstName": "PROUD",
        "middleName": "NIGERIAN",
        "lastName": "CITIZEN",
        "image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAopJQgf/2Q==",
        "mobile": "2341234567890",
        "mobileIntFormat": "2341234567890",
        "agentId": "ABCDEF-8910",
        "vNINUserId": "ABCDEF-8910",
        "dateOfBirth": "1960-10-01",
        "vNIN": "YV111111111111FY",
        "isConsent": true,
        "idNumber": "YV111111111111FY",
        "businessId": "6222a5ea3e7a41c29c030fac",
        "type": "vnin",
        "allValidationPassed": false,
        "gender": "male",
        "requestedAt": "2022-11-21T21:34:44.109Z",
        "requestedById": "6222a5ea3e7a41c29c030fad",
        "country": "NG",
        "createdAt": "2022-11-21T21:34:44.124Z",
        "lastModifiedAt": "2022-11-21T21:34:44.124Z",
        "metadata": {},
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ea3e7a41c29c030fad"
        }
    },
    "links": []
}

vNIN Facial Matching

vNIN Facial matching is used to verify that a virtual NIN is valid and also that image provided matches with the image in the database. This includes a confidence score of the Facial matching;

{
    "id": "YV111111111111FY",
    "isSubjectConsent": true,
    "validations": {
        "selfie": {
            "image": "https://cdn.youverify.co/1655466566309-lLSfNTlhElMTtbXW-QE-q.jpg"
        }
    }
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "637bed7026cb96881c6a8d36",
        "validations": {
            "selfie": {
                "selfieVerification": {
                    "confidenceLevel": 39,
                    "threshold": 80,
                    "match": false,
                    "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDA/2Q=="
                }
            },
            "validationMessages": "Provided image does not match ID image"
        },
        "parentId": null,
        "status": "found",
        "reason": null,
        "dataValidation": false,
        "selfieValidation": true,
        "firstName": "PROUD",
        "middleName": "NIGERIAN",
        "lastName": "CITIZEN",
        "image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAo/2Q==",
        "mobile": "2341234567890",
        "mobileIntFormat": "2341234567890",
        "agentId": "ABCDEF-8910",
        "vNINUserId": "ABCDEF-8910",
        "dateOfBirth": "1960-10-01",
        "vNIN": "YV111111111111FY",
        "isConsent": true,
        "idNumber": "YV111111111111FY",
        "businessId": "6222a5ea3e7a41c29c030fac",
        "type": "vnin",
        "allValidationPassed": false,
        "gender": "male",
        "requestedAt": "2022-11-21T21:28:17.953Z",
        "requestedById": "6222a5ea3e7a41c29c030fad",
        "country": "NG",
        "createdAt": "2022-11-21T21:28:17.966Z",
        "lastModifiedAt": "2022-11-21T21:28:17.966Z",
        "metadata": {},
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ea3e7a41c29c030fad"
        }
    },
    "links": []
}

vNIN Validation

vNIN Validation verifies a virtual NIN and compares given data parameters against the data present in the database. For example, a first name and last name can be provided and this will validate as true or false as to whether it matches with the names in the database or not;

    "id": "YV111111111111FY",
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "lastName": "Doe",
            "firstName": "Sarah",
            "dateOfBirth": "1988-04-04"
        }
    }
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "637beef426cb96b1fa6a8d3f",
        "validations": {
            "data": {
                "lastName": {
                    "validated": true,
                    "value": "Citizen"
                },
                "dateOfBirth": {
                    "validated": false,
                    "value": "1988-04-04"
                },
                "firstName": {
                    "validated": true,
                    "value": "Proud"
                }
            },
            "validationMessages": "Date of birth does not match"
        },
        "parentId": null,
        "status": "found",
        "reason": null,
        "dataValidation": true,
        "selfieValidation": false,
        "firstName": "PROUD",
        "middleName": "NIGERIAN",
        "lastName": "CITIZEN",
        "image": "data:image/jpg;base64,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",
        "mobile": "2341234567890",
        "mobileIntFormat": "2341234567890",
        "agentId": "ABCDEF-8910",
        "vNINUserId": "ABCDEF-8910",
        "dateOfBirth": "1960-10-01",
        "vNIN": "YV111111111111FY",
        "isConsent": true,
        "idNumber": "YV111111111111FY",
        "businessId": "6222a5ea3e7a41c29c030fac",
        "type": "vnin",
        "allValidationPassed": false,
        "gender": "male",
        "requestedAt": "2022-11-21T21:34:44.109Z",
        "requestedById": "6222a5ea3e7a41c29c030fad",
        "country": "NG",
        "createdAt": "2022-11-21T21:34:44.124Z",
        "lastModifiedAt": "2022-11-21T21:34:44.124Z",
        "metadata": {},
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ea3e7a41c29c030fad"
        }
    },
    "links": []
}

vNIN Full Sample Request

This is a sample request that contains all the parameters as described above, all in one call

{
    "id": "YV111111111111FY",
    "metadata": {
        "requestId": "1209348756"
},
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "lastName": "Citizen",
            "firstName": "Proud",
            "dateOfBirth": "1988-04-04"
        },
        "selfie": {
            "image": "https://cdn.youverify.co/1655466566309-lLSfNTlhElMTtbXW-QE-q.jpg"
        }
    }
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "637bf00726cb966fed6a8d43",
        "validations": {
            "data": {
                "lastName": {
                    "validated": true,
                    "value": "Citizen"
                },
                "dateOfBirth": {
                    "validated": false,
                    "value": "1988-04-04"
                },
                "firstName": {
                    "validated": true,
                    "value": "Proud"
                }
            },
            "selfie": {
                "selfieVerification": {
                    "confidenceLevel": 39,
                    "threshold": 80,
                    "match": false,
                    "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYAAQkkI=="
                }
            },
            "validationMessages": "Date of birth does not match, Provided image does not match ID image"
        },
        "parentId": null,
        "status": "found",
        "reason": null,
        "dataValidation": true,
        "selfieValidation": true,
        "firstName": "PROUD",
        "middleName": "NIGERIAN",
        "lastName": "CITIZEN",
        "image": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCOUQyjpJQgf/2Q==",
        "mobile": "2341234567890",
        "mobileIntFormat": "2341234567890",
        "agentId": "ABCDEF-8910",
        "vNINUserId": "ABCDEF-8910",
        "dateOfBirth": "1960-10-01",
        "vNIN": "YV111111111111FY",
        "isConsent": true,
        "idNumber": "YV111111111111FY",
        "businessId": "6222a5ea3e7a41c29c030fac",
        "type": "vnin",
        "allValidationPassed": false,
        "gender": "male",
        "requestedAt": "2022-11-21T21:39:20.516Z",
        "requestedById": "6222a5ea3e7a41c29c030fad",
        "country": "NG",
        "createdAt": "2022-11-21T21:39:20.534Z",
        "lastModifiedAt": "2022-11-21T21:39:20.534Z",
        "metadata": {
            "requestId": "1209348756"
        },
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ea3e7a41c29c030fad"
        }
    },
    "links": []
}
HTTP/1.1 402 Payment Required
  {
    "success": false,
    "statusCode": 402,
    "message": "Insufficient fund",
    "name": "PaymentRequiredError",
    "data": {}
}


HTTP/1.1 500 Internal Server Error
{
    "success": false,
    "statusCode": 500,
    "message": "Service unavailable",
    "name": "Error",
    "data": {}
}

HTTP/1.1 403 Forbidden
{
    "success": false,
    "statusCode": 403,
    "message": "Permission denied",
    "name": "UnauthorizedError",
    "data": {}
}

Last updated