Developer
API reference
The planned REST API. Not available yet. This page describes the intended shape, not something you can call today.
Not available yet. There is no
/api/v1namespace and no way to issue a key. Everything below is the intended design, published so it can be argued with early. It is not a contract you can code against. The endpoints the app uses internally are session-authenticated and not stable.
Authentication (planned)
API requests will require a key in the Authorization header:
Authorization: Bearer trove_live_sk_...
There is no key issuance UI, and no keys to issue.
Base URL
https://trove.cool/api/v1
Endpoints
Transactions
GET /transactions List transactions (paginated)
POST /transactions Create a transaction
GET /transactions/:id Get one
PATCH /transactions/:id Update
DELETE /transactions/:id Delete
Accounts
GET /accounts List accounts
POST /accounts Create
PATCH /accounts/:id Update
DELETE /accounts/:id Soft delete
Subscriptions
GET /subscriptions List detected subscriptions
PATCH /subscriptions/:id Pause / resume / cancel
Insights (Pro only)
POST /insights/generate Trigger an insight (rate-limited 20/min)
GET /insights Last 10 cached insights
Webhooks
POST /webhooks Register a webhook
GET /webhooks List webhooks
DELETE /webhooks/:id Remove
Events: transaction.created, subscription.detected, budget.exceeded, goal.achieved.
Rate limits
- Free: not available.
- Pro: 60 req/min.
- Team: 600 req/min.
Limits are sliding-window, returned in headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Errors
Standard HTTP status codes. JSON body:
{ "error": { "code": "validation_error", "message": "amount must be positive" } }