Quaestor (0.3.5)

Download OpenAPI specification:

Your self-hosted, read-only treasurer: a personal finance overview across all your bank accounts

Authentication

Most /api endpoints require authentication; a few (e.g. signing in, registration) are reachable without it. Where authentication is required, there are two ways to provide it:

The web frontend signs in via POST /api/auth/login and receives an HttpOnly session cookie that the browser then sends automatically on every request. This is what the UI uses; you normally never deal with it directly.

API key

For programmatic access, send a personal API key as a Bearer token:

Authorization: Bearer qk_your_api_key

API keys can only be created in the web frontend, under Settings → API keys. A key is only shown once at creation time. You can revoke a key from the same screen.

An API key can drive the same data endpoints as the frontend (accounts, transactions, bank connections, syncing). For safety it cannot be used for account self-management (e.g. changing your password or managing two-factor authentication or managing API keys)

Account

Create Manual Account

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
credential_id
required
integer (Credential Id)
name
required
string (Name) [ 1 .. 120 ] characters
Display Name (string) or Display Name (null) (Display Name)
balance
number (Balance)
Default: 0
balance_factor
number (Balance Factor) [ 0 .. 100 ]
Default: 100

Responses

Request samples

Content type
application/json
{
  • "credential_id": 0,
  • "name": "string",
  • "display_name": "string",
  • "balance": 0,
  • "balance_factor": 100
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "display_name": "string",
  • "balance": 0,
  • "balance_factor": 0,
  • "is_hidden": true,
  • "include_by_default": true
}

Update Account

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)
Request Body schema: application/json
required
Balance Factor (number) or Balance Factor (null) (Balance Factor)
Display Name (string) or Display Name (null) (Display Name)
Is Hidden (boolean) or Is Hidden (null) (Is Hidden)
Include By Default (boolean) or Include By Default (null) (Include By Default)
Balance (number) or Balance (null) (Balance)

Responses

Request samples

Content type
application/json
{
  • "balance_factor": 100,
  • "display_name": "string",
  • "is_hidden": true,
  • "include_by_default": true,
  • "balance": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "display_name": "string",
  • "balance": 0,
  • "balance_factor": 0,
  • "is_hidden": true,
  • "include_by_default": true
}

Delete Account

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Create Transaction

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)
Request Body schema: application/json
required
amount
required
number (Amount)
date
required
string <date> (Date)
Purpose (string) or Purpose (null) (Purpose)
Other Party (string) or Other Party (null) (Other Party)
TransactionType (string) or null
TransactionCategory (string) or null
Note (string) or Note (null) (Note)

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "date": "2019-08-24",
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "purpose": "string",
  • "date": "2019-08-24",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "pending": true,
  • "contract_id": 0
}

Delete Transaction

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Transaction

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "purpose": "string",
  • "date": "2019-08-24",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "pending": true,
  • "contract_id": 0,
  • "transfer_counterpart": {
    }
}

Update Transaction

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
account_id
required
integer (Account Id)
Request Body schema: application/json
required
Note (string) or Note (null) (Note)
TransactionCategory (string) or null
Amount (number) or Amount (null) (Amount)
Date (string) or Date (null) (Date)
Purpose (string) or Purpose (null) (Purpose)
Other Party (string) or Other Party (null) (Other Party)
TransactionType (string) or null

Responses

Request samples

Content type
application/json
{
  • "note": "string",
  • "category": "SALARY",
  • "amount": 0,
  • "date": "2019-08-24",
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "purpose": "string",
  • "date": "2019-08-24",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "pending": true,
  • "contract_id": 0,
  • "transfer_counterpart": {
    }
}

