Skip to main content

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

ParameterTypeRequiredDescription
startDatestringNoStart date filter (YYYY-MM-DD format). Default: 10 years ago
endDatestringNoEnd date filter (YYYY-MM-DD format). Default: current date
searchTextstringNoSearch by account ID or entity name
pageNumberintegerNoPage number (default: 1)
pageSizeintegerNoItems per page (default: 50)
isExportbooleanNoExport 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
}
}
{
"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-DD format
  • Date Range: startDate must be before or equal to endDate
  • 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

FeatureGetLoggedInUserActivitiesQueryGetActivitiesQuery
User FilterAutomatic (from JWT)Manual (optional)
Access LevelOwn activities onlyAll activities (admin)
AuthenticationRequiredRequired
Entity FilteringNoYes (Client, Loan, Deposit, User)
Use CasePersonal dashboardAdmin 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