# Verify Nigerian Permanent Voters Card (PVC)

## PVC Verification

<mark style="color:green;">`POST`</mark> `{{baseurl}}/v2/api/identity/ng/pvc`

#### Headers

| Name                                    | Type   | Description      |
| --------------------------------------- | ------ | ---------------- |
| token<mark style="color:red;">\*</mark> | String | API secret token |

#### Request Body

| Name                                               | Type    | Description                                                                        |
| -------------------------------------------------- | ------- | ---------------------------------------------------------------------------------- |
| id<mark style="color:red;">\*</mark>               | String  | Valid PVC                                                                          |
| isSubjectConsent<mark style="color:red;">\*</mark> | Boolean | Indicate subject has given consent. <mark style="color:red;">`Must be true`</mark> |
| 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.      |

### <mark style="color:green;">PVC Verification</mark>

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;

{% tabs %}
{% tab title="PVC Verification Sample Request" %}

```json
{
    "id": "00A0A0A000000000000",
"metadata": {
        "requestId": "1209348756"
},
    "isSubjectConsent": true
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="PVC Verification Sample Response" %}

```json
{
    "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": []
}
```

{% endtab %}
{% endtabs %}

### <mark style="color:green;">PVC Validation</mark>

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

{% tabs %}
{% tab title="PVC Validation Sample Request" %}

```json
{
    "id": "00A0A0A000000000000",
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "firstName": "John",
            "lastName": "Doe",
            "dateOfBirth": "1988-04-04"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="PVC Validation Sample Response" %}

```json
{
    "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": []
}
```

{% endtab %}
{% endtabs %}

### <mark style="color:green;">PVC Full Sample Request</mark>

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

{% tabs %}
{% tab title="Full Sample Request" %}

```json
{
    "id": "00A0A0A000000000000",
    "metadata": {
        "requestId": "1209348756"
},
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "firstName": "John",
            "lastName": "Doe",
            "dateOfBirth": "1988-04-04"
        }
    }
}
```

{% endtab %}

{% tab title="PVC Verification" %}

```json
{
    "id": "90F5AFA35D296xxxxxx",
    "isSubjectConsent": true
}
```

{% endtab %}

{% tab title="PVC Validation" %}

```json
{
    "id": "00A0A0A000000000000",
    "isSubjectConsent": true,
    "validations": {
        "data": {
            "firstName": "John",
            "lastName": "Doe",
            "dateOfBirth": "1988-04-04"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Found Response:" %}

```json
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": []
    }
```

{% endtab %}

{% tab title="Not Found Response:" %}

```json
HTTP/1.1 200 OK
{
            "success": true,
            "statusCode": 200,
            "message": "success",
            "data": {
                "validations": {
                    "data": {
                        "lastName": {
                            "validated": false,
                            "value": "Ehichioya"
                        },
                        "dateOfBirth": {
                            "validated": false,
                            "value": "1968-07-24"
                        },
                        "firstName": {
                            "validated": false,
                            "value": "Famous"
                        }
                    },
                    "validationMessages": ""
                },
                "parentId": "612ce40ab8919f39faf7ae49",
                "status": "not_found",
                "dataValidation": true,
                "selfieValidation": false,
                "firstName": null,
                "middleName": null,
                "lastName": null,
                "dateOfBirth": null,
                "isConsent": true,
                "idNumber": "90F5AFA35D296559988",
                "businessId": "619b683ecb55a2a588f4b83c",
                "type": "pvc",
                "requestedAt": "2021-12-15T00:04:20.302Z",
                "country": "NG",
                "createdAt": "2021-12-15T00:04:20.509Z",
                "lastModifiedAt": "2021-12-15T00:04:20.509Z",
                "id": "61b93102ef6f4864xxxxxxxx",
                "requestedBy": {
                    "firstName": "API",
                    "lastName": "User",
                    "middleName": "",
                    "id": "619b683ecb55a2a588f4b839"
                }
            },
            "links": []
        }
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Error Responses" %}

```json
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": {}
}
```

{% endtab %}
{% endtabs %}

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.youverify.co/know-your-customer-services-kyc/id-data-matching-eidv/nigeria/verify-nigerian-permanent-voters-card-pvc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