List Attachments

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload Attachments

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
account_id
required
integer (Account Id)
Request Body schema: multipart/form-data
required
files
required
Array of strings (Files)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download Attachment

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
attachment_id
required
integer (Attachment Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
null

Delete Attachment

Authorizations:
Session cookieAPI key
path Parameters
transaction_id
required
integer (Transaction Id)
attachment_id
required
integer (Attachment Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Create Recurring Transaction

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)
Request Body schema: application/json
required
amount
required
number (Amount)
Purpose (string) or Purpose (null) (Purpose)
Other Party (string) or Other Party (null) (Other Party)
TransactionType (string) or null
TransactionCategory (string) or null
Note (string) or Note (null) (Note)
frequency
required
string (RecurrenceFrequency)
Enum: "MONTHLY" "WEEKLY"
Day Of Month (integer) or Day Of Month (null) (Day Of Month)
Day Of Week (integer) or Day Of Week (null) (Day Of Week)
book_immediately
boolean (Book Immediately)
Default: false

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "frequency": "MONTHLY",
  • "day_of_month": 1,
  • "day_of_week": 6,
  • "book_immediately": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "frequency": "MONTHLY",
  • "day_of_month": 0,
  • "day_of_week": 0,
  • "next_run_date": "2019-08-24"
}

List Recurring Transactions

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Recurring Transaction

Authorizations:
Session cookieAPI key
path Parameters
recurring_transaction_id
required
integer (Recurring Transaction Id)
account_id
required
integer (Account Id)
Request Body schema: application/json
required
amount
required
number (Amount)
Purpose (string) or Purpose (null) (Purpose)
Other Party (string) or Other Party (null) (Other Party)
TransactionType (string) or null
TransactionCategory (string) or null
Note (string) or Note (null) (Note)
frequency
required
string (RecurrenceFrequency)
Enum: "MONTHLY" "WEEKLY"
Day Of Month (integer) or Day Of Month (null) (Day Of Month)
Day Of Week (integer) or Day Of Week (null) (Day Of Week)

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "frequency": "MONTHLY",
  • "day_of_month": 1,
  • "day_of_week": 6
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "purpose": "string",
  • "other_party": "string",
  • "transaction_type": "INCOMING",
  • "category": "SALARY",
  • "note": "string",
  • "frequency": "MONTHLY",
  • "day_of_month": 0,
  • "day_of_week": 0,
  • "next_run_date": "2019-08-24"
}

Delete Recurring Transaction

Authorizations:
Session cookieAPI key
path Parameters
recurring_transaction_id
required
integer (Recurring Transaction Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Create Expected Transaction

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)
Request Body schema: application/json
required
amount
required
number (Amount)
Other Party (string) or Other Party (null) (Other Party)
Note (string) or Note (null) (Note)
match_tolerance_percent
integer (Match Tolerance Percent)
Default: 0
Enum: 0 5 10 15 20

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "other_party": "string",
  • "note": "string",
  • "match_tolerance_percent": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "other_party": "string",
  • "note": "string",
  • "match_tolerance_percent": 0
}

List Expected Transactions

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Expected Transaction

Authorizations:
Session cookieAPI key
path Parameters
expected_transaction_id
required
integer (Expected Transaction Id)
account_id
required
integer (Account Id)
Request Body schema: application/json
required
amount
required
number (Amount)
Other Party (string) or Other Party (null) (Other Party)
Note (string) or Note (null) (Note)
match_tolerance_percent
integer (Match Tolerance Percent)
Default: 0
Enum: 0 5 10 15 20

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "other_party": "string",
  • "note": "string",
  • "match_tolerance_percent": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "amount": 0,
  • "other_party": "string",
  • "note": "string",
  • "match_tolerance_percent": 0
}

Delete Expected Transaction

Authorizations:
Session cookieAPI key
path Parameters
expected_transaction_id
required
integer (Expected Transaction Id)
account_id
required
integer (Account Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Account History

Authorizations:
Session cookieAPI key
path Parameters
account_id
required
integer (Account Id)
query Parameters
page
integer (Page) >= 1
Default: 1
page_size
integer (Page Size) [ 1 .. 365 ]
Default: 30

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ],
  • "balance_at_date": {
    },
  • "page": 0,
  • "page_size": 0,
  • "total_days": 0
}

Account Groups

Get Layout

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "ungrouped": [
    ]
}

Set Layout

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
required
Array of objects (Groups)
ungrouped
required
Array of integers (Ungrouped)

Responses

Request samples

Content type
application/json
{
  • "groups": [
    ],
  • "ungrouped": [
    ]
}

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "ungrouped": [
    ]
}

Api Keys

List Api Keys

Authorizations:
Session cookie

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Api Key

