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

# Business Ownership Document Verification

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

The Business Ownership Document Verification check helps verify the authenticity of business ownership documents and validates the ownership structure of a business. This guide explains how to run the check, what data to provide, and how to interpret the results.

## Check ID

`kyb.business_ownership_verification_tool`

## Overview

The check analyzes various aspects of business ownership documents:

* Document authenticity and validity
* Business owner verification
* Ownership share validation
* Document type verification
* Total ownership verification

## How the Check Works

1. **Document Analysis**
   * Extracts key information from business ownership documents
   * Validates document structure and format
   * Verifies document authenticity
   * Identifies business owners and their ownership shares

2. **Information Verification**
   * Cross-references extracted data with self-attested information
   * Validates business owner names match
   * Confirms ownership shares
   * Verifies total ownership percentage

3. **Ownership Validation**
   * Verifies all significant owners (≥25%) are disclosed
   * Validates ownership shares add up to expected total
   * Checks for missing or undocumented owners
   * Ensures ownership information is complete and accurate

### Document Requirements

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

#### Cap Table or Share Register

* Names of all shareholders/owners
* Number of shares or ownership percentage for each owner
* Total number of shares or ownership percentages must sum to 100%
* Date of ownership information

#### Operating Agreement

* Names of all members/owners
* Ownership percentages or shares for each member
* Roles and responsibilities of members
* Date of agreement

#### Share Certificates

* Name of shareholder
* Number of shares owned
* Class of shares
* Date of issuance
* Company name and registration details

#### Partnership Agreement

* Names of all partners
* Partnership type (general, limited, etc.)
* Ownership percentages or profit-sharing ratios
* Date of agreement

#### Articles of Organization (if sole proprietorship)

* Name of sole owner
* Business name
* Date of organization
* Confirmation of 100% ownership

## Check Configuration

The check can be configured with the following parameters:

<ParamField body="min_ownership_threshold" type="integer" default="25">
  Minimum percentage of ownership to be considered significant. Owners with ownership percentage at or above this threshold must be included in self-attested data.
</ParamField>

<ParamField body="total_ownership_threshold" type="integer" default="100">
  Total percentage of ownership that must be accounted for in the documentation. The check will fail if the total documented ownership is less than this threshold.
</ParamField>

<ParamField body="check_self_attested_ownership" type="boolean" default="true">
  Whether to verify that self-attested ownership shares match the documented shares. If true, the check will fail if self-attested ownership data is missing.
</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="include_incorporation_documents" type="boolean" default="false">
  Whether to include incorporation documents in the ownership verification process.
</ParamField>

### Example Configuration

