GetLoggedInUserActivitiesQuery
Retrieve activities for the currently authenticated user. This query automatically filters activities to show only those performed by the logged-in user based on their JWT token.
Command Name
GetLoggedInUserActivitiesQuery
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
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 account ID or entity name |
pageNumber | integer | No | Page number (default: 1) |
pageSize | integer | No | Items per page (default: 50) |
isExport | boolean | No | Export to Excel (default: false) |
Note: User context is automatically extracted from JWT token. No need to specify user information.
Request Example
Basic Request
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"pageNumber": 1,
"pageSize": 50
}
}
With Date Range
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"startDate": "2025-12-01",
"endDate": "2025-12-24",
"pageSize": 50
}
}
With Search
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"searchText": "LN-2025-00123",
"startDate": "2025-12-01",
"pageSize": 100
}
}
Response Structure
{
"Status": "00",
"Message": "User 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": "jane.doe@banklingo.com",
"UserKey": "8a80866e7f123456",
"Action": "Update",
"ActivityDescription": "Updated client profile",
"AffectedItemType": "Customer",
"AffectedItemName": "John Smith",
"AffectedCustomerName": "John Smith",
"AffectedCustomerEncodedKey": "8a80866e7f654321"
}
],
"totalRows": 45,
"totalPages": 1,
"currentPage": 1,
"pageSize": 50
}
}
Response Fields
Same as GetActivitiesQuery, with all activities belonging to the authenticated user.
Error Responses
Missing Authentication
{
"Status": "96",
"Message": "User context not found. Please ensure you are authenticated.",
"Data": null
}
System Error
{
"Status": "99",
"Message": "An error occurred while retrieving user activities",
"Data": null
}
Code Examples
C# Example
Code Removed
Implementation details removed for security.
Contact support for implementation guidance.
TypeScript Example
interface GetMyActivitiesParams {
startDate?: string;
endDate?: string;
searchText?: string;
pageNumber?: number;
pageSize?: number;
}
async function getMyActivities(params: GetMyActivitiesParams = {}): Promise<ActivityResponse> {
const response = await fetch('/api/core/cmd', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
Cmd: 'GetLoggedInUserActivitiesQuery',
Data: {
pageNumber: 1,
pageSize: 50,
...params
}
})
});
if (!response.ok) {
throw new Error('Failed to fetch my activities');
}
return await response.json();
}
// Usage examples
// Get last 30 days of activities
const recentActivities = await getMyActivities({
startDate: '2025-11-24',
endDate: '2025-12-24',
pageSize: 100
});
// Get today's activities
const today = new Date().toISOString().split('T')[0];
const todayActivities = await getMyActivities({
startDate: today,
endDate: today
});
// Search for specific account activities
const loanActivities = await getMyActivities({
searchText: 'LN-2025',
pageSize: 50
});
Python Example
import requests
from datetime import datetime, timedelta
def get_my_activities(start_date=None, end_date=None, search_text=None, page_size=50):
"""Retrieve activities for the logged-in user."""
data = {
"pageNumber": 1,
"pageSize": page_size
}
if start_date:
data["startDate"] = start_date
if end_date:
data["endDate"] = end_date
if search_text:
data["searchText"] = search_text
payload = {
"Cmd": "GetLoggedInUserActivitiesQuery",
"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 examples
# Get last 7 days of activities
end_date = datetime.now()
start_date = end_date - timedelta(days=7)
result = get_my_activities(
start_date=start_date.strftime('%Y-%m-%d'),
end_date=end_date.strftime('%Y-%m-%d'),
page_size=100
)
print(f"Your activities in the last 7 days: {result['Data']['totalRows']}")
for activity in result['Data']['activities']:
print(f"{activity['CreationDate']}: {activity['Action']} - {activity['ActivityDescription']}")
# Get today's activities
today = datetime.now().strftime('%Y-%m-%d')
today_result = get_my_activities(start_date=today, end_date=today)
print(f"Activities today: {today_result['Data']['totalRows']}")
Use Cases
1. Personal Activity Dashboard
Display user's recent activities on a dashboard:
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"startDate": "2025-12-01",
"pageSize": 10
}
}
2. Weekly Activity Summary
Generate a weekly summary for the user:
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"startDate": "2025-12-17",
"endDate": "2025-12-24",
"pageSize": 100
}
}
3. Activity History Export
Export user's complete activity history:
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"isExport": true,
"pageSize": 10000
}
}
4. Search User's Past Actions
Find specific actions performed by the user:
{
"Cmd": "GetLoggedInUserActivitiesQuery",
"Data": {
"searchText": "Approval",
"startDate": "2025-12-01",
"pageSize": 50
}
}
Validation Rules
- Authentication: JWT token required - user context automatically extracted
- Date Format: Dates must be in
YYYY-MM-DDformat - Date Range:
startDatemust be before or equal toendDate - Page Size: Must be greater than 0 (defaults to 50 if invalid)
- Page Number: Must be greater than 0 (defaults to 1 if invalid)
Security Notes
- Only returns activities performed by the authenticated user
- Cannot view other users' activities with this command
- All activities include user attribution for accountability
- User context is extracted from JWT token - cannot be spoofed
Performance Notes
- Query results are cached for 10 seconds
- More efficient than GetActivitiesQuery with user filter
- Use date range filters to limit result sets
- Consider pagination for users with high activity volumes
Comparison with GetActivitiesQuery
| Feature | GetLoggedInUserActivitiesQuery | GetActivitiesQuery |
|---|---|---|
| User Filter | Automatic (from JWT) | Manual (optional) |
| Access Level | Own activities only | All activities (admin) |
| Authentication | Required | Required |
| Entity Filtering | No | Yes (Client, Loan, Deposit, User) |
| Use Case | Personal dashboard | Admin auditing, entity tracking |
When to use GetLoggedInUserActivitiesQuery:
- Personal activity dashboard
- User activity history
- Self-service audit trail
- "My Activities" feature
When to use GetActivitiesQuery:
- Admin audit trails
- Entity-specific activity tracking
- Cross-user analysis
- Compliance reporting
Related Commands
- Get Activities - Retrieve activities with entity filtering (admin)
- Get Client Activities - Client-specific activities
- Get Loan Activities - Loan-specific activities
- Get Deposit Activities - Deposit-specific activities
- Get User Activities - User-specific activities (admin)