Authorizations:
Session cookie
Request Body schema: application/json
required
name
required
string (Name) [ 1 .. 100 ] characters

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "prefix": "string",
  • "created_at": "string",
  • "last_used_at": "string",
  • "token": "string"
}

Delete Api Key

Authorizations:
Session cookie
path Parameters
api_key_id
required
integer (Api Key Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Auth

Register

Request Body schema: application/json
required
user_name
required
string (User Name) non-empty
display_name
required
string (Display Name)
password
required
string (Password) >= 15 characters
theme
string (Theme)
Default: "SYSTEM"
Enum: "LIGHT" "DARK" "SYSTEM"
Language (string) or Language (null) (Language)
Currency (string) or Currency (null) (Currency)

Responses

Request samples

Content type
application/json
{
  • "user_name": "string",
  • "display_name": "string",
  • "password": "stringstringstr",
  • "theme": "LIGHT",
  • "language": "string",
  • "currency": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_name": "string",
  • "display_name": "string",
  • "language": "string",
  • "currency": "string",
  • "theme": "LIGHT",
  • "two_factor_enabled": true,
  • "balance": 0,
  • "credentials": [ ]
}

Login

Request Body schema: application/json
required
user_name
required
string (User Name) non-empty
password
required
string (Password)
remember_me
boolean (Remember Me)
Default: false

Responses

Request samples

Content type
application/json
{
  • "user_name": "string",
  • "password": "string",
  • "remember_me": false
}

Response samples

Content type
application/json
null

Verify Two Factor

Request Body schema: application/json
required
challenge_token
required
string (Challenge Token)
code
required
string (Code)
remember_me
boolean (Remember Me)
Default: false

Responses

Request samples

Content type
application/json
{
  • "challenge_token": "string",
  • "code": "string",
  • "remember_me": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_name": "string",
  • "display_name": "string",
  • "language": "string",
  • "currency": "string",
  • "theme": "LIGHT",
  • "two_factor_enabled": true,
  • "balance": 0,
  • "credentials": [ ]
}

Me

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_name": "string",
  • "display_name": "string",
  • "language": "string",
  • "currency": "string",
  • "theme": "LIGHT",
  • "two_factor_enabled": true,
  • "balance": 0,
  • "credentials": [ ]
}

Password Requirements

Responses

Response samples

Content type
application/json
{
  • "min_length": 0,
  • "rules": [
    ]
}

Logout

Responses

Contracts

Create Contract

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
name
required
string (Name)
account_id
required
integer (Account Id)
TransactionCategory (string) or null
ContractFrequency (string) or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "account_id": 0,
  • "category": "SALARY",
  • "frequency": "WEEKLY"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "name": "string",
  • "note": "string",
  • "category": "SALARY",
  • "source": "DETECTED",
  • "median_amount": 0,
  • "frequency": "WEEKLY",
  • "expected_next_date": "2019-08-24",
  • "is_archived": false,
  • "is_overdue": false,
  • "amount_per_day": 0,
  • "amount_per_frequency": {
    },
  • "members": [ ]
}

List Contracts

Authorizations:
Session cookieAPI key
query Parameters
include_archived
boolean (Include Archived)
Default: false

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Contract

Authorizations:
Session cookieAPI key
path Parameters
contract_id
required
integer (Contract Id)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "name": "string",
  • "note": "string",
  • "category": "SALARY",
  • "source": "DETECTED",
  • "median_amount": 0,
  • "frequency": "WEEKLY",
  • "expected_next_date": "2019-08-24",
  • "is_archived": false,
  • "is_overdue": false,
  • "amount_per_day": 0,
  • "amount_per_frequency": {
    },
  • "members": [ ]
}

Update Contract

Authorizations:
Session cookieAPI key
path Parameters
contract_id
required
integer (Contract Id)
Request Body schema: application/json
required
name
required
string (Name)
TransactionCategory (string) or null
Note (string) or Note (null) (Note)
ContractFrequency (string) or null
Archived (boolean) or Archived (null) (Archived)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "category": "SALARY",
  • "note": "string",
  • "frequency": "WEEKLY",
  • "archived": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "name": "string",
  • "note": "string",
  • "category": "SALARY",
  • "source": "DETECTED",
  • "median_amount": 0,
  • "frequency": "WEEKLY",
  • "expected_next_date": "2019-08-24",
  • "is_archived": false,
  • "is_overdue": false,
  • "amount_per_day": 0,
  • "amount_per_frequency": {
    },
  • "members": [ ]
}

