SpendRock Docs

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

Conventions at a glance

  • Money is an integer number of cents (1234 is $12.34). See Money & dates.
  • Months are YYYY-MM, dates are YYYY-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 stable code. See Errors.
  • /v1 only 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.

On this page