Clients API
Overview
The Clients API provides comprehensive customer management capabilities, including client onboarding, KYC management, and customer profile maintenance. This module handles all customer-related operations from creation to lifecycle management.
Available Operations
- Create Client - Onboard new customers with KYC details
- Update Client - Modify customer information and profiles
- Retrieve Client By ID - Get detailed customer information
- Search Clients - Find customers with advanced filters and dynamic predicates
- KYC Management - Handle Know Your Customer documentation
- Client Status Management - Approve, reject, blacklist, or exit customers
Client Lifecycle & State Transitions
Understanding the client lifecycle is crucial for managing customer onboarding and status changes. Below is a state transition diagram showing all possible states and the actions that trigger transitions.
State Descriptions
| State | Description | Allowed Actions |
|---|---|---|
| Pending Approval | Newly created client awaiting approval | Approve, Reject |
| Approved | Client approved but no activity yet | Create Accounts, Blacklist |
| Active | Client has active accounts/transactions | View, Update, Blacklist |
| Rejected | Client application rejected | View only |
| BlackListed | Client blocked from transactions | Remove from Blacklist |
| Exited | Client relationship terminated | View only (archived) |
State Change Commands
| Action | Command | From State | To State |
|---|---|---|---|
| Create Client | CreateContactCommand | - | Pending Approval |
| Approve Client | ApproveCustomerCommand | Pending Approval | Approved |
| Reject Client | RejectCustomerCommand | Pending Approval | Rejected |
| Blacklist Client | BlacklistCustomerCommand | Approved, Active | BlackListed |
| Remove from Blacklist | UndoBlacklistCustomerCommand | BlackListed | Pending Approval |
| First Transaction | Automatic | Approved | Active |
API Endpoint Format
All client-related commands and queries use the standard BPM endpoint format:
Commands (Write Operations):
POST /api/bpm/cmd
Content-Type: application/json
Authorization: Bearer {access_token}
Queries (Read Operations):
POST /api/bpm/qry
Content-Type: application/json
Authorization: Bearer {access_token}
Documentation Pages
Refer to individual pages for detailed API documentation on each operation.
Related Modules
- Deposit Accounts - Customer account management
- Loan Accounts - Customer loan management
Handler: AdministrationCoreContactCommandHandlers