```json theme={null}
{
  "min_ownership_threshold": 25,
  "total_ownership_threshold": 100,
  "check_self_attested_ownership": true,
  "enable_visual_verification": true,
  "enable_fraud_check": true,
  "include_incorporation_documents": 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.business_ownership_verification_tool",
    "kyb_schema": {
      "id": "ownership-check-001",
      "self_attested_data": {
        "business_name": "Acme Corp, Inc.",
        "business_ownership_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_cap_table.pdf",
            "file_name": "acme_cap_table.pdf",
            "source_type": "file_url"
          }
        ]
      },
      "associated_individuals": [
        {
          "id": "owner-001",
          "self_attested_data": {
            "first_name": "John",
            "last_name": "Smith",
            "title": "CEO",
            "is_business_owner": true,
            "business_ownership_percentage": 60
          }
        },
        {
          "id": "owner-002",
          "self_attested_data": {
            "first_name": "Jane",
            "last_name": "Doe",
            "title": "CTO",
            "is_business_owner": true,
            "business_ownership_percentage": 30
          }
        }
      ],
      "associated_entities": [
        {
          "id": "entity-001",
          "self_attested_data": {
            "business_name": "Venture Capital LLC",
            "business_ownership_percentage": 10,
            "is_trust": false
          }
        }
      ]
    },
    "check_args": {
      "min_ownership_threshold": 25,
      "total_ownership_threshold": 100,
      "check_self_attested_ownership": true,
      "enable_visual_verification": true,
      "enable_fraud_check": true,
      "include_incorporation_documents": false
    },
    "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.business_ownership_verification_tool',
      'kyb_schema': {
          'id': 'ownership-check-001',
          'self_attested_data': {
              'business_name': 'Acme Corp, Inc.',
              'business_ownership_documents': [
                  {
                      'url': 'https://storage.googleapis.com/parcha-ai-public-assets/acme_cap_table.pdf',
                      'file_name': 'acme_cap_table.pdf',
                      'source_type': 'file_url'
                  }
              ]
          },
          'associated_individuals': [
              {
                  'id': 'owner-001',
                  'self_attested_data': {
                      'first_name': 'John',
                      'last_name': 'Smith',
                      'title': 'CEO',
                      'is_business_owner': True,
                      'business_ownership_percentage': 60
                  }
              },
              {
                  'id': 'owner-002',
                  'self_attested_data': {
                      'first_name': 'Jane',
                      'last_name': 'Doe',
                      'title': 'CTO',
                      'is_business_owner': True,
                      'business_ownership_percentage': 30
                  }
              }
          ],
          'associated_entities': [
              {
                  'id': 'entity-001',
                  'self_attested_data': {
                      'business_name': 'Venture Capital LLC',
                      'business_ownership_percentage': 10,
                      'is_trust': False
                  }
              }
          ]
      },
      'check_args': {
          'min_ownership_threshold': 25,
          'total_ownership_threshold': 100,
          'check_self_attested_ownership': True,
          'enable_visual_verification': True,
          'enable_fraud_check': True,
          'include_incorporation_documents': False
      },
      '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.business_ownership_verification_tool',
    payload: {
      id: 'ownership-check-001',
      self_attested_data: {
        business_name: 'Acme Corp, Inc.',
        business_ownership_documents: [
          {
            url: 'https://storage.googleapis.com/parcha-ai-public-assets/acme_cap_table.pdf',
            file_name: 'acme_cap_table.pdf',
            source_type: 'file_url'
          }
        ]
      },
      associated_individuals: [
        {
          id: 'owner-001',
          self_attested_data: {
            first_name: 'John',
            last_name: 'Smith',
            title: 'CEO',
            is_business_owner: true,
            business_ownership_percentage: 60
          }
        },
        {
          id: 'owner-002',
          self_attested_data: {
            first_name: 'Jane',
            last_name: 'Doe',
            title: 'CTO',
            is_business_owner: true,
            business_ownership_percentage: 30
          }
        }
      ],
      associated_entities: [
        {
          id: 'entity-001',
          self_attested_data: {
            business_name: 'Venture Capital LLC',
            business_ownership_percentage: 10,
            is_trust: false
          }
        }
      ]
    },
    check_args: {
      min_ownership_threshold: 25,
      total_ownership_threshold: 100,
      check_self_attested_ownership: true,
      enable_visual_verification: true,
      enable_fraud_check: true,
      include_incorporation_documents: false
    },
    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.business_ownership_verification_tool",
    "payload": {
      "id": "ownership-check-001",
      "self_attested_data": {
        "business_name": "Acme Corp, Inc.",
        "business_ownership_documents": [
          {
            "url": "https://storage.googleapis.com/parcha-ai-public-assets/acme_cap_table.pdf",
            "file_name": "acme_cap_table.pdf",
            "source_type": "file_url"
          }
        ]
      },
      "associated_individuals": [
        {
          "id": "owner-001",
          "self_attested_data": {
            "first_name": "John",
            "last_name": "Smith",
            "title": "CEO",
            "is_business_owner": true,
            "business_ownership_percentage": 60
          }
        },
        {
          "id": "owner-002",
          "self_attested_data": {
            "first_name": "Jane",
            "last_name": "Doe",
            "title": "CTO",
            "is_business_owner": true,
            "business_ownership_percentage": 30
          }
        }
      ],
      "associated_entities": [
        {
          "id": "entity-001",
          "self_attested_data": {
            "business_name": "Venture Capital LLC",
            "business_ownership_percentage": 10,
            "is_trust": false
          }
        }
      ]
    },
    "check_args": {
      "min_ownership_threshold": 25,
      "total_ownership_threshold": 100,
      "check_self_attested_ownership": true,
      "enable_visual_verification": true,
      "enable_fraud_check": true,
      "include_incorporation_documents": false
    },
    "webhook_url": "https://your-webhook.com/check-updates"
  }
}
```

## Check Results

The check returns a detailed analysis of the business ownership documents and verification results. For full details of the response structure, see the [Business Ownership Document Verification Result](/api-reference/check-results/business-ownership-document-verification) documentation.
