โ† 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/transactions

List 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/transaction

Create 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/:id

Delete a transaction (reverses balance)

Response
{ "success": true, "newBalance": 256.00 }
PATCH/api/v1/kids/:slug/transaction/:id

Update a transaction note

Request Body
{ "note": "Updated note" }
POST/api/v1/kids/bulk-transaction

Apply 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/transfer

Transfer 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.

Transactions API โ€” KidCash Developer Docs โ€” KidCash