PENDING status and must be approved by all active admins before it is reflected in the group balance and the member’s credit score. This two-step model ensures that every movement of funds has been verified by the group leadership.
Transaction types
Record a transaction
Any authenticated user can record a transaction. Admins can record on behalf of any member by name; regular members are limited to recording against their own account.Pass a unique
idempotency_key when submitting transactions from a mobile app. If a network timeout causes you to retry, the API will return the original transaction record rather than creating a duplicate charge. Use a key that includes the member name, date, and a unique counter, for example "contrib-amara-202501-001".paymentMethod field is a free-form string. Common values used across Save App groups include "mobile_money" and "cash", but you may use any label that matches your group’s reconciliation process.
View transactions
Retrieve transactions with optional filters. Members only see their own transactions; admins see all transactions in the group.The
startDate and endDate query parameters accept Unix timestamps in milliseconds. For example, 1704067200000 represents 2024-01-01T00:00:00Z. Convert your date to milliseconds by multiplying a seconds-based Unix timestamp by 1000.Admin approval workflow
Transactions require unanimous approval from all active admins before they take effect. Each admin independently calls the approve endpoint; the API tracks progress and executes the transaction automatically once the final admin approves.What happens on approval
When the final admin’s vote triggers execution, the API performs these side effects automatically based on the transaction type:Credit score and timing
For contribution transactions, the API checks whether the payment was made before or after the active cycle’scontribution_due_date:
- On time — the member’s credit score is increased (default
+5points) - Late — the member’s credit score is decreased (default
−10points)

