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

# Incorporation Document Verification

> Learn how to run incorporation document verification checks to validate business incorporation information

The Incorporation Document Verification check helps verify the authenticity of business incorporation documents and validates key incorporation information. This guide explains how to run the check, what data to provide, and how to interpret the results.

## Check ID

`kyb.incorporation_document_verification`

## Overview

The check analyzes various aspects of incorporation documents:

* Document authenticity and validity
* Business name verification
* Incorporation date confirmation
* Registered address validation
* Business activity verification
* Jurisdiction confirmation
* Registration number validation

## How the Check Works

1. **Document Analysis**
   * Extracts key information from incorporation documents
   * Validates document structure and format
   * Verifies official seals and signatures
   * Checks document authenticity

2. **Information Verification**
   * Cross-references extracted data with self-attested information
   * Validates business registration details
   * Confirms incorporation jurisdiction
   * Verifies registered address

3. **Fraud Detection**
   * Analyzes for document tampering
   * Checks for inconsistencies
   * Validates document authenticity
   * Reviews visual elements

### Document Requirements

The following information must be present in the incorporation documents for it to be considered valid:

#### Required Information

* Business Name
* Incorporation Date
* Business Address
* Jurisdiction of Incorporation
* Business filing number or registration number

#### Document Types

Must be one of the following document types:

* Articles of Incorporation
* Certificate of Formation
* Certificate of Organization
* Business Registration Certificate
* Company Registration Document

#### Document Authenticity

* Must contain official seals/stamps where applicable
* Must match official government document layout
* Must be from the appropriate government authority
* Must be properly formatted and structured
* Must not show signs of tampering or alteration

#### Document Content

The document must clearly show:

* Complete legal business name
* Date of incorporation/formation
* Registered business address
* Registration/filing number
* Jurisdiction where business is registered
* Business purpose or activities (if required by jurisdiction)
* Any required government seals or certifications

## Check Configuration

The check can be configured with the following parameters:

### Check Arguments

<ParamField body="verify_incorporation_date" type="boolean" default="false">
  Whether to strictly verify the incorporation date. If true:

  * Must be present in both self-attested data and documented information
  * If missing in self-attested data, verification fails
  * If dates differ by more than validity\_period\_days, verification fails
</ParamField>

<ParamField body="validity_period_days" type="integer" default="3">
  Number of days allowed for difference between self-attested and documented incorporation dates.
  Only used if verify\_incorporation\_date is true.
</ParamField>

<ParamField body="verify_registration_number" type="boolean" default="false">
  Whether to strictly verify the business registration number. If true:

  * Must be present in both self-attested data and documented information
  * If missing in self-attested data, verification fails
  * Numbers must match exactly or be part of a compound number
</ParamField>

<ParamField body="verify_address" type="boolean" default="false">
  Whether to strictly verify the business address. If true:

  * Must be present in both self-attested data and documented information
  * If missing in self-attested data, verification fails
  * Address components must match with only minor formatting differences allowed
</ParamField>

<ParamField body="verify_no_high_risk_fraud" type="boolean" default="true">
  Whether to fail verification if high-risk fraud is detected. If true:

  * Verification fails if fraud\_verification\_data shows "HIGH\_RISK"
  * Non-high-risk fraud issues are flagged but don't fail verification
</ParamField>

<ParamField body="verify_visual_verification_passed" type="boolean" default="true">
  Whether to fail verification if visual verification fails. If true:

  * Verification fails if visual\_verification\_data shows verification\_passed as false
</ParamField>

### Data Processing Configuration

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

### Example Configuration

```json theme={null}
{
  "verify_incorporation_date": true,
  "validity_period_days": 3,
  "verify_registration_number": true,
  "verify_address": true,
  "verify_no_high_risk_fraud": true,
  "verify_visual_verification_passed": true,
  "enable_visual_verification": true,
  "enable_fraud_check": true,
}
```

## Running the Check

### API Endpoint

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

### Request Parameters

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

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

<ParamField body="check_id" type="string" required>
  Use `"kyb.incorporation_document_verification"` for incorporation document verification.
</ParamField>

