Docs

Type to search every page.

Importing and Sync

Import from your own scripts

Push statements into Budget Smugglers from any script or tool that can make an HTTP request, using an import token.

The Sync extension isn’t the only way in. Anything that can make an HTTP request can push a statement file: a script on a home server, a scheduled job, or a tool that already downloads your statements.

Get an import token#

  1. Open Settings › Connections.
  2. Choose Create token, and pick Import statements for what it can do.
  3. Copy the token. It’s shown once.

An import token can only upload statements and list the accounts you can import into. It can’t read transactions or change anything else, and it doesn’t work for AI assistants.

Send a file#

curl -X POST https://my.budgetsmugglers.app/api/v1/pools/$POOL_ID/imports/auto \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "fileName": "statement.csv", "content": "…the file text…", "source": "my-script" }'
Field
fileName Required. The file’s name, which helps work out its format.
content Required. The file’s text.
accountId Puts every row into one account. Leave it out for files that name the account on each row.
accountMap Maps the account names in the file to account ids.
source A short label shown on the Import page: lowercase letters, digits and : . _ -, up to 40 characters.
autoCommit true by default. Set false to always check it on the Import page first.
replaces The batchId of a held import from the same source. That one is thrown away and this file takes its place.

What comes back#

status is one of:

  • committed: the new transactions are in. Ones you already had are skipped.
  • needs_review: the file is waiting on the Import page. reasons says why, unmappedRefs lists account names to match up, and reviewUrl links straight to it.
  • duplicate_file: this exact file came in before, so nothing changed.

Finding ids#

GET https://my.budgetsmugglers.app/api/v1/me/import-targets with the same token lists the pools you can import into and the accounts you can write to, with their ids.