> ## 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.

# Proof of Address Document Verification

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

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

## Check ID

`kyb.proof_of_address_verification`

## Overview

The check analyzes various aspects of proof of address documents:

* Document authenticity and validity
* Business 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 business name matches
   * Confirms physical address (no P.O. Boxes)
   * Verifies document dates are within validity period

3. **Address Validation**
   * Verifies address is a physical location
   * Validates address components
   * Confirms address is not a P.O. Box or registered agent address
   * 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

#### VAT Invoice

* Name and address of the business
* VAT number
* Invoice number
* Period of billing
* Amount details

#### Utility Bill

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

#### Tenancy/Lease Agreement

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

#### Tax Document

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

#### Mortgage Statement

* Name and logo of the mortgage provider
* Name and address of the account holder
* Mortgage details

#### 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

#### Driver License

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

## 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="include_associated_individuals" type="boolean" default="false">
  Whether to include associated individuals in the verification (e.g. for LLCs, or for a sole proprietor).
</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"
  * "VAT invoice"
  * "Utility bill"
  * "Tenancy agreement"
  * "Tax document"
  * "Mortgage statement"
  * "Credit card statement"
  * "Insurance policy"
  * "Lease agreement"
  * "Driver License"
</ParamField>

<ParamField body="po_box_is_allowed" type="boolean" default="false">
  Whether P.O. Box addresses are allowed as valid proof of address.
</ParamField>

<ParamField body="residential_is_allowed" type="boolean" default="false">
  Whether residential addresses are allowed as valid proof of address.
</ParamField>

<ParamField body="registered_agent_address_is_allowed" type="boolean" default="false">
  Whether registered agent addresses (e.g., Delaware registered agent address) are allowed as valid proof of address.
</ParamField>

### Example Configuration

```json theme={null}
{
  "validity_period": 90,
  "verify_self_attested_address": true,
  "include_associated_individuals": false,
  "enable_visual_verification": true,
  "enable_fraud_check": true,
  "accepted_documents": [
    "Bank statement",
    "VAT invoice",
    "Utility bill",
    "Tenancy agreement",
    "Tax document",
    "Mortgage statement",
    "Credit card statement",
    "Insurance policy",
    "Lease agreement"
  ],
  "po_box_is_allowed": false,
  "residential_is_allowed": false,
  "registered_agent_address_is_allowed": false
}
```

## Running the Check

### API Endpoint

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

### Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://api.parcha.ai/api/v1/startKYBAgentJob' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_key": "your-kyb-agent-key",
    "check_id": "kyb.proof_of_address_verification",
    "payload": {
      "id": "poa-check-001",
      "self_attested_data": {
        "business_name": "Acme Corp, Inc.",
        "address_of_operation": {
          "street_1": "251 Little Falls Drive",
          "city": "Wilmington",
          "state": "Delaware",
          "postal_code": "19808",
          "country_code": "US"
        },
        "proof_of_address_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_bank_statement.pdf",
            "type": "Document",
            "file_name": "acme_bank_statement.pdf",
            "source_type": "gcs"
          }
        ]
      }
    },
    "check_args": {
      "validity_period": 90,
      "include_associated_individuals": false,
      "verify_self_attested_address": true,
      "accepted_documents": [
        "Bank statement",
        "VAT invoice",
        "Utility bill",
        "Tenancy agreement",
        "Tax document",
        "Mortgage statement",
        "Credit card statement",
        "Insurance policy",
        "Lease agreement"
      ],
      "enable_visual_verification": true,
      "enable_fraud_check": true
    },
    "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/startKYBAgentJob'

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

  data = {
      'agent_key': 'your-kyb-agent-key',  # Replace with your actual agent key
      'check_id': 'kyb.proof_of_address_verification',
      'payload': {
          'id': 'poa-check-001',
          'self_attested_data': {
              'business_name': 'Acme Corp, Inc.',
              'address_of_operation': {
                  'street_1': '251 Little Falls Drive',
                  'city': 'Wilmington',
                  'state': 'Delaware',
                  'postal_code': '19808',
                  'country_code': 'US'
              },
              'proof_of_address_documents': [
                  {
                      'url': 'https://storage.googleapis.com/parcha-ai-public-assets/acme_bank_statement.pdf',
                      'type': 'Document',
                      'file_name': 'acme_bank_statement.pdf',
                      'source_type': 'gcs'
                  }
              ]
          }
      },
      'check_args': {
          'validity_period': 90,
          'include_associated_individuals': False,
          'verify_self_attested_address': True,
          'accepted_documents': [
              'Bank statement',
              'VAT invoice',
              'Utility bill',
              'Tenancy agreement',
              'Tax document',
              'Mortgage statement',
              'Credit card statement',
              'Insurance policy',
              'Lease agreement'
          ],
          'enable_visual_verification': True,
          'enable_fraud_check': True
      },
      '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/startKYBAgentJob';

  const data = {
    agent_key: 'your-kyb-agent-key',  // Replace with your actual agent key
    check_id: 'kyb.proof_of_address_verification',
    payload: {
      id: 'poa-check-001',
      self_attested_data: {
        business_name: 'Acme Corp, Inc.',
        address_of_operation: {
          street_1: '251 Little Falls Drive',
          city: 'Wilmington',
          state: 'Delaware',
          postal_code: '19808',
          country_code: 'US'
        },
        proof_of_address_documents: [
          {
            url: 'https://storage.googleapis.com/parcha-ai-public-assets/acme_bank_statement.pdf',
            type: 'Document',
            file_name: 'acme_bank_statement.pdf',
            source_type: 'gcs'
          }
        ]
      }
    },
    check_args: {
      validity_period: 90,
      include_associated_individuals: false,
      verify_self_attested_address: true,
      accepted_documents: [
        'Bank statement',
        'VAT invoice',
        'Utility bill',
        'Tenancy agreement',
        'Tax document',
        'Mortgage statement',
        'Credit card statement',
        'Insurance policy',
        'Lease agreement'
      ],
      enable_visual_verification: true,
      enable_fraud_check: true
    },
    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-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-agent-key",
  "input_payload": {
    "agent_key": "your-kyb-agent-key",
    "check_id": "kyb.proof_of_address_verification",
    "payload": {
      "id": "poa-check-001",
      "self_attested_data": {
        "business_name": "Acme Corp, Inc.",
        "address_of_operation": {
          "street_1": "251 Little Falls Drive",
          "city": "Wilmington",
          "state": "Delaware",
          "postal_code": "19808",
          "country_code": "US"
        },
        "proof_of_address_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_bank_statement.pdf",
            "type": "Document",
            "file_name": "acme_bank_statement.pdf",
            "source_type": "gcs"
          }
        ]
      }
    },
    "check_args": {
      "validity_period": 90,
      "include_associated_individuals": false,
      "verify_self_attested_address": true,
      "accepted_documents": [
        "Bank statement",
        "VAT invoice",
        "Utility bill",
        "Tenancy agreement",
        "Tax document",
        "Mortgage statement",
        "Credit card statement",
        "Insurance policy",
        "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 [Proof of Address Document Verification Result](/api-reference/check-results/proof-of-address-document-verification) documentation.