<ParamField body="payload" type="object" required>
  The business information and documents for verification.

  <Expandable title="Payload Properties">
    <ParamField body="id" type="string" required>
      A unique identifier for this check case.
    </ParamField>

    <ParamField body="self_attested_data" type="object" required>
      <ParamField body="business_name" type="string" required>
        The legal name of the business to verify.
      </ParamField>

      <ParamField body="incorporation_date" type="string">
        The date when the business was incorporated (YYYY-MM-DD).
      </ParamField>

      <ParamField body="business_address" type="object">
        <ParamField body="street_1" type="string">
          Primary street address.
        </ParamField>

        <ParamField body="street_2" type="string">
          Secondary street address (optional).
        </ParamField>

        <ParamField body="city" type="string">
          City name.
        </ParamField>

        <ParamField body="state" type="string">
          State or region.
        </ParamField>

        <ParamField body="postal_code" type="string">
          Postal or ZIP code.
        </ParamField>

        <ParamField body="country_code" type="string">
          Two-letter country code (ISO 3166-1 alpha-2).
        </ParamField>
      </ParamField>

      <ParamField body="jurisdiction" type="string">
        The jurisdiction where the business is incorporated.
      </ParamField>

      <ParamField body="registration_number" type="string">
        The business registration number.
      </ParamField>
    </ParamField>

    <ParamField body="documents" type="array" required>
      Array of document objects containing incorporation documents.

      <ParamField body="url" type="string" required>
        URL of the document file.
      </ParamField>

      <ParamField body="type" type="string" required>
        Type of the document (e.g., "certificate\_of\_incorporation").
      </ParamField>

      <ParamField body="description" type="string">
        Optional description of the document.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

### 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.incorporation_document_verification",
    "payload": {
      "id": "inc-doc-check-001",
      "self_attested_data": {
        "registered_business_name": "Acme Corp, Inc.",
        "incorporation_date": "2023-03-29",
        "address_of_incorporation": {
          "street_1": "251 Little Falls Drive",
          "city": "Wilmington",
          "state": "Delaware",
          "postal_code": "19808",
          "country_code": "US"
        },
        "incorporation_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_incorporation_doc.pdf",
            "type": "Document",
            "file_name": "acme_incorporation_doc.pdf",
            "source_type": "gcs"
          }
        ]
      }
    },
    "check_args": {
      "verify_incorporation_date": true,
      "verify_registration_number": true,
      "verify_address": true,
      "verify_no_high_risk_fraud": true,
      "verify_visual_verification_passed": true,
      "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.incorporation_document_verification',
      'payload': {
          'id': 'inc-doc-check-001',
          'self_attested_data': {
              'registered_business_name': 'Acme Corp, Inc.',
              'incorporation_date': '2023-03-29',
              'address_of_incorporation': {
                  'street_1': '251 Little Falls Drive',
                  'city': 'Wilmington',
                  'state': 'Delaware',
                  'postal_code': '19808',
                  'country_code': 'US'
              },
              'incorporation_documents': [
                  {
                      'url': 'https://storage.googleapis.com/parcha-ai-public-assets/acme_incorporation_doc.pdf',
                      'type': 'Document',
                      'file_name': 'acme_incorporation_doc.pdf',
                      'source_type': 'gcs'
                  }
              ]
          }
      },
      'check_args': {
          'verify_incorporation_date': True,
          'verify_registration_number': True,
          'verify_address': True,
          'verify_no_high_risk_fraud': True,
          'verify_visual_verification_passed': True,
          '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.incorporation_document_verification',
    payload: {
      id: 'inc-doc-check-001',
      self_attested_data: {
        registered_business_name: 'Acme Corp, Inc.',
        incorporation_date: '2023-03-29',
        address_of_incorporation: {
          street_1: '251 Little Falls Drive',
          city: 'Wilmington',
          state: 'Delaware',
          postal_code: '19808',
          country_code: 'US'
        },
        incorporation_documents: [
          {
            url: 'https://storage.googleapis.com/parcha-ai-public-assets/acme_incorporation_doc.pdf',
            type: 'Document',
            file_name: 'acme_incorporation_doc.pdf',
            source_type: 'gcs'
          }
        ]
      }
    },
    check_args: {
      verify_incorporation_date: true,
      verify_registration_number: true,
      verify_address: true,
      verify_no_high_risk_fraud: true,
      verify_visual_verification_passed: true,
      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.incorporation_document_verification",
    "payload": {
      "id": "inc-doc-check-001",
      "self_attested_data": {
        "registered_business_name": "Acme Corp, Inc.",
        "incorporation_date": "2023-03-29",
        "address_of_incorporation": {
          "street_1": "251 Little Falls Drive",
          "city": "Wilmington",
          "state": "Delaware",
          "postal_code": "19808",
          "country_code": "US"
        },
        "incorporation_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_incorporation_doc.pdf",
            "type": "Document",
            "file_name": "acme_incorporation_doc.pdf",
            "source_type": "gcs"
          }
        ]
      }
    },
    "check_args": {
      "verify_incorporation_date": true,
      "verify_registration_number": true,
      "verify_address": true,
      "verify_no_high_risk_fraud": true,
      "verify_visual_verification_passed": true,
      "enable_visual_verification": true,
      "enable_fraud_check": true,
    },
    "webhook_url": "https://your-webhook.com/check-updates"
  }
}
```

## Check Results

For full details of the response structure, see the [Incorporation Document Verification Result](/api-reference/check-results/incorporation-document-verification) documentation.