Delete Contract

Authorizations:
Session cookieAPI key
path Parameters
contract_id
required
integer (Contract Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Assign Transaction

Authorizations:
Session cookieAPI key
path Parameters
contract_id
required
integer (Contract Id)
Request Body schema: application/json
required
transaction_id
required
integer (Transaction Id)

Responses

Request samples

Content type
application/json
{
  • "transaction_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "name": "string",
  • "note": "string",
  • "category": "SALARY",
  • "source": "DETECTED",
  • "median_amount": 0,
  • "frequency": "WEEKLY",
  • "expected_next_date": "2019-08-24",
  • "is_archived": false,
  • "is_overdue": false,
  • "amount_per_day": 0,
  • "amount_per_frequency": {
    },
  • "members": [ ]
}

Remove Transaction

Authorizations:
Session cookieAPI key
path Parameters
contract_id
required
integer (Contract Id)
transaction_id
required
integer (Transaction Id)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account_id": 0,
  • "name": "string",
  • "note": "string",
  • "category": "SALARY",
  • "source": "DETECTED",
  • "median_amount": 0,
  • "frequency": "WEEKLY",
  • "expected_next_date": "2019-08-24",
  • "is_archived": false,
  • "is_overdue": false,
  • "amount_per_day": 0,
  • "amount_per_frequency": {
    },
  • "members": [ ]
}

Credentials

List Supported Banks

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
[
  • { }
]

List Credentials

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Credential

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
bank
required
string (BankProvider)
Enum: "fints" "enable_banking" "dfs" "fin4u" "trade_republic" "manual"
required
object (Credentials)

Responses

Request samples

Content type
application/json
{
  • "bank": "fints",
  • "credentials": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "bank": "fints",
  • "bank_name": "string",
  • "bank_icon": "string",
  • "accounts": [ ],
  • "last_fetching_timestamp": "string",
  • "requires_two_factor_authentication": true,
  • "sync_enabled": true
}

Get Credential

Authorizations:
Session cookieAPI key
path Parameters
credential_id
required
integer (Credential Id)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "bank": "fints",
  • "bank_name": "string",
  • "bank_icon": "string",
  • "accounts": [ ],
  • "last_fetching_timestamp": "string",
  • "requires_two_factor_authentication": true,
  • "sync_enabled": true
}

Update Credential

Authorizations:
Session cookieAPI key
path Parameters
credential_id
required
integer (Credential Id)
Request Body schema: application/json
required
Sync Enabled (boolean) or Sync Enabled (null) (Sync Enabled)

Responses

Request samples

Content type
application/json
{
  • "sync_enabled": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "bank": "fints",
  • "bank_name": "string",
  • "bank_icon": "string",
  • "accounts": [ ],
  • "last_fetching_timestamp": "string",
  • "requires_two_factor_authentication": true,
  • "sync_enabled": true
}

Delete Credential

