Skip to main content
POST
https://sandbox.finhub.cloud
/
api
/
v2.1
/
customer
/
individual
/
{customerId}
/
activation
Individual Activation API
curl --request POST \
  --url https://sandbox.finhub.cloud/api/v2.1/customer/individual/{customerId}/activation \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --header 'User-Agent: <user-agent>' \
  --header 'X-Forwarded-For: <x-forwarded-for>' \
  --header 'X-Tenant-ID: <x-tenant-id>' \
  --data '
{
  "code": "<string>",
  "userId": "<string>",
  "documentType": "<string>",
  "approvalNotes": "<string>"
}
'
{
  "code": 200,
  "message": "Success",
  "data": {
    "wallet": {
      "walletId": "26e4eacc-4d4b-47b1-836d-6819bdca1636",
      "iban": "LT613500048962615846",
      "currency": "EUR",
      "balance": "0",
      "reservedBalance": "0",
      "asset": {
        "assetType": "CURRENCY",
        "currency": "EUR",
        "current": "0.00 EUR",
        "available": "0.00 EUR",
        "blocked": "0.00 EUR"
      }
    },
    "iban": "LT613500048962615846",
    "activationStatus": "ACTIVATED"
  }
}

Individual Activation API

Activate individual customer accounts after verification and consent acceptance.
Base URL: https://sandbox.finhub.cloud/api/v2.1/customer/individual

Available Operations

Activate Customer

POST /{customerId}/activation

Check Activation

GET /{customerId}/owner/{ownerId}/activation/check

Upload for Activation

POST /{customerId}/owner/{ownerId}/activation/upload

Approve Activation

POST /{customerId}/owner/{ownerId}/activation/approve

Activate Customer

Activates an individual customer account after verification and consent acceptance.

Prerequisites

All prerequisites must be met before activation can succeed. Use the Check Activation endpoint first to verify readiness.

Pre-Activation Validation Checklist

1

Customer Registration Complete

Customer must be registered with status CS_REGISTRATION_COMPLETED
2

Verification Approved

Identity verification must be in status APPROVED
  • For standard customers: TENANT_VERIFIED level required
  • For high-risk customers: POWER_TENANT_VERIFIED level required
3

All Required Consents Accepted

Three mandatory consents must be accepted:
  • ✅ Terms and Conditions (TERMS_AND_CONDITIONS)
  • ✅ Privacy Policy (PRIVACY_POLICY)
  • ✅ Data Processing (DATA_PROCESSING)
4

Activation Code Received

Customer must have received the activation code via email
5

Valid Session

Customer must be authenticated with a valid JWT token
For complete details on authentication, compliance headers, and SDK implementation examples, refer to the Standard HTTP Headers reference documentation.

Check Activation Readiness

Before attempting activation, always check if the customer is ready: Endpoint: GET /{customerId}/owner/{ownerId}/activation/check Response:
{
  "code": 200,
  "message": "Activation readiness check",
  "data": {
    "canActivate": true,
    "verificationOk": true,
    "consentOk": true,
    "missingConsents": [],
    "verificationStatus": "APPROVED",
    "verificationLevel": "TENANT_VERIFIED"
  }
}
If canActivate: false, the response will indicate what’s missing.

Request

customerId
string
required
Customer identifier
Authorization
string
required
Bearer token for authentication
X-Tenant-ID
string
required
Tenant identifier
Content-Type
string
required
Must be application/json
X-Forwarded-For
string
required
Required for Compliance & AuditClient’s originating IP address for activation trackingExample: 192.168.1.100
User-Agent
string
required
Required for Compliance & AuditClient application identifier for security analysisExample: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
code
string
required
Activation code sent to customer emailExample: ACTIVATION_CODE_1768298633438
userId
string
required
Customer user ID or emailExample: [email protected]

Code Examples

curl -X POST "https://sandbox.finhub.cloud/api/v2.1/customer/individual/ff72a196-426a-4ab3-a2d3-e4c583a9bc88/activation" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: tenant_cloudvault" \
  -H "Content-Type: application/json" \
  -H "X-Forwarded-For: 192.168.1.100" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  -d '{
    "code": "ACTIVATION_CODE_1768298633438",
    "userId": "[email protected]"
  }'
{
  "code": 200,
  "message": "Success",
  "data": {
    "wallet": {
      "walletId": "26e4eacc-4d4b-47b1-836d-6819bdca1636",
      "iban": "LT613500048962615846",
      "currency": "EUR",
      "balance": "0",
      "reservedBalance": "0",
      "asset": {
        "assetType": "CURRENCY",
        "currency": "EUR",
        "current": "0.00 EUR",
        "available": "0.00 EUR",
        "blocked": "0.00 EUR"
      }
    },
    "iban": "LT613500048962615846",
    "activationStatus": "ACTIVATED"
  }
}

