โ All Docs
๐ฐ
Transactions API
Create, delete, and manage financial transactions for kids. Transactions automatically update the kid's balance atomically. Each transaction has an amount, type (credit/debit), account (checking/savings), and a note.
GET
/api/v1/transactionsList the authenticated family ledger
Response
{ "transactions": [...], "pagination": { "page": 1, "pageSize": 25, "total": 64, "totalPages": 3 } }Server paginated. Add ?page=1&pageSize=25. Page size is capped at 100.
POST
/api/v1/kids/:slug/transactionCreate a transaction
Request Body
{ "amount": 5.00, "note": "Chores", "account": "checking" }Response
{ "transaction": { "id": "uuid", "amount": 5.00, "type": "credit", "account": "checking", "note": "Chores", "date": "..." }, "newBalance": 261.00 }Positive amount = credit. Negative amount = debit (note required for debits). Account defaults to "checking" if omitted.
DELETE
/api/v1/kids/:slug/transaction/:idDelete a transaction (reverses balance)
Response
{ "success": true, "newBalance": 256.00 }PATCH
/api/v1/kids/:slug/transaction/:idUpdate a transaction note
Request Body
{ "note": "Updated note" }POST
/api/v1/kids/bulk-transactionApply the same transaction to multiple kids
Request Body
{ "kidIds": ["uuid1", "uuid2"], "amount": 5.00, "note": "Family bonus", "account": "checking" }Response
{ "kidsUpdated": 2, "amount": 5.00, "type": "credit", "total": 10.00 }POST
/api/v1/kids/:slug/transferTransfer between checking and savings
Request Body
{ "amount": 10.00, "from": "checking", "to": "savings" }Response
{ "checkingBalance": 190.00, "savingsBalance": 66.00, "totalBalance": 256.00 }Requires separateAccounts to be enabled. Validates sufficient balance in source account.