Authorizations:
Session cookieAPI key
path Parameters
credential_id
required
integer (Credential Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Start Sync

Authorizations:
Session cookieAPI key
path Parameters
credential_id
required
integer (Credential Id)

Responses

Response samples

Content type
application/json
{
  • "job_id": "string",
  • "credential_id": 0,
  • "status": "running",
  • "expires_at": "string",
  • "error": "string",
  • "error_code": "cancelled",
  • "authorization_url": "string"
}

Get Sync Job

Authorizations:
Session cookieAPI key
path Parameters
job_id
required
string (Job Id)
credential_id
required
integer (Credential Id)

Responses

Response samples

Content type
application/json
{
  • "job_id": "string",
  • "credential_id": 0,
  • "status": "running",
  • "expires_at": "string",
  • "error": "string",
  • "error_code": "cancelled",
  • "authorization_url": "string"
}

Cancel Sync Job

Authorizations:
Session cookieAPI key
path Parameters
job_id
required
string (Job Id)
credential_id
required
integer (Credential Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Submit Sync Two Factor

Authorizations:
Session cookieAPI key
path Parameters
job_id
required
string (Job Id)
credential_id
required
integer (Credential Id)
Request Body schema: application/json
required
code
required
string (Code)

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "job_id": "string",
  • "credential_id": 0,
  • "status": "running",
  • "expires_at": "string",
  • "error": "string",
  • "error_code": "cancelled",
  • "authorization_url": "string"
}

I18N

List Languages

Responses

Response samples

Content type
application/json
{
  • "languages": [
    ]
}

List Currencies

Responses

Response samples

Content type
application/json
{
  • "currencies": [
    ]
}

Notification Rules

List Notification Rules

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Notification Rule

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
enabled
boolean (Enabled)
Default: true
include_content
boolean (Include Content)
Default: true
Name (string) or Name (null) (Name)
account_ids
required
Array of integers (Account Ids)
trigger
required
string (Trigger)
Value: "expected_transaction"

Responses

Request samples

Content type
application/json
Example
{
  • "enabled": true,
  • "include_content": true,
  • "name": "string",
  • "account_ids": [
    ],
  • "trigger": "expected_transaction"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "enabled": true,
  • "include_content": true,
  • "name": "string",
  • "trigger": "expected_transaction",
  • "account_ids": [
    ],
  • "other_party_contains": "string",
  • "categories": [ ],
  • "types": [ ],
  • "min_amount": 0,
  • "max_amount": 0,
  • "threshold": 0,
  • "direction": "below",
  • "days": 0,
  • "period": "weekly",
  • "weekday": 0
}

Update Notification Rule

Authorizations:
Session cookieAPI key
path Parameters
rule_id
required
integer (Rule Id)
Request Body schema: application/json
required
enabled
boolean (Enabled)
Default: true
include_content
boolean (Include Content)
Default: true
Name (string) or Name (null) (Name)
account_ids
required
Array of integers (Account Ids)
trigger
required
string (Trigger)
Value: "expected_transaction"

Responses

Request samples

Content type
application/json
Example
{
  • "enabled": true,
  • "include_content": true,
  • "name": "string",
  • "account_ids": [
    ],
  • "trigger": "expected_transaction"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "enabled": true,
  • "include_content": true,
  • "name": "string",
  • "trigger": "expected_transaction",
  • "account_ids": [
    ],
  • "other_party_contains": "string",
  • "categories": [ ],
  • "types": [ ],
  • "min_amount": 0,
  • "max_amount": 0,
  • "threshold": 0,
  • "direction": "below",
  • "days": 0,
  • "period": "weekly",
  • "weekday": 0
}

Delete Notification Rule

Authorizations:
Session cookieAPI key
path Parameters
rule_id
required
integer (Rule Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Push

Get Public Key

Responses

Response samples

Content type
application/json
{
  • "public_key": "string"
}

Subscribe

Authorizations:
Session cookieAPI key
Request Body schema: application/json
required
endpoint
required
string (Endpoint)
required
object (SubscriptionKeys)

Responses

Request samples

Content type
application/json
{
  • "endpoint": "string",
  • "keys": {
    }
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Send Test

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
{
  • "sent": 0,
  • "failed": 0,
  • "error": "string"
}

Settings

Get Settings

Responses

Response samples

Content type
application/json
{
  • "allow_new_user_registration": true,
  • "default_language": "string",
  • "default_currency": "string",
  • "display_timezone": "string",
  • "sync_interval_hours": 0,
  • "allowed_attachment_extensions": [
    ],
  • "max_attachment_size_mb": 0
}

Statistics

Category Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)
direction
string (Direction)
Default: "OUTGOING"
Enum: "INCOMING" "OUTGOING"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Category Trend Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
date_from
required
string <date> (Date From)
date_to
required
string <date> (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)
direction
string (Direction)
Default: "OUTGOING"
Enum: "INCOMING" "OUTGOING"
baseline_windows
integer (Baseline Windows) [ 1 .. 24 ]
Default: 6

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cashflow Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Net Savings Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Transaction Count Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)
group_by
string (Group By)
Default: "day"
Enum: "day" "week" "month" "weekday"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Other Party Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
Linked (string) or Linked (null) (Linked)
direction
string (Direction)
Default: "OUTGOING"
Enum: "INCOMING" "OUTGOING"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Net Worth Statistics

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)