What Happens During Activation

When you call the activation endpoint, the system performs these actions automatically:
1

Validate Activation Code

Verifies the activation code is valid and not expired
2

Check All Prerequisites

Validates:
  • ✅ Verification status is APPROVED
  • ✅ All required consents are accepted
  • ✅ Customer status allows activation
3

Create Active Wallet

Creates a fully functional wallet with:
  • Unique IBAN assigned
  • BIC/SWIFT code assigned
  • Balance initialized to 0.00 EUR
  • Status set to ACTIVE
4

Update Customer Status

Changes customer status from PENDING_ACTIVATION to ACTIVE
5

Apply Category Features

Activates all features from the customer’s categorization:
  • Transaction limits
  • Allowed operations
  • Payment networks (SEPA, SWIFT)
6

Record Activation Metadata

Logs activation event with:
  • Activation timestamp
  • IP address (from X-Forwarded-For header)
  • User agent (from User-Agent header)
  • Activated by user ID

Common Activation Errors

Error: Invalid or Expired Activation Code

Problem:
{
  "code": 400,
  "message": "Invalid or expired activation code",
  "data": {
    "error": "INVALID_ACTIVATION_CODE"
  }
}
Causes:
  • Activation code already used
  • Code expired (typically 24-48 hours validity)
  • Code doesn’t match the customer
  • Typo in the activation code
Solution:
  1. Request a new activation code
  2. Check for typos in the code
  3. Ensure code hasn’t been used before

Error: Missing Required Consents

Problem:
{
  "code": 422,
  "message": "Customer cannot be activated - missing prerequisites",
  "data": {
    "error": "ACTIVATION_PREREQUISITES_NOT_MET",
    "details": {
      "consentOk": false,
      "verificationOk": true,
      "missingConsents": ["TERMS_AND_CONDITIONS", "PRIVACY_POLICY"]
    }
  }
}
Causes:
  • Not all three mandatory consents have been accepted
  • Consent acceptance failed or was revoked
Solution:
  1. Check activation readiness using GET /activation/check
  2. Accept missing consents:
    • POST /consents/terms - Terms and Conditions
    • POST /consents/privacy - Privacy Policy
    • POST /consents/data-processing - Data Processing
  3. Retry activation
Prevention: Always check activation readiness before attempting activation.

Error: Verification Not Approved

Problem:
{
  "code": 422,
  "message": "Customer verification not approved",
  "data": {
    "error": "VERIFICATION_NOT_APPROVED",
    "verificationStatus": "PENDING_REVIEW",
    "details": "Customer must complete KYC verification before activation"
  }
}
Causes:
  • Verification documents not submitted
  • Verification still under review
  • Verification rejected
Solution:
  1. Check verification status: GET /customer/individual/{customerId}/verification
  2. If PENDING_DOCUMENTS: Submit required documents
  3. If PENDING_REVIEW: Wait for review completion (1-3 business days)
  4. If REJECTED: Review rejection reason and resubmit

Error: Customer Already Activated

Problem:
{
  "code": 409,
  "message": "Customer is already activated",
  "data": {
    "error": "CUSTOMER_ALREADY_ACTIVE",
    "activationStatus": "ACTIVATED",
    "activatedAt": "2026-01-12T10:30:00Z"
  }
}
Solution:
  • Customer is already active, no action needed
  • Proceed to wallet operations

What Happens After Activation

Once activation is successful:

1. Customer Can Access Financial Operations

View Wallet Balance

GET /fintrans/{accountId}/balance

Check Allowed Operations

GET /fintrans/{accountId}/allowed-operations

Add Beneficiaries

POST /fintrans/{accountId}/beneficiaries

Create Payment Consents

POST /fintrans/{walletId}/payment-consents

2. Next Steps

1

Fund the Wallet

Top-up the wallet to start making transactionsSee Wallet Operations for funding methods
2

