> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parcha.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Individual (KYC) Proof of Address Document Verification

> Learn how to run proof of address document verification checks to validate individual address information

The Individual (KYC) Proof of Address Document Verification check helps verify the authenticity of individual proof of address documents and validates the physical address. This guide explains how to run the check, what data to provide, and how to interpret the results.

## Check ID

`kyc.proof_of_address_verification`

## Overview

The check analyzes various aspects of proof of address documents:

* Document authenticity and validity
* Individual name verification
* Physical address validation
* Document type verification
* Document date validation

## How the Check Works

1. **Document Analysis**
   * Extracts key information from proof of address documents
   * Validates document structure and format
   * Verifies document type is acceptable
   * Checks document authenticity

2. **Information Verification**
   * Cross-references extracted data with self-attested information
   * Validates individual's name matches
   * Confirms physical address
   * Verifies document dates are within validity period
   * Considers cultural variations in name representation, spelling, and order

3. **Address Validation**
   * Verifies address is a physical location
   * Validates address components
   * Checks address matches self-attested information

### Document Requirements

The following information must be present in the proof of address documents for it to be considered valid:

#### Bank Statement

* Name and address of the account holder
* Bank name and logo
* Account number
* Transaction details
* Period of statement

#### Utility Bill

* Name and address of the account holder
* Service provider's name and logo
* Account number
* Billing period

#### Driver License

* Name and address of the account holder
* Document number
* Issuing authority
* Expiry date

#### Credit Card Statement

* Name and address of the account holder
* Credit card provider's name and logo
* Account number
* Transaction details
* Period of statement

#### Insurance Policy

* Name and address of the account holder
* Insurance provider's name and logo
* Account number
* Period of insurance

#### Tax Document

* Name and address of the taxpayer
* Tax authority's name and logo

#### Tenancy/Lease Agreement

* Name of the tenant
* Address of the rented property
* Landlord's name and contact details
* Rental period
* Lease end date (must be in the future)

## Check Configuration

The check can be configured with the following parameters:

<ParamField body="validity_period" type="integer" default="90">
  Number of days within which the proof of address document should be valid.
</ParamField>

<ParamField body="verify_self_attested_address" type="boolean" default="true">
  Whether to verify that the address in the document matches the self-attested address.
</ParamField>

<ParamField body="enable_visual_verification" type="boolean" default="true">
  Whether to enable visual verification of documents.
</ParamField>

<ParamField body="enable_fraud_check" type="boolean" default="true">
  Whether to enable document fraud detection.
</ParamField>

<ParamField body="accepted_documents" type="array">
  List of accepted document types. Available options:

  * "Bank statement"
  * "Utility bill"
  * "Driver License"
  * "Credit card statement"
  * "Insurance policy"
  * "Tax document"
  * "Tenancy agreement"
  * "Lease agreement"
</ParamField>

### Example Configuration

```json theme={null}
{
  "validity_period": 90,
  "verify_self_attested_address": true,
  "enable_visual_verification": true,
  "enable_fraud_check": true,
  "accepted_documents": [
    "Bank statement",
    "Utility bill",
    "Driver License",
    "Credit card statement",
    "Insurance policy",
    "Tax document",
    "Tenancy agreement",
    "Lease agreement"
  ]
}
```

## Running the Check

### API Endpoint

```bash theme={null}
POST https://api.parcha.ai/api/v1/startKYCAgentJob
```

<Warning>
  **Important**: You must use your own agent key, not a default or public agent key. Your agent key can be found in the Parcha dashboard under your agent's settings, or in the "Test API Integration" dialog.
</Warning>

### Request Parameters

<ParamField body="agent_key" type="string" required>
  Your KYC agent key from the Parcha dashboard. This is unique to your organization and agent configuration.
</ParamField>

<ParamField body="kyc_schema" type="object" required>
  The individual information for verification using the [KYC Schema](/schemas/individual-schema).
</ParamField>

<ParamField body="check_ids" type="array">
  Optional. To run only this specific check, include `["kyc.proof_of_address_verification"]`. If omitted, all checks configured in your agent will run.
