GetActivitiesQuery
Retrieve activities with optional entity filtering. Supports filtering by entity type (Client, Loan, Deposit, User), date range, and text search.
Command Name
GetActivitiesQuery
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entity | string | No | Entity type filter: Client, Loan, Deposit, or User |
entityId | string | No | Database ID of the entity (alternative to encodedKey) |
encodedKey | string | No | Encoded key of the entity (alternative to entityId) |
startDate | string | No | Start date filter (YYYY-MM-DD format). Default: 10 years ago |
endDate | string | No | End date filter (YYYY-MM-DD format). Default: current date |
searchText | string | No | Search by username or account ID |
pageNumber | integer | No | Page number (default: 1) |
pageSize | integer | No | Items per page (default: 50) |
isExport | boolean | No | Export to Excel (default: false) |
Note: When using entity parameter, you must provide either entityId or encodedKey.
Request Example
All Activities (No Filter)
{
"Cmd": "GetActivitiesQuery",
"Data": {
"startDate": "2025-12-01",
"endDate": "2025-12-24",
"pageNumber": 1,
"pageSize": 50
}
}
Filter by Client
{
"Cmd": "GetActivitiesQuery",
"Data": {
"entity": "Client",
"entityId": "12345",
"startDate": "2025-01-01",
"pageSize": 50
}
}
Filter by Loan with Encoded Key
{
"Cmd": "GetActivitiesQuery",
"Data": {
"entity": "Loan",
"encodedKey": "8a80866e7f987654",
"pageSize": 100
}
}
Search by Username
{
"Cmd": "GetActivitiesQuery",
"Data": {
"searchText": "john.doe@example.com",
"startDate": "2025-12-01",
"pageSize": 50
}
}
Response Structure
{
"Status": "00",
"Message": "Activities retrieved successfully",
"Data": {
"activities": [
{
"Id": 1001,
"CreationDate": "2025-12-24T10:30:00",
"UserName": "jane.doe@banklingo.com",
"UserKey": "8a80866e7f123456",
"Action": "Create",
"ActivityDescription": "Created new deposit account",
"AffectedItemType": "DepositAccount",
"AffectedItemName": "Savings Account",
"AffectedItemId": "DEP-2025-00123",
"AffectedDepositName": "Savings Account",
"AffectedDepositEncodedKey": "8a80866e7f987654",
"AffectedDepositId": "DEP-2025-00123"
},
{
"Id": 1002,
"CreationDate": "2025-12-24T11:15:00",
"UserName": "john.smith@banklingo.com",
"UserKey": "8a80866e7f654321",
"Action": "Approval",
"ActivityDescription": "Approved loan application",
"AffectedItemType": "LoanAccount",
"AffectedItemName": "Personal Loan",
"AffectedItemId": "LN-2025-00456",
"AffectedLoanAccountName": "Personal Loan",
"AffectedLoanEncodedKey": "8a80866e7f111222",
"AffectedLoanId": "LN-2025-00456"
}
],
"totalRows": 150,
"totalPages": 3,
"currentPage": 1,
"pageSize": 50
}
}
Response Fields
Activity Object
| Field | Type | Description |
|---|---|---|
Id | long | Activity record ID |
CreationDate | datetime | When the activity occurred |
UserName | string | Username/email who performed the action |
UserKey | string | User's encoded key |
Action | string | Action performed (Create, Update, Delete, etc.) |
ActivityDescription | string | Detailed description of the activity |
AffectedItemType | string | Entity type affected (Customer, LoanAccount, DepositAccount, User) |
AffectedItemName | string | Name of the affected entity |
AffectedItemId | string | ID of the affected entity |
AffectedCustomerName | string | Client name (if applicable) |
AffectedCustomerEncodedKey | string | Client encoded key (if applicable) |
AffectedLoanAccountName | string | Loan name (if applicable) |
AffectedLoanEncodedKey | string | Loan encoded key (if applicable) |
AffectedLoanId | string | Loan account ID (if applicable) |
AffectedDepositName | string | Deposit name (if applicable) |
AffectedDepositEncodedKey | string | Deposit encoded key (if applicable) |
AffectedDepositId | string | Deposit account ID (if applicable) |
AffectedUserName | string | User name (if applicable) |
AffectedUserNameEncodedKey | string | User encoded key (if applicable) |
Pagination Fields
| Field | Type | Description |
|---|---|---|
totalRows | integer | Total number of matching activities |
totalPages | integer | Total number of pages |
currentPage | integer | Current page number |
pageSize | integer | Items per page |
Error Responses
Invalid Entity Type
{
"Status": "96",
"Message": "Invalid entity type: Policy. Valid types: Client, Loan, Deposit, User",
"Data": null
}
Entity Not Found
{
"Status": "96",
"Message": "Loan with ID 99999 not found",
"Data": null
}
Missing Entity Identifier
{
"Status": "96",
"Message": "Either entityId or encodedKey must be provided",
"Data": null
}
System Error
{
"Status": "99",
"Message": "An error occurred while retrieving activities",
"Data": null
}
Code Examples
C# Example
Code Removed
Implementation details removed for security.
Contact support for implementation guidance.
TypeScript Example
interface GetActivitiesParams {
entity?: 'Client' | 'Loan' | 'Deposit' | 'User';
entityId?: string;
encodedKey?: string;
startDate?: string;
endDate?: string;
searchText?: string;
pageNumber?: number;
pageSize?: number;
}
async function getActivities(params: GetActivitiesParams): Promise<ActivityResponse> {
const response = await fetch('/api/core/cmd', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
Cmd: 'GetActivitiesQuery',
Data: params
})
});
if (!response.ok) {
throw new Error('Failed to fetch activities');
}
return await response.json();
}
// Usage
const activities = await getActivities({
entity: 'Loan',
entityId: '12345',
startDate: '2025-01-01',
pageSize: 100
});
Python Example
import requests
from datetime import datetime
def get_activities(entity=None, entity_id=None, encoded_key=None,
start_date=None, end_date=None, page_size=50):
"""Retrieve activities with optional filtering."""
data = {
"pageNumber": 1,
"pageSize": page_size
}
if entity:
data["entity"] = entity
if entity_id:
data["entityId"] = entity_id
if encoded_key:
data["encodedKey"] = encoded_key
if start_date:
data["startDate"] = start_date
if end_date:
data["endDate"] = end_date
payload = {
"Cmd": "GetActivitiesQuery",
"Data": data
}
response = requests.post(
'https://api.banklingo.com/api/core/cmd',
json=payload,
headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
)
response.raise_for_status()
return response.json()
# Usage
result = get_activities(
entity='Client',
entity_id='12345',
start_date='2025-01-01',
end_date='2025-12-31'
)
print(f"Total activities: {result['Data']['totalRows']}")
for activity in result['Data']['activities']:
print(f"{activity['CreationDate']}: {activity['ActivityDescription']}")
Use Cases
1. Client Activity Audit
Track all activities related to a specific client:
{
"Cmd": "GetActivitiesQuery",
"Data": {
"entity": "Client",
"encodedKey": "8a80866e7f123456",
"startDate": "2025-01-01",
"pageSize": 100
}
}
2. Loan Lifecycle Tracking
Monitor all activities on a loan account:
{
"Cmd": "GetActivitiesQuery",
"Data": {
"entity": "Loan",
"entityId": "12345",
"pageSize": 50
}
}
3. Recent Platform Activities
View recent activities across all entities:
{
"Cmd": "GetActivitiesQuery",
"Data": {
"startDate": "2025-12-23",
"endDate": "2025-12-24",
"pageNumber": 1,
"pageSize": 100
}
}
4. User Activity Investigation
Find all activities performed by a specific user:
{
"Cmd": "GetActivitiesQuery",
"Data": {
"searchText": "suspicious.user@example.com",
"startDate": "2025-12-01",
"pageSize": 100
}
}
Validation Rules
- Entity Type: Must be one of:
Client,Loan,Deposit,User(case-insensitive) - Date Format: Dates must be in
YYYY-MM-DDformat - Date Range:
startDatemust be before or equal toendDate - Entity Identifier: When
entityis provided, eitherentityIdorencodedKeyis required - Page Size: Must be greater than 0 (defaults to 50 if invalid)
- Page Number: Must be greater than 0 (defaults to 1 if invalid)
Performance Notes
- Query results are cached for 10 seconds
- Use date range filters to limit result sets
- Consider pagination for large datasets
- Entity-specific queries are more efficient than full scans
- Text search performs partial matching on username and account IDs
Related Commands
- Get Logged-In User Activities - Get activities for current user
- Get Client Activities - Client-specific activities query
- Get Loan Activities - Loan-specific activities query
- Get Deposit Activities - Deposit-specific activities query
- Get User Activities - User-specific activities query