Register Beneficiaries

Add beneficiary accounts for transfersSee Beneficiary Management
3

Set Up Payment Consents

Define transaction limits and approval workflowsSee Payment Consents
4

Execute First Transaction

Prepare and execute a transferSee Transfers

3. Wallet Information

After activation, you receive:
FieldDescriptionExample
walletIdUnique wallet identifier26e4eacc-4d4b-47b1-836d-6819bdca1636
ibanInternational Bank Account NumberLT613500048962615846
bicBank Identifier CodeREVOLT21
currencyWallet currencyEUR
balanceCurrent balance (in cents)0
statusWallet statusACTIVE

API Schema Reference

For the complete OpenAPI schema specification of this endpoint, including all request and response structures, see the API Schema Mapping document.

Check Activation Status

Checks the activation status and readiness for a customer under a specific owner tenant.

Request

customerId
string
required
Customer identifier
ownerTenantId
string
required
Owner tenant identifier

Code Examples

curl -X GET "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/owner/tenant_67890/activation/check" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID"
{
  "code": 200,
  "message": "Activation check completed",
  "data": {
    "activationAllowed": false,
    "consentOk": false,
    "verificationOk": true,
    "powerTenantApprovalOk": true,
    "powerTenantApprovalRequired": false,
    "riskLevel": "LOW",
    "isHighRisk": false,
    "customerId": "ff72a196-426a-4ab3-a2d3-e4c583a9bc88",
    "powerTenant": "d1e2f3a4-b5c6-47d8-9e0f-1a2b3c4d5e6f",
    "ownerTenant": "d1e2f3a4-b5c6-47d8-9e0f-1a2b3c4d5e6f"
  }
}

Status Flags

FlagDescriptionRequired
activationAllowedOverall activation statusMust be true
consentOkAll required consents acceptedMust be true
verificationOkKYC verification approvedMust be true
powerTenantApprovalOkTenant approval grantedIf required
If activationAllowed is false, check individual flags to determine what’s missing.Common issues:
  • consentOk: false → Accept required consents (terms, privacy, data-processing)
  • verificationOk: false → Complete and approve verification workflows

Upload Activation Documents

Uploads additional documents required for activation under a specific owner tenant.

Request

customerId
string
required
Customer identifier
ownerTenantId
string
required
Owner tenant identifier
documentType
string
required
Document type being uploaded
file
file
required
Document file (multipart/form-data)

Code Examples

curl -X POST "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/owner/tenant_67890/activation/upload" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -F "documentType=PROOF_OF_ADDRESS" \
  -F "file=@/path/to/document.pdf"
{
  "success": true,
  "data": {
    "documentId": "doc_12345",
    "customerId": "cust_12345",
    "documentType": "PROOF_OF_ADDRESS",
    "status": "UPLOADED",
    "uploadedAt": "2024-01-15T10:30:00Z"
  }
}

Approve Activation

Approves customer activation under a specific owner tenant (requires admin privileges).

Request

customerId
string
required
Customer identifier
ownerTenantId
string
required
Owner tenant identifier
approvalNotes
string
Notes for the approval

Code Examples

curl -X POST "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/owner/tenant_67890/activation/approve" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "approvalNotes": "All documents verified, customer approved"
  }'
{
  "success": true,
  "data": {
    "customerId": "cust_12345",
    "ownerTenantId": "tenant_67890",
    "status": "ACTIVE",
    "activatedAt": "2024-01-15T14:00:00Z",
    "accountId": "acc_67890",
    "walletId": "wal_11111",
    "approvedBy": "admin_user"
  }
}

Activation Flow

1

Check Readiness

Call /activation/check to verify all requirements are met
2

Upload Missing Documents

Use /activation/upload to submit any missing documents
3

Approve Activation

Admin calls /activation/approve to activate the customer
4

Account Created

Customer receives account and wallet IDs

Activation Types

TypeDescription
STANDARDNormal activation process
EXPEDITEDFast-track activation (if eligible)

Response Codes

CodeDescription
200Operation successful
201Document uploaded successfully
400Prerequisites not met
401Not Authorized
403Insufficient permissions
404Customer not found
422Customer not verified
500Internal server error


Changelog

VersionDateChanges
v2.12026-01-13Added compliance headers, comprehensive error scenarios, business logic documentation
v2.02025-12-01Initial activation API release