</ParamField>

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYCAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyc-agent-key",
    "kyc_schema": {
      "id": "kyc-poa-check-001",
      "self_attested_data": {
        "first_name": "John",
        "last_name": "Doe",
        "address": {
          "street_1": "746 4th Avenue",
          "city": "San Francisco",
          "state": "CA",
          "postal_code": "94118",
          "country_code": "US"
        },
        "proof_of_address_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/John_proof_of_address.pdf",
            "file_name": "John_proof_of_address.pdf",
            "source_type": "file_url"
          }
        ]
      }
    },
    "check_ids": ["kyc.proof_of_address_verification"],
    "webhook_url": "https://your-webhook.com/check-updates"
  }'
  ```

  ```python Python theme={null}
  import requests

  api_key = 'YOUR_API_KEY'
  url = 'https://api.parcha.ai/api/v1/startKYCAgentJob'

  headers = {
      'Authorization': f'Bearer {api_key}',
      'Content-Type': 'application/json'
  }

  data = {
      'agent_key': 'your-kyc-agent-key',  # Replace with your actual agent key
      'kyc_schema': {
          'id': 'kyc-poa-check-001',
          'self_attested_data': {
              'first_name': 'John',
              'last_name': 'Doe',
              'address': {
                  'street_1': '746 4th Avenue',
                  'city': 'San Francisco',
                  'state': 'CA',
                  'postal_code': '94118',
                  'country_code': 'US'
              },
              'proof_of_address_documents': [
                  {
                      'url': 'https://storage.googleapis.com/parcha-ai-public-assets/John_proof_of_address.pdf',
                      'file_name': 'John_proof_of_address.pdf',
                      'source_type': 'file_url'
                  }
              ]
          }
      },
      'check_ids': ['kyc.proof_of_address_verification'],  # Optional: run only this check
      'webhook_url': 'https://your-webhook.com/check-updates'
  }

  response = requests.post(url, json=data, headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  import axios from 'axios';

  const apiKey = 'YOUR_API_KEY';
  const url = 'https://api.parcha.ai/api/v1/startKYCAgentJob';

  const data = {
    agent_key: 'your-kyc-agent-key',  // Replace with your actual agent key
    kyc_schema: {
      id: 'kyc-poa-check-001',
      self_attested_data: {
        first_name: 'John',
        last_name: 'Doe',
        address: {
          street_1: '746 4th Avenue',
          city: 'San Francisco',
          state: 'CA',
          postal_code: '94118',
          country_code: 'US'
        },
        proof_of_address_documents: [
          {
            url: 'https://storage.googleapis.com/parcha-ai-public-assets/John_proof_of_address.pdf',
            file_name: 'John_proof_of_address.pdf',
            source_type: 'file_url'
          }
        ]
      }
    },
    check_ids: ['kyc.proof_of_address_verification'],  // Optional: run only this check
    webhook_url: 'https://your-webhook.com/check-updates'
  };

  axios.post(url, data, {
    headers: {
      'Authorization': `Bearer ${apiKey}`,
      'Content-Type': 'application/json'
    }
  })
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
  ```
</CodeGroup>

### Initial Response

```json theme={null}
{
  "id": "job-abc123",
  "status": "PENDING",
  "created_at": "2024-02-15T10:30:00Z",
  "updated_at": "2024-02-15T10:30:00Z",
  "agent_id": "your-kyc-agent-key",
  "input_payload": {
    // Original request payload
  }
}
```

## Retrieving Check Results

Once the job is complete, retrieve the results using the job ID with the `getJobByID` endpoint. Make sure to include the `include_check_results=true` parameter to get the full check results.

```bash theme={null}
GET https://api.parcha.ai/api/v1/getJobByID?job_id=job-abc123&include_check_results=true
```

### Example Response

```json theme={null}
{
  "id": "check-12345-abcde",
  "status": "PENDING",
  "created_at": "2024-03-15T15:30:00Z",
  "updated_at": "2024-03-15T15:30:00Z",
  "agent_id": "your-kyc-agent-key",
  "input_payload": {
    "agent_key": "your-kyc-agent-key",
    "check_id": "kyc.proof_of_address_verification",
    "payload": {
      "id": "kyc-poa-check-001",
      "self_attested_data": {
        "full_name": "John Doe",
        "address": {
          "street_1": "746 4th Avenue",
          "city": "San Francisco",
          "state": "CA",
          "postal_code": "94118",
          "country_code": "US"
        },
        "proof_of_address_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/John_proof_of_address.pdf",
            "type": "Document",
            "file_name": "John_proof_of_address.pdf",
            "source_type": "gcs"
          }
        ]
      }
    },
    "check_args": {
      "validity_period": 90,
      "verify_self_attested_address": true,
      "accepted_documents": [
        "Bank statement",
        "Utility bill",
        "Driver License",
        "Credit card statement",
        "Insurance policy",
        "Tax document",
        "Tenancy agreement",
        "Lease agreement"
      ],
      "enable_visual_verification": true,
      "enable_fraud_check": true
    },
    "webhook_url": "https://your-webhook.com/check-updates"
  }
}
```

## Check Results

The check returns a detailed analysis of the proof of address documents and verification results. For full details of the response structure, see the [Individual Proof of Address Document Verification Result](/api-reference/check-results/kyc-proof-of-address-document-verification) documentation.
