Skip to main content
This gets you from nothing to a working request in about two minutes.

1. Create a key

In the Set Aside Money web app, open Settings, find Developer API, and choose API keys. Then Create key:
  • Give it a name you will recognise later, like Nightly export.
  • Choose Read only unless you already know you need to write.
  • Pick an expiry. A year is the default.
The key is shown once. Copy it then, because it cannot be recovered afterwards. If you lose it, revoke it and create another. Keys look like this:

2. Check it works

Every key can call /v1/me, which tells you which account the key belongs to and what it is allowed to do. It is the cheapest way to confirm your setup.
GET /v1/me · Required scope: data.read

3. Read something real

In JavaScript:
In Python:
Read the key from an environment variable or a secret manager rather than putting it in your source. A key in a committed file is a key you will have to revoke.

4. Write something, if you need to

Writes need a key with the Read and write access. A read-only key gets a 403 with the code insufficient_scope, which is a scope problem and not something a retry will fix.
Note the negative amount: spending is negative, income is positive. And note the Idempotency-Key, which means retrying this exact request will not create a second transaction. See errors for when to retry.

Next