Customer Details
The Customer Details API allows you to retrieve the full profile of a specific customer registered for transaction monitoring. This includes personal information, addresses, bank accounts, onboarding history, and risk status.
API Endpoint
GET {base_url}/transactions/monitoring/customer/{customerId}
Request Format
This endpoint accepts a GET request with the customer ID as a path parameter.
Request Headers
Authorization: Bearer {token}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string (UUID) | Yes | Unique identifier of the customer |
Example Request URL
GET {base_url}/transactions/monitoring/customer/a1b2c3d4-5678-90ab-cdef-1234567890ab
Response Format
{
"version": null,
"statusCode": 200,
"messages": ["Processed successfully"],
"result": {
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+966501234567",
"entityType": "Individual",
"organizationName": null,
"onboardingStatus": "NoMailSent",
"accountStatus": "Active",
"userType": "New",
"riskStatus": "NoRisk",
"onboardedBy": "admin",
"oldUserId": null,
"country_Iso": "",
"leanCustomerId": null,
"leanConnectionId": null,
"createdAt": "2025-03-15T10:30:00Z",
"updatedAt": "2025-03-15T10:30:00Z",
"addresses": [
{
"id": "b2c3d4e5-6789-01ab-cdef-2345678901ab",
"customerId": "",
"customer": null,
"address1": "123 Main Street, Suite 100",
"address2": null,
"city": "Riyadh",
"state": "Riyadh",
"country": "SA",
"pincode": "12345",
"type": "Home",
"isPrimary": false,
"createdAt": "2025-03-15T11:00:00Z",
"updatedAt": "2025-03-15T11:00:00Z"
}
],
"bankAccounts": [
{
"tenantId": null,
"id": "c3d4e5f6-7890-12ab-cdef-3456789012ab",
"customerId": null,
"customer": null,
"accountNumber": "1234567890",
"bank": "Example Bank",
"accountType": "Savings",
"currency": "USD",
"iban": "",
"bicCode": null,
"balance": 8410.61,
"poBoxNumber": null,
"createdAt": "2025-03-15T10:45:00Z",
"updatedAt": "2025-03-15T10:45:00Z"
}
],
"onboardingHistories": [
{
"id": "d4e5f6a7-8901-23ab-cdef-4567890123ab",
"action": "CustomerAdded",
"bankStatementId": null,
"addedBy": "Admin",
"createdAt": "2025-03-15T10:30:01Z",
"updatedAt": "2025-03-15T10:30:01Z"
}
],
"leanBankAccounts": [],
"fullName": "John Doe"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
version | string | API version (nullable) |
statusCode | number | HTTP status code |
messages | string[] | Response messages |
result | object | Customer details object |
Customer Object
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique customer identifier |
firstName | string | Customer's first name |
lastName | string | Customer's last name |
email | string | Customer's email address |
phoneNumber | string | Customer's phone number (E.164 format) |
entityType | string | Customer entity type — Individual or Organization |
organizationName | string | Organization name (nullable, populated for Organization entity type) |
onboardingStatus | string | Current onboarding status (see Onboarding Status Values) |
accountStatus | string | Account status — Active or Inactive |
userType | string | User type — New or Existing |
riskStatus | string | Risk level (see Risk Status Values) |
onboardedBy | string | Name of the officer or system that onboarded the customer |
oldUserId | string | Legacy user identifier (nullable) |
country_Iso | string | 2-letter ISO country code |
leanCustomerId | string | Lean banking customer identifier (nullable) |
leanConnectionId | string | Lean banking connection identifier (nullable) |
createdAt | string | ISO 8601 timestamp of when the customer was created |
updatedAt | string | ISO 8601 timestamp of the last update |
addresses | array | List of customer addresses |
bankAccounts | array | List of manually added bank accounts |
onboardingHistories | array | List of onboarding history events |
leanBankAccounts | array | List of Lean-connected bank accounts |
fullName | string | Computed full name (firstName + lastName) |
Address Object
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique address identifier |
customerId | string | Associated customer identifier |
customer | object | Customer reference (nullable) |
address1 | string | Primary address line |
address2 | string | Secondary address line (nullable) |
city | string | City name |
state | string | State or province |
country | string | Country name or code |
pincode | string | Postal or ZIP code |
type | string | Address type — Home, Work, or Other |
isPrimary | boolean | Whether this is the primary address |
createdAt | string | ISO 8601 timestamp of when the address was created |
updatedAt | string | ISO 8601 timestamp of the last update |
Bank Account Object
| Field | Type | Description |
|---|---|---|
tenantId | string | Tenant identifier (nullable) |
id | string (UUID) | Unique bank account identifier |
customerId | string | Associated customer identifier (nullable) |
customer | object | Customer reference (nullable) |
accountNumber | string | Bank account number |
bank | string | Bank name |
accountType | string | Account type (e.g., Savings, Current, N/A) |
currency | string | 3-letter ISO currency code (e.g., USD, SAR, AED) |
iban | string | International Bank Account Number |
bicCode | string | Bank Identifier Code / SWIFT code (nullable) |
balance | number | Current account balance |
poBoxNumber | string | P.O. Box number (nullable) |
createdAt | string | ISO 8601 timestamp of when the account was added |
updatedAt | string | ISO 8601 timestamp of the last update |
Onboarding History Object
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique history entry identifier |
action | string | Action performed (see Onboarding History Actions) |
bankStatementId | string | Associated bank statement identifier (nullable) |
addedBy | string | User or system that performed the action |
createdAt | string | ISO 8601 timestamp of when the action occurred |
updatedAt | string | ISO 8601 timestamp of the last update |
Onboarding Status Values
| Status | Description |
|---|---|
Verified | Customer has completed verification |
Pending | Verification is in progress |
Invited | Invitation has been sent |
EmailSent | Verification email sent |
EmailChanged | Customer changed their email |
NotVerified | Customer has not completed verification |
NoMailSent | No invitation email has been sent yet |
LinkExpired | The verification link has expired |
Risk Status Values
| Status | Description |
|---|---|
NoRisk | No risk detected |
Low | Low risk |
Medium | Medium risk |
High | High risk |
Prohibited | Customer is prohibited |
Onboarding History Actions
| Action | Description |
|---|---|
CustomerAdded | Customer was registered for transaction monitoring |
BankStatementAdded | A bank statement was uploaded for the customer |
FileUploadFailed | A file upload attempt failed |
Example Usage
cURL Example
curl -X GET \
'{base_url}/transactions/monitoring/customer/a1b2c3d4-5678-90ab-cdef-1234567890ab' \
-H 'Authorization: Bearer your_token_here'
Error Handling
| Status Code | Description | Solution |
|---|---|---|
| 400 | Invalid customer ID format | Ensure the customerId is a valid UUID |
| 401 | Unauthorized | Verify your authentication token |
| 403 | Forbidden | Check that your account has the required permissions |
| 404 | Customer not found | Verify the customer ID exists |
| 500 | Internal server error | Contact support with the error details |
Related Resources
- Add User — Register an individual for transaction monitoring
- Add Company — Register a company for transaction monitoring
- Onboarding Pending — View pending onboarding customers
- Add Bank Statement — Upload a bank statement for a customer