Responses

Response samples

Content type
application/json
{
  • "series": [
    ],
  • "summary": {
    }
}

Net Worth Range Statistics

Authorizations:
Session cookieAPI key
query Parameters
start
required
string <date> (Start)
end
required
string <date> (End)
account_ids
required
Array of integers (Account Ids) non-empty

Responses

Response samples

Content type
application/json
{
  • "start": "2019-08-24",
  • "end": "2019-08-24",
  • "accounts": [
    ],
  • "total_at_start": 0,
  • "total_at_end": 0,
  • "total_difference": 0
}

Transactions

Search Transactions

Authorizations:
Session cookieAPI key
query Parameters
account_ids
required
Array of integers (Account Ids) non-empty
Text (string) or Text (null) (Text)
Amount From (number) or Amount From (null) (Amount From)
Amount To (number) or Amount To (null) (Amount To)
Date From (string) or Date From (null) (Date From)
Date To (string) or Date To (null) (Date To)
transaction_types
Array of strings (Transaction Types)
Items Enum: "INCOMING" "OUTGOING" "BUY" "SELL" "DEPOSIT" "REMOVAL" "DIVIDEND" "INTEREST" "INTEREST_CHARGE" "TAXES" "TAX_REFUND" "FEES" "FEES_REFUND" "SPINOFF" "SPLIT" "SWAP" "TRANSFER_IN" "TRANSFER_OUT" "ZERO"
categories
Array of strings (Categories)
Items Enum: "SALARY" "ALLOWANCE" "PENSION" "SIDE_INCOME" "REIMBURSEMENT" "INTEREST" "INVESTMENT" "SUBSCRIPTIONS" "RENT" "UTILITIES" "TRAVEL" "FUEL" "FITNESS" "ONLINE_SHOPPING" "SUPERMARKET" "DRUGSTORE" "RESTAURANTS" "PERSONAL_CARE" "CLOTHING" "GIFTS" "ENTERTAINMENT" "FEES" "SAVINGS" "WITHDRAWAL" "DEPOSIT" "TRANSFER" "UNKNOWN"
Note (string) or Note (null) (Note)
Linked (string) or Linked (null) (Linked)
Has Attachment (string) or Has Attachment (null) (Has Attachment)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Users

List User Sessions

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Revoke All Other User Sessions

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Revoke User Session

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)
session_id
required
integer (Session Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Update User

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)
Request Body schema: application/json
required
User Name (string) or User Name (null) (User Name)
Display Name (string) or Display Name (null) (Display Name)
Language (string) or Language (null) (Language)
Currency (string) or Currency (null) (Currency)
Theme (string) or null
Current Password (string) or Current Password (null) (Current Password)
New Password (string) or New Password (null) (New Password)

Responses

Request samples

Content type
application/json
{
  • "user_name": "string",
  • "display_name": "string",
  • "language": "string",
  • "currency": "string",
  • "theme": "LIGHT",
  • "current_password": "string",
  • "new_password": "stringstringstr"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "user_name": "string",
  • "display_name": "string",
  • "language": "string",
  • "currency": "string",
  • "theme": "LIGHT",
  • "two_factor_enabled": true,
  • "balance": 0,
  • "credentials": [ ]
}

Delete User

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Setup Two Factor

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)

Responses

Response samples

Content type
application/json
{
  • "secret": "string",
  • "otpauth_uri": "string",
  • "qr_code": "string"
}

Enable Two Factor

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)
Request Body schema: application/json
required
code
required
string (Code)

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "backup_codes": [
    ]
}

Disable Two Factor

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)
Request Body schema: application/json
required
code
required
string (Code)

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Regenerate Two Factor Backup Codes

Authorizations:
Session cookie
path Parameters
user_id
required
integer (User Id)

Responses

Response samples

Content type
application/json
{
  • "backup_codes": [
    ]
}

Sync Credentials

Authorizations:
Session cookieAPI key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Version

Get Version

Responses

Response samples

Content type
application/json
{
  • "current": "string",
  • "latest": "string",
  • "update_available": true,
  • "release_url": "string"
}
Supported banks