Verify Nigerian Permanent Voters Card (PVC)

PVC Verification

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

Headers

NameTypeDescription

token*

String

API secret token

Request Body

NameTypeDescription

id*

String

Valid PVC

isSubjectConsent*

Boolean

Indicate subject has given consent. Must be true

validation

Object

Validation object

data

Object

Validation data object

lastName

String

lastname to compare against ID

firstName

String

firstname to compare against ID

dateOfBirth

String

date of birth to compare against ID

metadata

Object

Metadata object. Any valid object can be passed here. It gets returned as is.

PVC Verification

The Permanent Voter's card verification is used to verify that a provided PVC number exists in the Database. It shows the full information of the PVC holder;

{
    "id": "00A0A0A000000000000",
"metadata": {
        "requestId": "1209348756"
},
    "isSubjectConsent": true
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "6284b09f7bf17937bc7ad87a",
        "parentId": null,
        "status": "not_found",
        "reason": "ID data not found",
        "dataValidation": false,
        "selfieValidation": false,
        "firstName": null,
        "middleName": null,
        "lastName": null,
        "dateOfBirth": null,
        "isConsent": true,
        "idNumber": "00A0A0A000000000100",
        "businessId": "6222a5ed3e7a41c29c031ecc",
        "type": "pvc",
        "requestedAt": "2022-05-18T08:38:57.392Z",
        "requestedById": "6222a5ed3e7a41c29c031ece",
        "country": "NG",
        "createdAt": "2022-05-18T08:38:57.468Z",
        "lastModifiedAt": "2022-05-18T08:38:57.468Z",
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ed3e7a41c29c031ece"
        }
    },
    "links": []
}

PVC Validation

PVC Validation is used to verify a PVC and compare given data parameters against the data in the government 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

{
    "id": "00A0A0A000000000000",
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "firstName": "John",
            "lastName": "Doe",
            "dateOfBirth": "1988-04-04"
        }
    }
}
{
    "success": true,
    "statusCode": 200,
    "message": "success",
    "data": {
        "id": "6284b0dc7bf17910327ad87d",
        "validations": {
            "data": {
                "lastName": {
                    "validated": true,
                    "value": "Doe"
                },
                "dateOfBirth": {
                    "validated": false,
                    "value": "1988-04-04"
                },
                "firstName": {
                    "validated": true,
                    "value": "John"
                }
            },
            "validationMessages": "Date of birth does not match"
        },
        "parentId": null,
        "status": "found",
        "reason": null,
        "dataValidation": true,
        "selfieValidation": false,
        "firstName": "John",
        "middleName": "",
        "lastName": "Doe",
        "dateOfBirth": "1990-04-04",
        "isConsent": true,
        "idNumber": "00A0A0A000000000000",
        "businessId": "6222a5ed3e7a41c29c031ecc",
        "type": "pvc",
        "requestedAt": "2022-05-18T08:39:56.584Z",
        "requestedById": "6222a5ed3e7a41c29c031ece",
        "country": "NG",
        "createdAt": "2022-05-18T08:39:56.607Z",
        "lastModifiedAt": "2022-05-18T08:39:56.607Z",
        "requestedBy": {
            "firstName": "API",
            "lastName": "User",
            "middleName": "",
            "id": "6222a5ed3e7a41c29c031ece"
        }
    },
    "links": []
}

PVC Full Sample Request

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

{
    "id": "00A0A0A000000000000",
    "metadata": {
        "requestId": "1209348756"
},
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "firstName": "John",
            "lastName": "Doe",
            "dateOfBirth": "1988-04-04"
        }
    }
}
HTTP/1.1 200 OK
{
        "success": true,
        "statusCode": 200,
        "message": "success",
        "data": {
            "validations": {
                "data": {
                    "lastName": {
                        "validated": true,
                        "value": "Ehichioya"
                    },
                    "dateOfBirth": {
                        "validated": true,
                        "value": "1968-07-24"
                    },
                    "firstName": {
                        "validated": true,
                        "value": "Famous"
                    }
                },
                "validationMessages": ""
            },
            "parentId": "612ce40ab8919f39faf7ae49",
            "status": "found",
            "dataValidation": true,
            "selfieValidation": false,
            "firstName": "Famous",
            "middleName": "Prior",
            "lastName": "Ehichioya",
            "dateOfBirth": "1968-07-24",
            "isConsent": true,
            "idNumber": "90F5AFA35D296xxxxxx",
            "businessId": "619b683ecb55a2a588f4b83c",
            "type": "pvc",
            "requestedAt": "2021-12-15T00:00:53.622Z",
            "country": "NG",
            "createdAt": "2021-12-15T00:00:53.841Z",
            "lastModifiedAt": "2021-12-15T00:00:53.841Z",
            "id": "61b9303518f8f26406b8e173",
            "requestedBy": {
                "firstName": "API",
                "lastName": "User",
                "middleName": "",
                "id": "619b683ecb55a2a588f4b839"
            }
        },
        "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