โ† All Docs
๐Ÿ‘ถ

Kids API

Manage kids under your account. Each kid has a name, avatar, balance, and optional features like allowances, interest, savings goals, and separate checking/savings accounts.

GET/api/v1/kids

List all your kids with a bounded recent transaction window

Response
[{ "id": "uuid", "name": "Rafi", "slug": "rafi", "avatar": "๐Ÿฐ", "balance": 256.00, "checkingBalance": 200.00, "savingsBalance": 56.00, "transactions": [...] }]

Returns at most 500 transactions from the last 30 days across the family. Use the single-kid endpoint for complete paginated history.

GET/api/v1/kids/summary

Lightweight summary (for widgets/Watch)

Response
{ "kids": [{ "name": "Rafi", "slug": "rafi", "avatar": "๐Ÿฐ", "balance": 256.00 }], "summary": "Rafi has two hundred and fifty-six dollars. Amiel has fifty-two dollars." }
GET/api/v1/kids/:slugPublic

Get a single kid with paginated transactions

Response
{ "kid": {...}, "settings": {...}, "pagination": { "total": 64, "limit": 20, "offset": 0 } }

Public if kid profile is public. Add ?txnLimit=20&txnOffset=0 for pagination. Add ?pin=XXXX for PIN-authenticated access to private profiles.

POST/api/v1/kids

Create a new kid

Request Body
{ "name": "Zeke", "avatar": "๐ŸฆŠ" }
Response
{ "id": "uuid", "name": "Zeke", "slug": "zeke", "balance": 0 }
PUT/api/v1/kids/:slug

Update a kid's settings

Request Body
{ "name": "...", "avatar": "...", "savingsGoal": {...}, "recurringAllowance": {...}, "interest": {...}, "separateAccounts": true, "publicProfile": true }

Only include fields you want to update. PIN-authenticated PUT (add ?pin=XXXX) is limited to savingsGoals and customAchievements.

DELETE/api/v1/kids/:slug

Delete a kid and all their data

Response
{ "success": true }

This permanently deletes the kid, all transactions, and all associated data. Cannot be undone.

Kids API โ€” KidCash Developer Docs โ€” KidCash