LoadEntitiesCommand - Entity Field Reference
Overview
This document lists all available fields for each queryable entity in the LoadEntitiesCommand. Use this as a reference when constructing your fields parameter.
Click on any entity below to expand and see all available fields. Fields marked with 🔒 are blocked for security and cannot be queried.
When referencing fields, always use the full repository name exactly as shown in this documentation:
✅ Correct: LoanQuoteRepo.Id, LoanQuoteRepo.LoanAmount, UserRepo.EmailAddress
❌ Wrong: Using shortened names, brackets, or any other notation
Why This Matters:
- Ensures consistent API usage
- Maintains security through proper abstraction
- Prevents unauthorized access to internal structures
Example:
fields: 'LoanQuoteRepo.Id, LoanQuoteRepo.QuoteId, UserRepo.EmailAddress'
The system handles all internal processing securely behind the scenes.
Self-Service Entities
UserRepo - Self-service users (Click to expand)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | User ID (Primary Key) | ✅ Safe |
UserId | string | User login ID/email | ✅ Safe |
EmailAddress | string | User email address | ✅ Safe |
RoleId | int? | User role ID | ✅ Safe |
UserDetailId | long? | Foreign key to UserDetail | ✅ Safe |
UserSecurityId | long | Foreign key to UserSecurity | ✅ Safe |
UserStatus | enum | User status (Active/Inactive) | ✅ Safe |
IsProfileAdmin | bool | Is profile administrator | ✅ Safe |
UserClassification | enum | User classification | ✅ Safe |
AccountType | enum | Account type | ✅ Safe |
CorporateProfileId | long? | Corporate profile ID (if applicable) | ✅ Safe |
CBCustomerId | string | Core banking customer ID | ✅ Safe |
DefaultBranchId | long | Default branch ID | ✅ Safe |
PrimaryAccount | string | Primary account number | ✅ Safe |
BiometricsId | string | Biometrics ID reference | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Blocked Fields 🔒
| Field Name | Reason |
|---|---|
Password | Security - Authentication secret |
PasswordHash | Security - Authentication secret |
TwoFASecretKey | Security - 2FA secret |
SecurityAnswer1-3 | Security - Security questions |
Example Query
{
"entity": "UserRepo",
"fields": "Id, UserId, EmailAddress, UserStatus, DefaultBranchId, DateCreated"
}
BranchRepo - Self-service branches (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Branch ID (Primary Key) |
BranchName | string | Branch name |
BranchCode | string | Branch code |
AreaId | long? | Area ID |
DivisionId | long? | Division ID |
IsActive | bool | Is branch active |
Address | string | Branch address |
PhoneNumber | string | Contact phone |
EmailAddress | string | Contact email |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
Example Query
{
"entity": "BranchRepo",
"fields": "Id, BranchName, BranchCode, IsActive",
"filter": "IsActive = 1",
"order": ["BranchName"]
}
LoanQuoteRepo ⭐ - Loan quotes/applications (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Loan quote ID (Primary Key) | ✅ Safe |
QuoteId | string | Unique quote identifier | ✅ Safe |
QuoteEmailAddress | string | Applicant email | ✅ Safe |
QuoteExpiryDate | datetime? | Quote expiration date | ✅ Safe |
ProductId | long | Loan product ID | ✅ Safe |
PlanId | long? | Loan plan ID | ✅ Safe |
RequestedAmount | decimal | Requested loan amount | ✅ Safe |
LoanAmount | decimal | Approved loan amount | ✅ Safe |
InterestRate | decimal | Interest rate | ✅ Safe |
LoanTenorType | enum | Tenor type (Days/Weeks/Months/Years) | ✅ Safe |
LoanTenor | int | Loan tenor value | ✅ Safe |
StartDate | datetime? | Loan start date | ✅ Safe |
EndDate | datetime? | Loan end date | ✅ Safe |
SelfServiceUserId | long? | User ID (if registered) | ✅ Safe |
QuoteUserId | long? | Quote user ID (if unregistered) | ✅ Safe |
CurrentApprovalLevel | enum | Current approval level | ✅ Safe |
ApprovalState | enum | Approval status | ✅ Safe |
DisbursementState | enum | Disbursement status | ✅ Safe |
RepaymentAmount | decimal | Monthly repayment amount | ✅ Safe |
CBAccountNumber | string | Core banking account number | ✅ Safe |
SelfServiceBranchId | long | Branch ID | ✅ Safe |
RequestId | string | Request tracking ID | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Pending Loan Quotes
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'LoanQuoteRepo',
fields: 'Id, QuoteId, RequestedAmount, LoanAmount, ApprovalState, CurrentApprovalLevel, DateCreated',
filter: 'ApprovalState = 1',
order: ['DateCreated'],
page: 1,
size: 20
}
});
Example with JOIN - Loan Quote with User Details
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'LoanQuoteRepo',
fields: 'LoanQuoteRepo.Id, LoanQuoteRepo.QuoteId, LoanQuoteRepo.LoanAmount, UserRepo.EmailAddress, UserRepo.UserId',
joins: ['UserRepo'],
filter: 'LoanQuoteRepo.ApprovalState = 3'
}
});
Always use full repo names (e.g., LoanQuoteRepo.Id, UserRepo.EmailAddress) to reference fields from joined tables. This prevents exposing internal database structure.
UserDetailRepo ⭐ - User personal details (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | User detail ID (Primary Key) | ✅ Safe |
FirstName | string | First name | ✅ Safe |
LastName | string | Last name | ✅ Safe |
MiddleName | string | Middle name | ✅ Safe |
DateOfBirth | datetime? | Date of birth | ✅ Safe |
Gender | string | Gender | ✅ Safe |
MobileNumber | string | Mobile phone number | ✅ Safe |
MobileCountryCode | string | Country code | ✅ Safe |
DisplayName | string | Display name | ✅ Safe |
IdNumber | string | ID card number | ✅ Safe |
CustomerCorePlatformReference | string | Core banking reference | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get User Names
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'UserDetailRepo',
fields: 'Id, FirstName, LastName, MiddleName, DisplayName, MobileNumber',
filter: 'Id = 123'
}
});
Example with JOIN - User with Details
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'UserRepo',
fields: 'UserRepo.UserId, UserRepo.EmailAddress, UserDetailRepo.FirstName, UserDetailRepo.LastName, UserDetailRepo.MobileNumber',
joins: ['UserDetailRepo'],
filter: 'UserRepo.UserStatus = 1'
}
});
GuaratorInformationRepo ⭐ - Guarantor information (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Guarantor ID (Primary Key) | ✅ Safe |
LoanQuoteId | long | Loan quote ID (Foreign Key) | ✅ Safe |
FirstName | string | Guarantor first name | ✅ Safe |
LastName | string | Guarantor last name | ✅ Safe |
MiddleName | string | Guarantor middle name | ✅ Safe |
EmailAddress | string | Guarantor email | ✅ Safe |
PhoneNumber | string | Guarantor phone | ✅ Safe |
Address | string | Guarantor address | ✅ Safe |
RelationshipToApplicant | string | Relationship type | ✅ Safe |
Occupation | string | Guarantor occupation | ✅ Safe |
EmployerName | string | Employer name | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Guarantors for Loan
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'GuaratorInformationRepo',
fields: 'Id, FirstName, LastName, EmailAddress, PhoneNumber, RelationshipToApplicant',
filter: 'LoanQuoteId = 456'
}
});
Example with JOIN - Loan with Guarantors
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'LoanQuoteRepo',
fields: 'LoanQuoteRepo.QuoteId, LoanQuoteRepo.LoanAmount, GuaratorInformationRepo.FirstName, GuaratorInformationRepo.LastName, GuaratorInformationRepo.PhoneNumber',
joins: ['GuaratorInformationRepo'],
filter: 'LoanQuoteRepo.Id = 456'
}
});
NextOfKinInformationRepo ⭐ - Next of kin details (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Next of kin ID (Primary Key) | ✅ Safe |
LoanQuoteId | long | Loan quote ID (Foreign Key) | ✅ Safe |
FirstName | string | Next of kin first name | ✅ Safe |
LastName | string | Next of kin last name | ✅ Safe |
MiddleName | string | Next of kin middle name | ✅ Safe |
EmailAddress | string | Next of kin email | ✅ Safe |
PhoneNumber | string | Next of kin phone | ✅ Safe |
Address | string | Next of kin address | ✅ Safe |
Relationship | string | Relationship to applicant | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Next of Kin
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'NextOfKinInformationRepo',
fields: 'Id, FirstName, LastName, PhoneNumber, Relationship',
filter: 'LoanQuoteId = 789'
}
});
EmploymentInformationRepo ⭐ - Employment records (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Employment ID (Primary Key) | ✅ Safe |
LoanQuoteId | long | Loan quote ID (Foreign Key) | ✅ Safe |
EmployerName | string | Employer name | ✅ Safe |
EmployerAddress | string | Employer address | ✅ Safe |
EmployerPhoneNumber | string | Employer phone | ✅ Safe |
EmploymentStatus | string | Employment status | ✅ Safe |
JobTitle | string | Job title/position | ✅ Safe |
MonthlyIncome | decimal | Monthly income | ✅ Safe |
EmploymentStartDate | datetime? | Employment start date | ✅ Safe |
YearsInService | int | Years of service | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Employment Info
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'EmploymentInformationRepo',
fields: 'Id, EmployerName, JobTitle, MonthlyIncome, EmploymentStatus',
filter: 'LoanQuoteId = 101'
}
});
Example with JOIN - Loan with Employment
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'LoanQuoteRepo',
fields: 'LoanQuoteRepo.QuoteId, LoanQuoteRepo.RequestedAmount, EmploymentInformationRepo.EmployerName, EmploymentInformationRepo.MonthlyIncome',
joins: ['EmploymentInformationRepo'],
filter: 'LoanQuoteRepo.ApprovalState = 1'
}
});
SelfServiceIdentityInformationRepo ⭐ - Identity documents (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Identity ID (Primary Key) | ✅ Safe |
LoanQuoteId | long? | Loan quote ID (if applicable) | ✅ Safe |
SelfServiceUserId | long? | User ID (if applicable) | ✅ Safe |
IdentityType | enum | ID type (Passport, Driver's License, etc.) | ✅ Safe |
IdentityNumber | string | ID number | ⚠️ Consider sensitive |
IssueDate | datetime? | Issue date | ✅ Safe |
ExpiryDate | datetime? | Expiry date | ✅ Safe |
IssuingAuthority | string | Issuing authority | ✅ Safe |
DocumentPath | string | Document file path | ✅ Safe |
VerificationStatus | enum | Verification status | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Identity Documents
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'SelfServiceIdentityInformationRepo',
fields: 'Id, IdentityType, IssueDate, ExpiryDate, VerificationStatus',
filter: 'LoanQuoteId = 202 AND VerificationStatus = 2'
}
});
SelfServiceAddressInformationRepo ⭐ - Address records (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Address ID (Primary Key) | ✅ Safe |
LoanQuoteId | long? | Loan quote ID (if applicable) | ✅ Safe |
SelfServiceUserId | long? | User ID (if applicable) | ✅ Safe |
AddressLine1 | string | Address line 1 | ✅ Safe |
AddressLine2 | string | Address line 2 | ✅ Safe |
City | string | City | ✅ Safe |
State | string | State/Province | ✅ Safe |
PostalCode | string | Postal/ZIP code | ✅ Safe |
Country | string | Country | ✅ Safe |
AddressType | string | Address type (Residential/Office) | ✅ Safe |
VerificationStatus | enum | Verification status | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Addresses
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'SelfServiceAddressInformationRepo',
fields: 'Id, AddressLine1, City, State, Country, AddressType',
filter: 'LoanQuoteId = 303'
}
});
SelfServiceDisbursementInformationRepo ⭐ - Disbursement details (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Disbursement ID (Primary Key) | ✅ Safe |
LoanQuoteId | long | Loan quote ID (Foreign Key) | ✅ Safe |
AccountNumber | string | Disbursement account number | ✅ Safe |
AccountName | string | Account name | ✅ Safe |
BankName | string | Bank name | ✅ Safe |
BankCode | string | Bank code | ✅ Safe |
AccountType | string | Account type (Savings/Current) | ✅ Safe |
DisbursementAmount | decimal | Disbursement amount | ✅ Safe |
DisbursementDate | datetime? | Disbursement date | ✅ Safe |
Status | enum | Disbursement status | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Disbursement Info
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'SelfServiceDisbursementInformationRepo',
fields: 'Id, AccountNumber, AccountName, BankName, DisbursementAmount, Status',
filter: 'LoanQuoteId = 404'
}
});
SelfServiceLoanCollectionInformationRepo ⭐ - Collection account info (Click to expand)
Added: v2.2 (Jan 2026)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Collection ID (Primary Key) | ✅ Safe |
LoanQuoteId | long | Loan quote ID (Foreign Key) | ✅ Safe |
AccountNumber | string | Repayment account number | ✅ Safe |
AccountName | string | Account name | ✅ Safe |
BankName | string | Bank name | ✅ Safe |
BankCode | string | Bank code | ✅ Safe |
AccountType | string | Account type | ✅ Safe |
CollectionMethod | string | Collection method (Direct Debit/Manual) | ✅ Safe |
MandateReference | string | Mandate reference number | ✅ Safe |
MandateStatus | enum | Mandate status | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
Example Query - Get Collection Info
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'SelfServiceLoanCollectionInformationRepo',
fields: 'Id, AccountNumber, AccountName, BankName, CollectionMethod, MandateStatus',
filter: 'LoanQuoteId = 505'
}
});
Example with JOIN - Loan with Collection Details
var result = doCmd('LoadEntitiesCommand', {
Data: {
entity: 'LoanQuoteRepo',
fields: 'LoanQuoteRepo.QuoteId, LoanQuoteRepo.RepaymentAmount, SelfServiceLoanCollectionInformationRepo.AccountNumber, SelfServiceLoanCollectionInformationRepo.BankName',
joins: ['SelfServiceLoanCollectionInformationRepo'],
filter: 'LoanQuoteRepo.DisbursementState = 2'
}
});
Core Banking Entities
ClientRepo - Bank clients/customers (Click to expand)
Available Fields
| Field Name | Type | Description | Notes |
|---|---|---|---|
Id | long | Client ID (Primary Key) | ✅ Safe |
ClientClassification | enum | Individual or Group | ✅ Safe |
ClientCode | string | Unique client code | ✅ Safe |
FirstName | string | Client first name | ✅ Safe |
MiddleName | string | Client middle name | ✅ Safe |
LastName | string | Client last name | ✅ Safe |
EncodedKey | string | Unique encoded key | ✅ Safe |
DateOfBirth | datetime? | Date of birth | ✅ Safe |
Gender | string | Gender | ✅ Safe |
BVN | string | Bank Verification Number | ⚠️ Consider sensitive |
ImageBase64 | string | Profile image (base64) | ✅ Safe |
MaritalStatus | enum? | Marital status | ✅ Safe |
DateCreated | datetime | Creation date | ✅ Safe |
LastUpdated | datetime | Last update date | ✅ Safe |
ClientState | enum | Client status | ✅ Safe |
ClientTypeId | long | Client type ID | ✅ Safe |
BranchId | long | Branch ID | ✅ Safe |
ClientBranchEncodedKey | string | Branch encoded key | ✅ Safe |
AccountOfficerEncodedKey | string | Account officer key | ✅ Safe |
AccountOfficer | string | Account officer name | ✅ Safe |
CreatedBy | string | Creator username | ✅ Safe |
CreatedByUserEncodedKey | string | Creator encoded key | ✅ Safe |
Notes | string | Client notes | ✅ Safe |
Blocked Fields 🔒
| Field Name | Reason |
|---|---|
SSN | Security - Personal identification |
NationalId | Security - Personal identification |
TaxId | Security - Personal identification |
Example Query
{
"entity": "ClientRepo",
"fields": "Id, ClientCode, FirstName, LastName, ClientState, BranchId, DateCreated",
"filter": "ClientState = 1 AND BranchId = 5",
"order": ["LastName", "FirstName"]
}
Example with JOIN
{
"entity": "ClientRepo",
"fields": "ClientRepo.Id, ClientRepo.FirstName, ClientRepo.LastName, BranchCoreRepo.BranchName",
"joins": ["BranchCoreRepo"],
"filter": "ClientRepo.ClientState = 1"
}
LoanAccountRepo - Loan accounts (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Loan account ID (Primary Key) |
ClientId | long | Client ID (Foreign Key) |
LoanProductId | long | Loan product ID (Foreign Key) |
AccountNumber | string | Loan account number |
LoanState | enum | Loan status (Pending, Active, Closed, etc.) |
LoanSubState | enum | Loan sub-status |
LoanAmount | decimal | Original loan amount |
Installments | int | Number of installments |
DisbursementChannelEncodedKey | string | Disbursement channel |
AnticipatedDisbursementDate | datetime? | Expected disbursement date |
FirstRepaymentDate | datetime? | First repayment date |
AccountOfficerBranchEncodedKey | string | Officer branch key |
AccountOfficerEncodedKey | string | Account officer key |
AccountOfficerName | string | Account officer name |
PrincipalDue | decimal | Principal due |
InterestDue | decimal | Interest due |
PenaltyDue | decimal | Penalty due |
FeeDue | decimal | Fee due |
PrincipalExpected | decimal | Expected principal |
InterestExpected | decimal | Expected interest |
FeesExpected | decimal | Expected fees |
PenaltyExpected | decimal | Expected penalty |
PrincipalPaid | decimal | Principal paid |
InterestPaid | decimal | Interest paid |
PenaltyPaid | decimal | Penalty paid |
FeePaid | decimal | Fee paid |
EncodedKey | string | Unique encoded key |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
ClientEncodedKey | string | Client encoded key |
Example Query
{
"entity": "LoanAccountRepo",
"fields": "Id, AccountNumber, LoanAmount, LoanState, PrincipalDue, InterestDue",
"filter": "LoanState = 2 AND ClientId = 123",
"order": ["DateCreated"]
}
Example with JOIN (Loan with Client Details)
{
"entity": "LoanAccountRepo",
"fields": "LoanAccountRepo.Id, LoanAccountRepo.AccountNumber, LoanAccountRepo.LoanAmount, ClientRepo.FirstName, ClientRepo.LastName",
"joins": ["ClientRepo"],
"filter": "LoanAccountRepo.LoanState = 2"
}
DepositAccountRepo - Deposit accounts (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Deposit account ID (Primary Key) |
ClientId | long | Client ID (Foreign Key) |
DepositProductId | long | Deposit product ID (Foreign Key) |
SigningInstructionCode | string | Signing instruction code |
AccountOfficerEncodedKey | string | Account officer key |
AccountOfficerName | string | Account officer name |
DepositAccountName | string | Account name |
AccountNumber | string | Account number |
DepositState | enum | Account status (Active, Closed, etc.) |
DepositAccountSubState | enum | Account sub-status |
DepositAccountType | enum | Account type (Savings, Current, etc.) |
AccountBalance | decimal | Current balance |
BlockedAmount | decimal | Blocked amount |
HoldAmount | decimal | Amount on hold |
UnclearedChequeAmount | decimal | Uncleared cheque amount |
Installments | int | Number of installments |
TransactionChannel | enum | Transaction channel |
MaximumWithdrawalAmount | decimal? | Max withdrawal limit |
FeeDue | decimal | Fee due |
TaxApplied | decimal | Tax applied |
TaxRate | decimal | Tax rate |
InterestAccrued | decimal | Interest accrued |
InterestDue | decimal | Interest due |
InterestRate | decimal | Interest rate |
MaturityDate | datetime? | Maturity date |
EncodedKey | string | Unique encoded key |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
IsOnFreeze | bool | Is account frozen |
Example Query
{
"entity": "DepositAccountRepo",
"fields": "Id, AccountNumber, DepositAccountName, AccountBalance, DepositState",
"filter": "DepositState = 1 AND ClientId = 123",
"order": ["AccountNumber"]
}
Example with JOIN (Account with Client Details)
{
"entity": "DepositAccountRepo",
"fields": "DepositAccountRepo.Id, DepositAccountRepo.AccountNumber, DepositAccountRepo.AccountBalance, ClientRepo.FirstName, ClientRepo.LastName, ClientRepo.PhoneNumber",
"joins": ["ClientRepo"],
"filter": "DepositAccountRepo.DepositState = 1 AND DepositAccountRepo.AccountBalance > 1000"
}
DepositTransactionRepo - Deposit transactions (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Transaction ID (Primary Key) |
DepositAccountId | long | Deposit account ID (Foreign Key) |
CBSTransactionId | long | CBS transaction ID (Foreign Key) |
TransactionAmount | decimal | Transaction amount |
Balance | decimal | Balance after transaction |
BranchEncodedKey | string | Branch encoded key |
TransactionEntryType | enum | Entry type (Debit/Credit) |
Narration | string | Transaction narration |
GLAccountId | long? | GL account ID |
CurrencyCode | string | Currency code |
BranchId | long? | Branch ID |
TransactionDate | datetime | Transaction date |
ValueDate | datetime | Value date |
BookingDate | datetime | Booking date |
CreatedBy | string | Creator username |
CreatedDate | datetime | Creation date |
Example Query
{
"entity": "DepositTransactionRepo",
"fields": "Id, TransactionAmount, Balance, TransactionEntryType, Narration, TransactionDate",
"filter": "DepositAccountId = 456 AND TransactionDate >= '2024-01-01'",
"order": ["TransactionDate"],
"page": 1,
"size": 50
}
Example with JOIN (Transaction with Account and Client)
{
"entity": "DepositTransactionRepo",
"fields": "DepositTransactionRepo.Id, DepositTransactionRepo.TransactionAmount, DepositTransactionRepo.Narration, DepositAccountRepo.AccountNumber, ClientRepo.FirstName, ClientRepo.LastName",
"joins": ["DepositAccountRepo", "ClientRepo"],
"filter": "DepositTransactionRepo.TransactionDate >= '2024-01-01' AND DepositTransactionRepo.TransactionAmount > 1000"
}
LoanTransactionRepo - Loan transactions (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Transaction ID (Primary Key) |
LoanAccountId | long | Loan account ID (Foreign Key) |
CBSTransactionId | long | CBS transaction ID (Foreign Key) |
TransactionAmount | decimal | Transaction amount |
PrincipalAmount | decimal | Principal amount |
InterestAmount | decimal | Interest amount |
PenaltyAmount | decimal | Penalty amount |
FeeAmount | decimal | Fee amount |
Balance | decimal | Balance after transaction |
TransactionType | enum | Transaction type (Disbursement, Repayment, etc.) |
TransactionEntryType | enum | Entry type (Debit/Credit) |
Narration | string | Transaction narration |
GLAccountId | long? | GL account ID |
CurrencyCode | string | Currency code |
BranchId | long? | Branch ID |
TransactionDate | datetime | Transaction date |
ValueDate | datetime | Value date |
BookingDate | datetime | Booking date |
CreatedBy | string | Creator username |
CreatedDate | datetime | Creation date |
Example Query
{
"entity": "LoanTransactionRepo",
"fields": "Id, TransactionAmount, PrincipalAmount, InterestAmount, TransactionType, TransactionDate",
"filter": "LoanAccountId = 789 AND TransactionType IN (1, 3)",
"order": ["TransactionDate"],
"page": 1,
"size": 50
}
Example with JOIN (Transaction with Loan and Client)
{
"entity": "LoanTransactionRepo",
"fields": "LoanTransactionRepo.Id, LoanTransactionRepo.TransactionAmount, LoanAccountRepo.AccountNumber, ClientRepo.FirstName, ClientRepo.LastName",
"joins": ["LoanAccountRepo", "ClientRepo"],
"filter": "LoanTransactionRepo.TransactionDate >= '2024-01-01'"
}
Additional Entities
DepositProductRepo - Deposit product definitions (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Product ID (Primary Key) |
ProductName | string | Product name |
ProductCode | string | Product code |
ProductType | enum | Product type |
InterestRate | decimal | Default interest rate |
MinimumBalance | decimal | Minimum balance |
MaximumBalance | decimal | Maximum balance |
IsActive | bool | Is product active |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
Example Query
{
"entity": "DepositProductRepo",
"fields": "Id, ProductName, ProductCode, InterestRate, IsActive",
"filter": "IsActive = 1",
"order": ["ProductName"]
}
LoanProductRepo - Loan product definitions (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | Product ID (Primary Key) |
ProductName | string | Product name |
ProductCode | string | Product code |
ProductType | enum | Product type |
InterestRate | decimal | Default interest rate |
MinimumAmount | decimal | Minimum loan amount |
MaximumAmount | decimal | Maximum loan amount |
MinimumTenor | int | Minimum tenor (months) |
MaximumTenor | int | Maximum tenor (months) |
IsActive | bool | Is product active |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
Example Query
{
"entity": "LoanProductRepo",
"fields": "Id, ProductName, ProductCode, InterestRate, MinimumAmount, MaximumAmount, IsActive",
"filter": "IsActive = 1",
"order": ["ProductName"]
}
GLAccountRepo - General Ledger accounts (Click to expand)
Available Fields
| Field Name | Type | Description |
|---|---|---|
Id | long | GL account ID (Primary Key) |
GLAccountCode | string | GL account code |
GLAccountName | string | GL account name |
GLAccountType | enum | Account type (Asset, Liability, etc.) |
GLAccountCategory | enum | Account category |
ParentGLAccountId | long? | Parent GL account ID |
IsActive | bool | Is account active |
AllowManualEntry | bool | Allow manual journal entries |
DateCreated | datetime | Creation date |
LastUpdated | datetime | Last update date |
Example Query
{
"entity": "GLAccountRepo",
"fields": "Id, GLAccountCode, GLAccountName, GLAccountType, IsActive",
"filter": "IsActive = 1 AND GLAccountType = 1",
"order": ["GLAccountCode"]
}
How to Discover Fields Programmatically
Option 1: Query INFORMATION_SCHEMA (SQL)
If you have database access:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Client'
ORDER BY ORDINAL_POSITION
Option 2: Use LoadEntitiesCommand with Wildcard
{
"entity": "ClientRepo",
"fields": "*",
"page": 1,
"size": 1
}
This returns all safe fields (sensitive fields are automatically filtered).
Option 3: Check Entity Models
Navigate to:
- Core Banking Entities:
BankLingo.Entities/Entities/ - Self-Service Entities:
BankLingo.Entities/Entities/Administration/BPMEntities.cs
Field Naming Conventions
Without JOINs
Use simple field names:
{
"fields": "Id, AccountNumber, AccountBalance, ClientId"
}
With JOINs
Use full repo names to reference joined fields:
{
"fields": "DepositAccountRepo.Id, DepositAccountRepo.AccountNumber, ClientRepo.FirstName, ClientRepo.LastName"
}
Always use full repository names (e.g., LoanQuoteRepo.Id, ClientRepo.FirstName) in your queries. Use only the names exactly as documented in the entity list.
Examples:
- ✅
LoanQuoteRepo.Id- Correct (matches documented name) - ✅
ClientRepo.FirstName- Correct (matches documented name) - ❌ Any variation or shortened format
Filter Expression Examples
Numeric Comparisons
AccountBalance > 1000
LoanAmount BETWEEN 10000 AND 50000
ClientId IN (1, 2, 3, 5)
String Comparisons
FirstName = 'John'
AccountNumber LIKE '001%'
EmailAddress LIKE '%@example.com'
Date Comparisons
DateCreated >= '2024-01-01'
TransactionDate BETWEEN '2024-01-01' AND '2024-12-31'
MaturityDate IS NOT NULL
Enum Comparisons
LoanState = 2 -- Active
DepositState = 1 -- Active
ClientState IN (1, 2) -- Active or Pending
Combined Filters
ClientState = 1 AND BranchId = 5 AND DateCreated >= '2024-01-01'
AccountBalance > 1000 OR BlockedAmount > 0
Security Notes
Automatically Blocked Fields 🔒
The following field name patterns are always blocked, regardless of entity:
Password,PasswordHash,PasswordSaltTwoFASecretKey,TwoFASecret,OTPSecretSecurityAnswer1,SecurityAnswer2,SecurityAnswer3ApiKey,ApiSecret,AccessToken,RefreshTokenPIN,TransactionPIN,CardPINCVV,CardCVV,CardSecurityCodeSSN,SocialSecurityNumber,TaxId,NationalIdFingerprint,BiometricData
Field Validation
All requested fields are validated for:
- ✅ Valid naming (alphanumeric, dots, brackets only)
- ✅ Not in blocked list
- ✅ Proper format (no SQL injection patterns)
Related Documentation
- Main Documentation:
LoadEntitiesCommand.md - JOINs & Listing:
LOADENTITIES_JOINS_AND_LISTING.md - Security Guide:
LOADENTITIES_SECURITY_IMPLEMENTATION.md - Quick Reference:
LOADENTITIES_QUICK_REFERENCE.md
Last Updated: December 26, 2024
Version: 2.1.0
Total Entities: 21 (10 Self-Service + 11 Core Banking)