URL: /baas/api/integration/flows/individual-customer
---
title: 'Individual Customer (B2C) Flow'
description: 'Complete lifecycle guide for Individual customer onboarding and operations'
---
# Individual Customer (B2C) Flow
Complete end-to-end guide for onboarding individual (B2C) customers - from registration through to active payment operations.
## Flow Overview
The Individual Customer flow encompasses the complete customer journey from initial registration through to active wallet operations and payments. This is a **LINEAR FLOW** with strict prerequisites at each stage.
```mermaid
flowchart LR
A[Registration] --> B[Session]
B --> C[Verification]
C --> D[Consents]
D --> E[Activation]
E --> F[Wallet Ops]
F --> G[Payments]
style A fill:#e3f2fd
style B fill:#e3f2fd
style C fill:#fff8e1
style D fill:#fff8e1
style E fill:#e8f5e9
style F fill:#e8f5e9
style G fill:#e8f5e9
```
## Timeline
```
Registration → Verification → Consent → Activation → Operations
(5 min) (1-3 days) (5 min) (instant) (ongoing)
```
## Key Characteristics
| Characteristic | Description |
|----------------|-------------|
| **Risk-Based Processing** | High-risk customers require power tenant approval |
| **Consent-Driven** | Operations blocked until required consents accepted |
| **Smart Categorization** | Feature-based customer categorization |
| **State Machine** | Strict state transitions with no backward movement |
| **Tenant Isolation** | Complete tenant-level data isolation |
---
## The 7 Phases
Create customer record, user credentials, and default inactive wallet with optional categorization assignment.
**Key Endpoint:** `POST /api/v2.1/customer/individual/registration`
**Duration:** ~5 minutes
Authenticate user and generate JWT token for subsequent API calls.
**Key Endpoint:** `POST /api/v2.1/customer/individual/{customerId}/users/{userId}/sessions`
**Duration:** Instant
Submit identity documents and await approval. High-risk customers require POWER_TENANT approval.
**Key Endpoint:** `POST /api/v2.1/customer/individual/{customerId}/verification`
**Duration:** 1-3 business days
Accept three mandatory consents: Terms & Conditions, Privacy Policy, Data Processing.
**Key Endpoint:** `POST /api/v2.1/customer/individual/{customerId}/consents/{type}`
**Duration:** ~5 minutes
Activate customer account, generate IBAN, and activate wallet.
**Key Endpoint:** `POST /api/v2.1/customer/individual/{customerId}/activation`
**Duration:** Instant
Query balance, check allowed operations, and view transaction limits.
**Key Endpoint:** `GET /api/v2.1/fintrans/{accountId}/balance`
**Duration:** Ongoing
Add beneficiaries, prepare orders, and execute transfers.
**Key Endpoint:** `POST /api/v2.1/fintrans/{accountId}/types/transfer/execute`
**Duration:** Ongoing
---
## Critical Prerequisites
### For Registration
- Valid email address
- Strong password (min 8 chars, mixed case, numbers, special chars)
- Tenant access credentials
### For Verification
- Customer record created
- Valid session token
### For Activation
**ALL prerequisites must be met:**
1. Verification status: `APPROVED`
2. Terms & Conditions: `ACCEPTED`
3. Privacy Policy: `ACCEPTED`
4. Data Processing: `ACCEPTED`
5. Customer status: Not already `ACTIVE`
### For Operations
- Active wallet
- Valid payment consents
- Pre-registered beneficiaries
---
## Phase Navigation
Customer registration with categorization
Authentication and JWT tokens
KYC verification process
Mandatory consent acceptance
Account activation & IBAN generation
Balance and allowed operations
Beneficiaries and transfers
---
## Quick Reference: All Endpoints
| Phase | Endpoint | Method | Description |
|-------|----------|--------|-------------|
| 1 | `/api/v2.1/customer/individual/categorization/hierarchy/{tenantId}` | GET | Get categorization options |
| 1 | `/api/v2.1/customer/individual/registration` | POST | Register customer |
| 2 | `/api/v2.1/customer/individual/{customerId}/users/{userId}/sessions` | POST | Create session (login) |
| 2 | `/api/v2.1/customer/individual/{customerId}/users/{userId}/sessions/{sessionId}` | DELETE | Delete session (logout) |
| 3 | `/api/v2.1/customer/individual/{customerId}/verification/initiate` | POST | Initiate verification |
| 3 | `/api/v2.1/customer/individual/{customerId}/verification` | POST | Submit verification |
| 3 | `/api/v2.1/verifications/{verificationId}` | GET | Check verification status |
| 4 | `/api/v2.1/customer/individual/{customerId}/consents/terms` | POST | Accept terms |
| 4 | `/api/v2.1/customer/individual/{customerId}/consents/privacy` | POST | Accept privacy |
| 4 | `/api/v2.1/customer/individual/{customerId}/consents/data-processing` | POST | Accept data processing |
| 5 | `/api/v2.1/customer/individual/{customerId}/activation` | POST | Activate customer |
| 6 | `/api/v2.1/fintrans/{accountId}/balance` | GET | Get balance |
| 6 | `/api/v2.1/fintrans/{accountId}/allowed-operations` | GET | Get allowed operations |
| 7 | `/api/v2.1/fintrans/{accountId}/beneficiaries` | POST | Add beneficiary |
| 7 | `/api/v2.1/fintrans/{accountId}/types/transfer/prepare` | POST | Prepare transfer |
| 7 | `/api/v2.1/fintrans/{accountId}/types/transfer/execute` | POST | Execute transfer |