Skip to content

bank

33 endpoints at a glance
MethodPathSummary
GET/bank/accountsList Bank Accounts
POST/bank/accountsCreate Bank Account
DELETE/bank/accounts/{account_id}Delete Bank Account
PATCH/bank/accounts/{account_id}Update Bank Account
POST/bank/accounts/{account_id}/set-defaultSet Default Bank Account
POST/bank/accounts/{account_id}/syncSync Account Now
GET/bank/budget-summaryBudget Summary
GET/bank/categoriesList Categories
POST/bank/categoriesCreate Category
DELETE/bank/categories/{category_id}Delete Category
PATCH/bank/categories/{category_id}Update Category
GET/bank/connectionsList Connections
POST/bank/connectionsCreate Connection
DELETE/bank/connections/{connection_id}Delete Connection
POST/bank/connections/{connection_id}/finalizeFinalize Connection
POST/bank/importImport Bank Statement
GET/bank/institutionsList Institutions
GET/bank/rulesList Rules
POST/bank/rulesCreate Rule
DELETE/bank/rules/{rule_id}Delete Rule
PATCH/bank/rules/{rule_id}Update Rule
POST/bank/rules/applyApply Rules
POST/bank/rules/from-transactionRule From Transaction
POST/bank/rules/previewPreview Rule
POST/bank/rules/reorderReorder Rules
GET/bank/targetsList Targets
POST/bank/targetsSet Target
DELETE/bank/targets/{target_id}Delete Target
PATCH/bank/targets/{target_id}Update Target
GET/bank/transactionsList Transactions
PATCH/bank/transactions/{txn_id}Patch Transaction
POST/bank/transactions/{txn_id}/matchMatch Transaction
POST/bank/transactions/{txn_id}/unmatchUnmatch Transaction

bank


Import Bank Statement

POST
/bank/import

Upload a CAMT.053 (XML) or bank CSV statement → deduped bank transactions on
the matching account (created by IBAN on first sight).

Parameters

Header Parameters

authorization

Request Body

multipart/form-data

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


List Bank Accounts

GET
/bank/accounts

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Create Bank Account

POST
/bank/accounts

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"iban": "string",
  
"account_name": "string",
  
"bank_name": "string",
  
"kind": "business"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Delete Bank Account

DELETE
/bank/accounts/{account_id}

Parameters

Header Parameters

authorization

Path Parameters

account_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Update Bank Account

PATCH
/bank/accounts/{account_id}

Parameters

Header Parameters

authorization

Path Parameters

account_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"kind": "string",
  
"ledger_account_id": "string",
  
"account_name": "string",
  
"bank_name": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Set Default Bank Account

POST
/bank/accounts/{account_id}/set-default

Parameters

Header Parameters

authorization

Path Parameters

account_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


List Transactions

GET
/bank/transactions

Parameters

Header Parameters

authorization

Query Parameters

account
status
q
page
Type
integer
Default
1
limit
Type
integer
Default
100

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Match Transaction

POST
/bank/transactions/{txn_id}/match

Parameters

Header Parameters

authorization

Path Parameters

txn_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"kind": "string",
  
"target_id": "string",
  
"ledger_account_id": "string",
  
"amount_cents": 0,
  
"date": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Unmatch Transaction

POST
/bank/transactions/{txn_id}/unmatch

Parameters

Header Parameters

authorization

Path Parameters

txn_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Budget Summary

GET
/bank/budget-summary

Income/expense rollup for the Budget view. from is inclusive, to
exclusive. kind (business|personal) scopes to every account of that kind;
account scopes to one. Excluded rows (incl. detected transfers) are omitted.

Parameters

Header Parameters

authorization

Query Parameters

from
to
account
kind

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Patch Transaction

PATCH
/bank/transactions/{txn_id}

Set the budgeting dimension on a transaction (category / exclude / note).
Independent of reconciliation — never touches match/status.

Parameters

Header Parameters

authorization

Path Parameters

txn_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"category_id": "string",
  
"excluded": true,
  
"note": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


List Categories

GET
/bank/categories

Parameters

Header Parameters

authorization

Query Parameters

include_archived
Type
boolean
Default
false

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Create Category

POST
/bank/categories

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"name": "string",
  
"kind": "expense",
  
"color": "string",
  
"parent_id": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Delete Category

DELETE
/bank/categories/{category_id}

Parameters

Header Parameters

authorization

Path Parameters

category_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Update Category

PATCH
/bank/categories/{category_id}

Parameters

Header Parameters

authorization

Path Parameters

category_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"name": "string",
  
"kind": "string",
  
"color": "string",
  
"parent_id": "string",
  
"archived": true,
  
"order": 0
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Preview Rule

POST
/bank/rules/preview

Count how many existing transactions a rule with these conditions would
match — powers the live "past op N transacties" hint before saving.

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"counterparty_contains": "string",
  
"counterparty_iban": "string",
  
"description_contains": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


List Rules

GET
/bank/rules

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Create Rule

POST
/bank/rules

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"counterparty_contains": "string",
  
"counterparty_iban": "string",
  
"description_contains": "string",
  
"category_id": "string",
  
"set_excluded": false
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Delete Rule

DELETE
/bank/rules/{rule_id}

Parameters

Header Parameters

authorization

Path Parameters

rule_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Update Rule

PATCH
/bank/rules/{rule_id}

Parameters

Header Parameters

authorization

Path Parameters

rule_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"counterparty_contains": "string",
  
"counterparty_iban": "string",
  
"description_contains": "string",
  
"category_id": "string",
  
"set_excluded": true,
  
"enabled": true
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Reorder Rules

POST
/bank/rules/reorder

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"ordered_ids": [
  
  
"string"
  
]
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Apply Rules

POST
/bank/rules/apply

Retroactively run transfer detection + rules over every account's
still-uncategorised rows.

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Rule From Transaction

POST
/bank/rules/from-transaction

'Categorize like this…' — build a rule from a transaction's counterparty /
IBAN / description, then apply it across all accounts.

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"txn_id": "string",
  
"category_id": "string",
  
"set_excluded": false,
  
"field": "counterparty"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


List Targets

GET
/bank/targets

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Set Target

POST
/bank/targets

Set the monthly target for a category (upsert — one target per category).

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"category_id": "string",
  
"amount_cents": 0
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Delete Target

DELETE
/bank/targets/{target_id}

Parameters

Header Parameters

authorization

Path Parameters

target_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Update Target

PATCH
/bank/targets/{target_id}

Parameters

Header Parameters

authorization

Path Parameters

target_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"amount_cents": 0
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


List Institutions

GET
/bank/institutions

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


List Connections

GET
/bank/connections

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Create Connection

POST
/bank/connections

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"institution_id": "string",
  
"institution_name": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Finalize Connection

POST
/bank/connections/{connection_id}/finalize

Called after the user returns from bank consent: read the granted accounts
and create a bank_account (business by default) for each.

Parameters

Header Parameters

authorization

Path Parameters

connection_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Delete Connection

DELETE
/bank/connections/{connection_id}

Parameters

Header Parameters

authorization

Path Parameters

connection_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Sync Account Now

POST
/bank/accounts/{account_id}/sync

Parameters

Header Parameters

authorization

Path Parameters

account_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Kancil — one workspace for contacts, work and money.