Phase 5: Account Activation
Activation is the final step before the customer can perform financial operations. This phase generates the IBAN and activates the wallet.
Prerequisites Checklist
ALL prerequisites must be met before activation:
| Prerequisite | Required Status | Check |
|---|
| Verification | APPROVED | ✅ |
| Terms & Conditions | ACCEPTED | ✅ |
| Privacy Policy | ACCEPTED | ✅ |
| Data Processing | ACCEPTED | ✅ |
| Customer Status | Not ACTIVE | ✅ |
Check Activation Readiness
Before attempting activation, verify all prerequisites are met.
Request
Response - Ready
Response - Not Ready
Endpoint: GET /api/v2.1/customer/individual/{customerId}/owner/{tenantId}/activation/checkHeaders:Authorization: Bearer {jwt-token}
Status: 200 OK{
"code": 200,
"message": "Activation check completed",
"data": {
"activationAllowed": true,
"consentOk": true,
"verificationOk": true,
"powerTenantApprovalOk": true,
"powerTenantApprovalRequired": false,
"riskLevel": "LOW",
"isHighRisk": false,
"customerId": "cust-550e8400-e29b-41d4-a716-446655440010",
"powerTenant": "97e7ff29-15f3-49ef-9681-3bbfcce4f6cd",
"ownerTenant": "97e7ff29-15f3-49ef-9681-3bbfcce4f6cd"
}
}
{
"code": 200,
"message": "Activation check completed",
"data": {
"activationAllowed": false,
"consentOk": false,
"verificationOk": true,
"riskLevel": "LOW",
"customerId": "cust-550e8400-e29b-41d4-a716-446655440010",
"missingConsents": ["PRIVACY_POLICY", "DATA_PROCESSING"]
}
}
Activate Customer Account
Request
Success Response
Error - Missing Consents
Error - Not Verified
Endpoint: POST /api/v2.1/customer/individual/{customerId}/activationHeaders:Authorization: Bearer {admin-jwt-token}
X-Forwarded-For: 192.168.1.100
Request Body:{
"activationReason": "All verification and consents completed successfully",
"activatedBy": "admin-user-id"
}
Status: 200 OK{
"code": 200,
"message": "Customer activated successfully",
"data": {
"activationStatus": "ACTIVATED",
"customerId": "cust-550e8400-e29b-41d4-a716-446655440010",
"iban": "FR7630001007941234567890185",
"bic": "SOGEFRPP",
"activatedAt": "2026-01-14T14:00:00.000Z",
"wallet": {
"walletId": "wallet-aa0e8400-e29b-41d4-a716-446655440050",
"id": "wallet-aa0e8400-e29b-41d4-a716-446655440050",
"iban": "FR7630001007941234567890185",
"bic": "SOGEFRPP",
"currency": "EUR",
"balance": "0.00",
"reservedBalance": "0.00",
"status": "ACTIVE",
"asset": {
"assetId": "asset-bb0e8400-e29b-41d4-a716-446655440051",
"assetType": "FIAT",
"currency": "EUR",
"currentBalance": "0.00",
"availableBalance": "0.00",
"blockedBalance": "0.00",
"lastUpdated": "2026-01-14T14:00:00.000Z"
},
"createdAt": "2026-01-13T10:30:00.000Z",
"activatedAt": "2026-01-14T14:00:00.000Z"
}
}
}
Status: 400 Bad Request{
"code": 400,
"message": "Missing required consents",
"data": {
"activationStatus": "CONSENT_REQUIRED",
"customerId": "cust-550e8400-e29b-41d4-a716-446655440010",
"missingConsentTypes": ["PRIVACY_POLICY", "DATA_PROCESSING"],
"missingConsentDetails": {
"PRIVACY_POLICY": {
"consentType": "PRIVACY_POLICY",
"title": "Privacy Policy and Data Protection",
"required": true,
"status": "MISSING",
"reason": "Customer has not provided active consent",
"acceptUrl": "/api/v2.1/customer/individual/{customerId}/consents/privacy"
},
"DATA_PROCESSING": {
"consentType": "DATA_PROCESSING",
"title": "Data Processing Agreement",
"required": true,
"status": "MISSING",
"acceptUrl": "/api/v2.1/customer/individual/{customerId}/consents/data-processing"
}
},
"totalRequiredConsents": 3,
"totalMissingConsents": 2,
"nextSteps": [
"Accept Privacy Policy",
"Accept Data Processing Agreement",
"Retry activation"
]
}
}
Status: 422 Unprocessable Entity{
"code": 422,
"message": "Customer not verified",
"data": {
"activationStatus": "VERIFICATION_REQUIRED",
"customerId": "cust-550e8400-e29b-41d4-a716-446655440010",
"verificationStatus": "PENDING_REVIEW",
"reason": "Customer verification must be APPROVED before activation",
"currentVerificationId": "verif-880e8400-e29b-41d4-a716-446655440030",
"verificationStatusUrl": "/api/v2.1/verifications/{verificationId}",
"estimatedCompletionTime": "1-2 business days"
}
}
What Happens During Activation
Activation Steps
- Validate Prerequisites - Check verification and consents
- Generate IBAN - Create unique IBAN for customer
- Activate Wallet - Change wallet status from INACTIVE to ACTIVE
- Update Status - Set customer status to ACTIVE
- Publish Events - CustomerActivated, WalletActivated (Kafka)
- Send Notifications - Email confirmation to customer
Key IDs Created
| Field | Example Value | Description |
|---|
iban | FR7630001007941234567890185 | Customer’s IBAN for payments |
bic | SOGEFRPP | Bank Identifier Code |
walletId | wallet-aa0e8400… | Wallet identifier for transactions |
FR76 + [Bank Code] + [Account Number] + [Check Digits]
└─── Country Code (France)
Next Step
After activation, proceed to Phase 6: Wallet Operations to manage the customer’s wallet.
Phase 6: Wallet Operations
Query balance and allowed operations