canonical: https://jentic.com/apis/kumpeapps.com/kumpeapps

# KumpeApps API

KumpeApps API exposes the KKid family-management platform: child user accounts, chore lists, allowance ledgers, wishlists, share links, and APNs push notification subscriptions. Authentication is two-tier - an X-Auth app key identifies the calling application and an X-Auth user auth key authorises actions on a specific account. Master users can add child accounts, assign chores, log allowance transactions, and manage wishlist items shared with family.

## For AI agents

Manage KumpeApps KKid family accounts: add child users, assign chores, record allowance transactions, manage wishlists, and send APNs push notifications.

## Scope

Does not handle payroll, banking transfers, or general task management - use for KumpeApps KKid family chores, allowance, and wishlists only.

## Capabilities

- Issue and revoke app keys via /appkey to authorise applications calling the KKid API
- Authenticate end users by requesting and deactivating auth keys through /authkey and verify YubiKey OTP via `/authentication/verifyotp`
- Add child user accounts under a master user with POST `/kkid/userlist` and remove them with DELETE `/kkid/userlist`
- Track per-child chores by listing, adding, updating, and deleting entries on `/kkid/chorelist`
- Record allowance transactions and read the running balance through `/kkid/allowance`
- Manage children's wishlists and generate shareable wishlist links via `/kkid/wishlist` and `/kkid/share`

## Use cases

### Family Chore and Allowance Tracking

Run a household chore-and-allowance loop: parents assign chores via `/kkid/chorelist`, mark them complete, and post an allowance transaction to `/kkid/allowance` to credit the child. Balances and transaction history are read back from the same allowance endpoint, keeping the family ledger in one place.

Example prompt: On 'Sam finished the dishes', PATCH the matching `/kkid/chorelist` entry to complete and POST a $2 allowance transaction to `/kkid/allowance` for Sam's userID.

### Child Wishlist Sharing

Maintain a child's wishlist as items are added across the year and produce a shareable link for grandparents and relatives. POST `/kkid/wishlist` adds items, PATCH updates them, and GET `/kkid/share` creates the share link that lets non-account holders view the wishlist for gifting occasions.

Example prompt: Add 'Lego Set 71043' to Sam's wishlist via POST `/kkid/wishlist` and call GET `/kkid/share` to produce a link to send to family.

### Two-Factor Authenticated Family Account

Authenticate a parent with username and password via POST /authkey, then verify a YubiKey OTP through GET `/authentication/verifyotp` before performing sensitive actions like adding child accounts or processing larger allowance transactions. The dual app-key plus auth-key model isolates application identity from user identity.

Example prompt: POST /authkey with the parent's credentials, then GET `/authentication/verifyotp` with the YubiKey OTP before calling POST `/kkid/userlist` to add a new child.

### AI Agent Family Assistant

An assistant in a parent's chat client tracks chores, applies allowance, and updates wishlists from natural language. Through Jentic, the assistant calls the right KKid operation by intent without hard-coded HTTP plumbing or storing the parent's auth key in the agent context.

Example prompt: On 'pay Sam $5 for finishing his chores this week', search Jentic for 'add KumpeApps allowance transaction' and POST to `/kkid/allowance` with kidUserID resolved from `/kkid/userlist.`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/authkey` | Log a user in and receive an auth key |
| POST | `/kkid/userlist` | Add a child user under a master user |
| GET | `/kkid/chorelist` | List chores for a given child |
| POST | `/kkid/chorelist` | Add a chore for a child |
| GET | `/kkid/allowance` | Get allowance balance and transaction history |
| POST | `/kkid/allowance` | Add an allowance transaction for a child |
| POST | `/kkid/wishlist` | Add an item to a child's wishlist |

## Key resources

- **Authentication** — App keys and user auth keys - request, deactivate, and mark compromised.
- **Users** — Master and child user records under `/kkid/userlist` and `/kkid/masteruser.`
- **Chores** — Per-child chore records via `/kkid/chorelist.`
- **Allowance** — Allowance balances and transactions via `/kkid/allowance.`
- **Wishlist** — Wishlist items and shareable links via `/kkid/wishlist` and `/kkid/share.`

## Why Jentic

- **Setup:** Wiring the KumpeApps API by hand means exchanging your app key at /authkey for a user auth key, passing both through the X-Auth header, and building the version into the restapi.kumpeapps.com host. Through Jentic you install once, import the KumpeApps API from the API Directory, store the keys once, and your agent calls it.
- **Permission scoping:** The KumpeApps KKid operations take their targets in the request body rather than the URL path, so scope the agent to the operations it needs, such as listing the user list and chores. You choose that set, so writes like posting an allowance transaction or a wishlist item are not included unless you add them.
- **Credential handling:** Your KumpeApps app key and user auth key are stored once, encrypted, by your own Jentic One instance, which injects the X-Auth header at execution time. The keys never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'add an allowance transaction' or 'create a wishlist item', and Jentic returns the matching KKid operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Rebrandly API** — Branded short-link service used to wrap KumpeApps share URLs.
- **Bitly API** — URL shortener for sharing wishlists in messages with character limits.
- **TinyURL API** — Free URL shortener with a simpler scope than KumpeApps' built-in `/kkid/share.`

## FAQ

### What authentication does the KumpeApps API use?

KumpeApps uses two API keys passed in the X-Auth header: an app_key that identifies the calling application and an auth_key that identifies the logged-in user. Through Jentic, both are stored encrypted in your Jentic One instance.

### Can I add a chore for a specific child with the KumpeApps API?

Yes. POST `/kkid/chorelist` creates a chore tied to a child's user ID, and PATCH `/kkid/chorelist` updates an existing chore by chore ID. GET `/kkid/chorelist` returns the chore list for the requested child.

### How do I record an allowance payment through Jentic?

Search Jentic for 'add a KumpeApps allowance transaction'. Jentic returns POST `/kkid/allowance` with its schema. Provide the kidUserID and amount, and Jentic executes the call using your stored credentials.

### Does KumpeApps support YubiKey two-factor authentication?

Yes. After logging in via POST /authkey, GET `/authentication/verifyotp` verifies a YubiKey OTP for the authenticated user. This lets sensitive operations require hardware-backed second factors.

### What are the rate limits for the KumpeApps API?

Public rate limits are not documented in the spec. Contact KumpeApps support at helpdesk@kumpeapps.com to confirm limits for your access tier before scaling agent workloads.

### How do I share a child's wishlist with family?

GET `/kkid/share` generates a share link for the wishlist; the link is suitable for sending to relatives so they can view items without holding a KumpeApps account. Items are added via POST `/kkid/wishlist.`

### Can I limit what my agent is allowed to do with the KumpeApps API?

Yes. Jentic One is self-hosted by you, so your own rules decide which KumpeApps operations and credentials the agent may use. You can allow read-only calls like GET `/kkid/userlist` and GET `/kkid/chorelist` while withholding writes such as POST `/kkid/allowance` or POST `/kkid/wishlist`, so an allowance transaction or wishlist item is only posted when you explicitly grant that operation. Your app key and user auth key stay in your instance and are attached to the X-Auth header at execution, never entering the agent's prompt or logs.
