API overview
A JSON API over HTTPS for everything SpendRock does, authenticated with personal access tokens.
The SpendRock API is the same API the web and mobile apps use: every budget, transaction, and household operation is available to your own scripts. Requests and responses are JSON over HTTPS.
Base URL: https://app.spendrock.com/api/v1
Quickstart
Create a token and make your first request in two minutes.
Authentication & scopes
Personal access tokens, what each scope allows, and what tokens can't do.
Reference
Every endpoint, generated from the OpenAPI spec, with a playground to try it with your token.
Errors
The error format and every error code.
Conventions at a glance
- Money is an integer number of cents (
1234is $12.34). See Money & dates. - Months are
YYYY-MM, dates areYYYY-MM-DD, and IDs are ULIDs. - Households: budget calls act on your default household unless you send
X-SpendRock-Household. See Households. - Transactions have client-generated IDs, which double as idempotency keys. See Idempotency.
- Mutations return the recomputed month, so you rarely need a second request to see the effect.
- Errors are
{ "code", "message", "details"? }with a stablecode. See Errors. /v1only changes additively. Ignore fields you don't recognize. See Versioning & changelog.
The OpenAPI spec
The reference in these docs is generated from the API's OpenAPI 3.0 spec. The live spec is
public, with no authentication, at GET /openapi.json and GET /openapi.yaml under the base
URL. Use it to generate a client in your language of choice.
For AI assistants
Every page here is available as Markdown (add .md to the URL), and
/llms.txt / /llms-full.txt index the whole site. Use
Copy Markdown or Open in Claude / ChatGPT at the top of any page.