URL: /baas/api/reference/verification-compliance
---
title: 'Verification & Compliance'
description: '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.
**Base URL:** `https://sandbox.finhub.cloud/api/v2.1`
---
## 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 |
Valid values for `consentType`: `terms`, `privacy`, `data-processing`
---
## Verification Flow
```mermaid
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
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
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
Customer registration, sessions, and activation
Business registration, personnel, and activation
Admin sessions, audit trails, and role management
Wallet balances, transfers, and payment operations