Skip to main content

Overview

The Audit Trail automatically logs all significant actions performed in your organization, providing a complete history of who did what, when, and whether it succeeded or failed.
Permission required: audit_logs:read (ANY scope)Audit logs are automatically created for all CREATE, UPDATE, DELETE, and CONFIGURE operations. Read-only operations (READ, VIEW, SEARCH) are excluded to reduce clutter.

API Endpoint

Get audit logs:
Query parameters: Resource types: Example request:

Response Structure

Response fields: Pagination fields:

What Gets Logged

Automatically logged: CREATE operations:
  • ✅ New loan creation
  • ✅ New deposit recording
  • ✅ New expense recording
  • ✅ New asset addition
  • ✅ New member registration
  • ✅ New invitation sent
UPDATE operations:
  • ✅ Loan modifications
  • ✅ Member information changes
  • ✅ Configuration updates
  • ✅ Role assignments
DELETE operations:
  • ✅ Expense deletion
  • ✅ Asset disposal
  • ✅ Member deactivation
CONFIGURE operations:
  • ✅ Organization settings changes
  • ✅ Permission modifications
  • ✅ System configuration updates
NOT logged (to reduce clutter):
  • ❌ READ operations (viewing pages, reports)
  • ❌ VIEW operations (browsing data)
  • ❌ SEARCH operations (searching records)
  • ❌ System admin actions (excluded from organization audit trail)

Filtering Audit Logs

Filter by Actor Type

Organization Admins only:
Shows actions by administrators with elevated permissions. Organization Users only:
Shows actions by regular members/staff.

Filter by Resource Type

Loan-related activities:
Savings deposits/withdrawals:
Member changes:

Filter by Action Type

Only creations:
Only deletions (sensitive):
Configuration changes:

Filter by Date Range

Last 7 days:
Specific month:

Search by Keywords

Find actions by specific user:
Find specific transaction descriptions:
Search looks in both actorName and description fields (case-insensitive).

Combine Filters

Deletions by admins in last month:
Failed loan operations:

Pagination

Default: 20 records per page Navigate pages:
Use pagination object:
Navigation logic:
  • If hasNextPage = true: Request page + 1
  • If hasPreviousPage = true: Request page - 1

Sorting

Most recent first (default):
Oldest first:
Sort by actor name (alphabetical):
Sort by action type:
Sort by resource type:

Status Detection

Success vs Failed: Backend determines status from HTTP response code:
  • Status = ‘success’: HTTP 200-299 (successful operation)
  • Status = ‘failed’: HTTP 400+ (error occurred)
Checking status:
Failed operation example:
Use case: Find all failed operations to identify issues:

Use Cases

Compliance & Audit

Annual audit review:
Export and provide to auditors as evidence of:
  • All financial transactions
  • Proper authorization
  • Change tracking

Security Monitoring

Track deletions (sensitive operations):
Monitor admin actions:
Detect unauthorized access attempts:
  • Failed operations may indicate permission issues
  • Unusual patterns (many failed attempts) warrant investigation

Troubleshooting

Find who made erroneous entry:
Review sequence of events to understand what happened. Track when incorrect change occurred:
Sort chronologically to see timeline of changes.

Training & Quality Control

Review new user actions:
See how new staff members are using the system. Identify common mistakes:
Failed operations reveal training needs or confusing workflows.

Example Scenarios

Scenario 1: Investigating Loan Error

Problem: Member claims loan amount was recorded incorrectly Investigation:
Response shows:
Conclusion: Loan was created correctly by John Doe on June 10. Amount matches records.

Scenario 2: Monthly Security Review

Goal: Check for unusual admin activity in June API call:
Review deletions:
  • Are deletions authorized?
  • Are deletion counts normal?
  • Any suspicious patterns?

Scenario 3: Audit Trail Export

Goal: Provide audit evidence for external audit API calls:
Process:
  1. Paginate through all results
  2. Export to spreadsheet or PDF
  3. Provide to auditors as supporting documentation

Audit Log Retention

Storage: Audit logs are permanently stored in the database and cannot be deleted by users. Why permanent?
  • Compliance requirements (may need 7+ years)
  • Legal evidence
  • Fraud investigation
  • Historical analysis
Access: Retrievable via API with pagination (20 records per page default) Performance: Large organizations with thousands of logs should use specific filters rather than retrieving all logs.

Best Practices

Effective audit trail management:Regular monitoring:
  • ✅ Review audit logs weekly for unusual activity
  • ✅ Check failed operations (may indicate issues)
  • ✅ Monitor DELETE actions (sensitive)
  • ✅ Track admin actions (elevated permissions)
Filtering:
  • ✅ Use date filters to narrow down to specific periods
  • ✅ Filter by resourceType when investigating specific area
  • ✅ Search by actor name to track specific user’s actions
  • ✅ Combine filters for precise results
Investigation:
  • ✅ Sort chronologically (sortBy=createdAt) to see timeline
  • ✅ Check metadata for additional context
  • ✅ Cross-reference with actual records (loans, deposits, etc.)
  • ✅ Document findings
Compliance:
  • ✅ Export audit logs for external audits
  • ✅ Keep copies of audit exports with financial reports
  • ✅ Review audit logs before period closing
  • ✅ Demonstrate access controls to auditors
Pagination:
  • ✅ Use appropriate page size (20-50 for UI, 100 for exports)
  • ✅ Check hasNextPage before requesting more
  • ✅ Don’t request all logs at once (use filters)

Limitations

Cannot delete audit logs: Logs are permanent and immutable. This ensures audit trail integrity but means:
  • No way to remove incorrect/test logs
  • Logs accumulate over time
  • Use filters to find relevant logs in large datasets
Read-only operations not logged: To reduce clutter:
  • Viewing reports not logged
  • Browsing pages not logged
  • Search queries not logged
System admin actions excluded: Organization audit trail only shows:
  • organization_admin actions
  • organization_user actions
  • System admin actions excluded (different audit trail)
Pagination required: Cannot retrieve all logs in single request for large organizations:
  • Default: 20 records per page
  • Use filters to reduce result set
  • Paginate through results as needed

Troubleshooting

Q: Can’t see audit logs A: Requires audit_logs:read permission with ANY scope. Contact administrator to grant permission.
Q: Too many logs to review A: Use filters to narrow down:

Q: Log description unclear A: Check metadata field for additional details:
Cross-reference with actual record (loan, deposit, etc.) using date/time.
Q: Can’t find specific action A: Verify:
  • Is action CREATE/UPDATE/DELETE/CONFIGURE? (READ/VIEW not logged)
  • Is actor organization user/admin? (system_admin excluded)
  • Check date range is correct
  • Try broader search terms

Q: Want to export audit logs A: Paginate through results and save to CSV/Excel:

Permissions

Understanding access control

Journal Entries

View financial transaction details

Period Closing

Review audit trail before closing

Organization Settings

Configure organization