GET /api/analytics/dashboard
Returns high-level counts for the group. Requires an admin JWT.Response
integer
Total number of users with the
member role in the group.integer
Number of members whose accounts are currently active (
is_active = true).float
Current total balance of the group fund, in UGX.
integer
Number of loan requests currently in
PENDING status awaiting admin approval.integer
Number of transactions currently in
PENDING status awaiting admin approval.integer
Number of payouts currently in
PENDING status awaiting execution.Sample response
GET /api/analytics/summary
Returns a personalised summary for the authenticated user. Available to all authenticated users — both admins and members.Response
integer
Total number of members in the group.
integer
Number of currently active members.
float
Current total balance of the group fund, in UGX.
float
The authenticated user’s total contribution amount (
contribution_paid), in UGX.integer
Combined count of pending loans and pending transactions across the group.
string
Name of the savings group the authenticated user belongs to.
string
Display name of the authenticated user making the request.
float
Sum of all approved contribution transactions for the current calendar month, in UGX.
float
Total interest amount accrued from loans in
APPROVED, ACTIVE, or COMPLETED status, in UGX.string | null
Unique identifier of the group, if available. May be
null.Sample response
GET /api/analytics/reports
Returns a financial summary for a given date range. Requires an admin JWT.Query parameters
integer
Start of the report period as a Unix millisecond timestamp. Defaults to 30 days before the current time if omitted.
integer
End of the report period as a Unix millisecond timestamp. Defaults to the current time if omitted.
Response
datetime
ISO 8601 datetime derived from the resolved
startDate value.datetime
ISO 8601 datetime derived from the resolved
endDate value.float
Sum of all approved contribution transactions within the period, in UGX.
float
Sum of all approved payouts executed within the period, in UGX.
float
Sum of all approved, active, or completed loan principal amounts requested within the period, in UGX.
float
Sum of all loan repayment amounts recorded within the period, in UGX.
Sample response
GET /api/credit-scores/me
Returns the credit score record for the authenticated user. Available to all authenticated users.Response
string
UUID of the member whose score is returned.
string
Display name of the member.
float
Current credit score. The scale runs from
min_credit_score (default 300) to max_credit_score (default 850), with new members starting at starting_credit_score (default 500).integer
Number of contribution payments made on time.
integer
Number of contribution payments made after the due date.
integer
Number of contribution payments that were missed entirely.
integer
Number of loans fully repaid before or on the due date.
integer
Number of loans repaid after the due date.
integer
Number of loans that defaulted without repayment.
integer
Number of complete group cycles the member has participated in.
integer
Number of cycles successfully completed by the member.
datetime
ISO 8601 timestamp of the most recent score recalculation.
GET /api/audit-logs
Returns a paginated list of admin action records. Requires an admin JWT.Query parameters
string
Filter results to actions performed by a specific admin UUID.
string
Filter by the type of entity that was acted on (e.g.,
"loan", "member", "config").string
Filter by the action string (e.g.,
"approve", "reject", "update").string
ISO 8601 datetime. Only return logs created at or after this time.
string
ISO 8601 datetime. Only return logs created at or before this time.
integer
default:"100"
Maximum number of records to return. Upper bound is
500.integer
default:"0"
Zero-based index of the first record to return. Use with
limit for pagination.Response
Returns an array ofAuditLogResponse objects, ordered by created_at descending.
string
UUID of the audit log entry.
string
UUID of the admin who performed the action.
string
Display name of the admin who performed the action.
string
String describing what was done (e.g.,
"approve", "reject", "update").string
The type of entity that was acted on (e.g.,
"loan", "member", "config").string
UUID of the entity that was acted on.
string | null
JSON-serialised representation of the entity’s state before the action. May be
null for creation events.string | null
JSON-serialised representation of the entity’s state after the action. May be
null for deletion events.datetime
ISO 8601 timestamp of when the action was recorded.
Sample response

