Manage Customer Accounts
To process payments through Inventi, accounts need to be registered in the platform. You have two options:Use Existing IBANs
Forward your existing customer IBANs to the platform for payment processing
Generate New IBANs
Create new accounts with Inventi-generated IBANs connected to CENTROlink and EKS
In this section, you’ll learn how to:
- Register accounts (existing or new) in the platform
- Support both private individuals and business entities
- Manage account lifecycle (open, close, update)
Account Types
Private Accounts
Individual customer accounts with personal holder identity
Legal Accounts
Business accounts requiring organization identification
API Reference
Search Accounts
Find accounts with cursor pagination
Create Account
Create a new customer account
Get Account
Retrieve account details by ID
Update Account
Modify account information
Change Status
Open or close an account
Business Requirements
Account registration must be idempotent
Account registration must be idempotent
Every
POST /accounts request must include an Idempotency-Key header to prevent duplicate accounts during retries.Implementation:- Generate a UUID per account creation intent
- Persist the key until creation is confirmed
- Retry with the same key if timeout occurs
clientAccountId must be unique
clientAccountId must be unique
Your
clientAccountId links platform accounts to your internal records and must be unique across your system.Store this mapping:Enforce a uniqueness constraint in your database before calling the API.
Account type determines required fields
Account type determines required fields
| Type | Required Fields |
|---|---|
PRIVATE | Personal holder identity fields |
LEGAL | organisationIdentification object |
Account type cannot be changed after creation.
Status changes require dedicated endpoint
Status changes require dedicated endpoint
Never change account status through the update endpoint.
| Operation | Endpoint |
|---|---|
| Update data | PATCH /accounts/{id} |
| Change status | POST /accounts/{id}/status |
Search must use cursor pagination
Search must use cursor pagination
The accounts endpoint uses cursor-based pagination for consistent results.Rules:
limit: 1-100 (default 20)- Use
meta.nextPageTokento page forward - Use
meta.previousPageTokento page backward - Treat tokens as opaque (do not parse)
Audit logging is required
Audit logging is required
Log these events for compliance:
- Account registration (clientAccountId, platform ID, IBAN)
- Status changes (who, when, old → new)
- Update operations (before → after values)
- API failures and response codes
Account Lifecycle
Register an Account
Use this endpoint to register a new account in the platform. If you provide bank details (countryCode, bankCode, accountCode), Inventi generates a new IBAN. Alternatively, you can register existing IBANs by providing them directly.Request Fields
- Required
- Optional
PRIVATE or LEGALFull name of account holder
Your unique identifier for this account
ISO country code (e.g.,
LT)Bank identifier code
Account number suffix
Response Codes
| Code | Description |
|---|---|
201 | Account created successfully |
400 | Invalid request (validation error) |
409 | Duplicate clientAccountId |
500 | Internal server error |
Account Operations
- Get Account
- Update Account
- Change Status
Retrieve account details by platform ID.
| Code | Description |
|---|---|
200 | Account found |
404 | Account not found |
Search Accounts
Use cursor-based pagination to search and list accounts.Filter Parameters
| Parameter | Type | Description |
|---|---|---|
iban | string | Exact IBAN match |
clientAccountId | string | Exact match |
accountHolderName | string | Partial match |
status | string | OPEN or CLOSED |
limit | integer | Results per page (1-100) |
Pagination Flow
Data Model
Store these fields for each account:Platform account ID (primary key)
Your internal reference (unique)
Generated IBAN for the account
OPEN or CLOSEDPRIVATE or LEGALAccount holder’s name
Status changes and updates with timestamps
Integration Checklist
1
Implement idempotent creation
Generate and persist
Idempotency-Key for each account creation intent2
Enforce unique clientAccountId
Add database constraint before calling the API
3
Store account mappings
Persist
clientAccountId ⇄ id ⇄ iban relationships4
Separate data and status updates
Use
PATCH for data, /status endpoint for open/close5
Implement cursor pagination
Handle
nextPageToken and previousPageToken for account listing6
Add audit logging
Log all create, update, and status change operations