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 |