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

# Verification & Compliance

> APIs for identity verification, document management, and consent collection

# Verification & Compliance

Shared API surface for managing verification processes, uploading compliance documents, approving submissions, and collecting customer consents. These endpoints are used by both **Individual (B2C)** and **Organization (B2B)** onboarding flows.

<Info>
  **Base URL:** `https://sandbox.finhub.cloud/api/v2.1`
</Info>

***

## API Endpoints

### Core Verification

Three endpoints handle the full verification lifecycle — from initiation through document upload to admin approval:

| Endpoint                                    | Method | Description                                                              |
| ------------------------------------------- | ------ | ------------------------------------------------------------------------ |
| `/verifications`                            | `POST` | Initiate a new verification (KYC for individuals, KYB for organizations) |
| `/verifications/{verificationId}/documents` | `POST` | Upload supporting documents for a verification                           |
| `/verifications/{verificationId}/approve`   | `POST` | Admin approval after document review                                     |

### Consent Collection

Consent endpoints are scoped per customer type. Three consent types must be accepted before activation: **terms**, **privacy**, and **data-processing**.

| Endpoint                                                         | Method | Description                                   |
| ---------------------------------------------------------------- | ------ | --------------------------------------------- |
| `/customer/individual/{customerId}/consents/{consentType}`       | `POST` | Accept a consent for an individual customer   |
| `/customer/organization/{organizationId}/consents/{consentType}` | `POST` | Accept a consent for an organization customer |

<Note>
  Valid values for `consentType`: `terms`, `privacy`, `data-processing`
</Note>

***

## Verification Flow

```mermaid theme={null}
flowchart LR
    A[Initiate Verification] --> B[Upload Documents]
    B --> C[Pending Review]
    C --> D{Admin Decision}
    D -->|Approve| E[Approved]
    D -->|Reject| F[Rejected]
    E --> G[Collect Consents]
    G --> H[Ready for Activation]
```

### Individual (B2C) verification flow

```mermaid theme={null}
flowchart TB
    V1["(1) POST /verifications (IDENTITY_VERIFICATION)"] --> V2["(2) Upload identity document"]
    V2 --> V3["(3) Upload proof-of-address document"]
    V3 --> V4["(4) Approve verification"]
    V4 --> V5["(5) Accept terms consent"]
    V5 --> V6["(6) Accept privacy consent"]
    V6 --> V7["(7) Accept data-processing consent"]
```

### Organization (B2B) verification flow

```mermaid theme={null}
flowchart TB
    B1["(1) POST /verifications (BUSINESS_VERIFICATION)"] --> B2["(2) Upload certificate of incorporation"]
    B2 --> B3["(3) Upload proof of registered address"]
    B3 --> B4["(4) Approve verification"]
    B4 --> B5["(5) Accept terms consent"]
    B5 --> B6["(6) Accept privacy consent"]
    B6 --> B7["(7) Accept data-processing consent"]
```

***

## Individual KYC Flow

Step-by-step identity verification for individual (B2C) customers:

| Step                   | Endpoint                                                  | Payload Highlights                            |
| ---------------------- | --------------------------------------------------------- | --------------------------------------------- |
| **1. Initiate**        | `POST /verifications`                                     | `type: "IDENTITY_VERIFICATION"`, `customerId` |
| **2. Upload ID**       | `POST /verifications/{id}/documents`                      | `documentType: "PASSPORT"` or `"NATIONAL_ID"` |
| **3. Upload Address**  | `POST /verifications/{id}/documents`                      | `documentType: "PROOF_OF_ADDRESS"`            |
| **4. Approve**         | `POST /verifications/{id}/approve`                        | Admin reviews and approves                    |
| **5. Terms**           | `POST /customer/individual/{id}/consents/terms`           | `accepted: true`                              |
| **6. Privacy**         | `POST /customer/individual/{id}/consents/privacy`         | `accepted: true`                              |
| **7. Data Processing** | `POST /customer/individual/{id}/consents/data-processing` | `accepted: true`                              |

***

## Organization KYB Flow

Step-by-step business verification for organization (B2B) customers:

| Step                   | Endpoint                                                    | Payload Highlights                             |
| ---------------------- | ----------------------------------------------------------- | ---------------------------------------------- |
| **1. Initiate**        | `POST /verifications`                                       | `type: "BUSINESS_VERIFICATION"`, `customerId`  |
| **2. Upload Cert**     | `POST /verifications/{id}/documents`                        | `documentType: "CERTIFICATE_OF_INCORPORATION"` |
| **3. Upload Address**  | `POST /verifications/{id}/documents`                        | `documentType: "PROOF_OF_REGISTERED_ADDRESS"`  |
| **4. Approve**         | `POST /verifications/{id}/approve`                          | Admin reviews and approves                     |
| **5. Terms**           | `POST /customer/organization/{id}/consents/terms`           | `accepted: true`                               |
| **6. Privacy**         | `POST /customer/organization/{id}/consents/privacy`         | `accepted: true`                               |
| **7. Data Processing** | `POST /customer/organization/{id}/consents/data-processing` | `accepted: true`                               |

***

## Verification Types

| Type                    | Use Case                                    | Customer Type      |
| ----------------------- | ------------------------------------------- | ------------------ |
| `IDENTITY_VERIFICATION` | KYC — passport or national ID verification  | Individual (B2C)   |
| `DOCUMENT_VERIFICATION` | Proof of address or supplementary documents | Individual (B2C)   |
| `BUSINESS_VERIFICATION` | KYB — corporate entity and UBO verification | Organization (B2B) |

***

## Related Resources

<CardGroup cols={2}>
  <Card title="Individual APIs (B2C)" icon="user" href="/baas/api/reference/customer-apis/individual/index">
    Customer registration, sessions, and activation
  </Card>

  <Card title="Organization APIs (B2B)" icon="building" href="/baas/api/reference/customer-apis/organization/index">
    Business registration, personnel, and activation
  </Card>

  <Card title="Administration" icon="gear" href="/baas/api/reference/administration/index">
    Admin sessions, audit trails, and role management
  </Card>

  <Card title="Financial Operations" icon="money-bill-transfer" href="/baas/api/reference/financial-operations/index">
    Wallet balances, transfers, and payment operations
  </Card>
</CardGroup>
