Skip to main content

Tidely Public API (2.0.0)

Download OpenAPI specification:Download

Introduction

Welcome to the Tidely Public API v2. This API enables customers to integrate with Tidely's financial planning and cash flow management platform.

Key Features

  • Financial Planning: Create and manage financial plans with flexible periods (daily, weekly, monthly)
  • Invoice Management: Import and sync invoices from external systems
  • Categories: Access and organize financial categories
  • Scenarios: Work with multiple financial scenarios for planning

Authentication

All API requests require authentication using an API key sent in the X-Authorization header. You can create and manage your API tokens in the Tidely application under Settings > API Keys (e.g., https://app.sam.tidely.com/settings/openapi for staging environment).

Support

For technical support, integration questions, or to report issues:

Authentication

Verify your API credentials and check authentication status. All other endpoints require a valid API key in the X-Authorization header.

Verify token

Verifies that the authentication token is valid

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "name": "string"
}

Companies

View companies.

Get companies

Get companies

Authorizations:
ApiKeyAuth
query Parameters
page
integer >= 0
Default: 0

Page number (0-based)

pageSize
integer [ 1 .. 1000 ]
Default: 50

Number of balances per page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Companies retrieved successfully",
  • "number": 0,
  • "size": 20,
  • "totalElements": 125,
  • "totalPages": 8,
  • "data": [
    ]
}

Get company

Get company by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the company

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Categories

Create, retrieve, update, and delete financial categories for organizing transactions and plans. Categories are hierarchical and classified by type (income/expense, operational/investment/financing).

Get categories

Retrieves all categories for the authenticated user

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create category

Creates a new financial category, type is ignored if parentId is specified

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string

Name of the category

type
required
string (CategoryType)
Enum: "INCOME_OPERATIONAL" "INCOME_INVESTMENT" "INCOME_FINANCING" "EXPENSE_OPERATIONAL" "EXPENSE_INVESTMENT" "EXPENSE_FINANCING"

Type of category indicating income or expense classification

parentId
integer or null <int64>

ID of the parent category for hierarchical categorization

Responses

Request samples

Content type
application/json
{
  • "name": "E-Commerce Revenue",
  • "type": "INCOME_OPERATIONAL",
  • "parentId": 100
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "E-Commerce Revenue",
  • "type": "INCOME_OPERATIONAL",
  • "parentId": 100,
  • "enabledForPlannedTransactions": true
}

Get category

Retrieves a single category by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the category

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "E-Commerce Revenue",
  • "type": "INCOME_OPERATIONAL",
  • "parentId": 100,
  • "enabledForPlannedTransactions": true
}

Update category

Updates an existing category

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the category

Request Body schema: application/json
required
name
string

Name of the category

type
string (CategoryType)
Enum: "INCOME_OPERATIONAL" "INCOME_INVESTMENT" "INCOME_FINANCING" "EXPENSE_OPERATIONAL" "EXPENSE_INVESTMENT" "EXPENSE_FINANCING"

Type of category indicating income or expense classification

Responses

Request samples

Content type
application/json
{
  • "name": "E-Commerce Revenue Updated",
  • "type": "INCOME_OPERATIONAL"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "E-Commerce Revenue Updated",
  • "type": "INCOME_OPERATIONAL",
  • "parentId": 100,
  • "enabledForPlannedTransactions": true
}

Delete category

Deletes a category by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the category

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "id": 0
}

Plans

Create, update, and delete financial plans for cash flow forecasting. Plans can be created for different periods (daily, weekly, monthly) and scenarios. Supports both single and bulk plan creation.

Create plan

Creates a new financial plan for a specific category and scenario

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
categoryId
integer <int64>

Unique identifier of the category. If neither categoryId nor categoryName is specified, plan will go to uncategorized expenses for negative amounts and uncategorized income for positive amounts.

categoryName
string

Category path as a string (e.g., 'Einzahlungen aus Geschäftstätigkeit->E-COMMERCE->Plattform 1'). Used if categoryId is not provided.

amount
required
number [ -10000000000000000 .. 10000000000000000 ]

Amount of the plan (negative for expenses, positive for income)

period
required
string
Enum: "DAILY" "WEEKLY" "MONTHLY"

Period for which the plan value applies

date
required
string <date>

The date of the plan in ISO 8601 format (yyyy-MM-dd). For MONTHLY period, use the first day of the month. For WEEKLY period, use the first day of the week.

type
required
string
Value: "ONE_TIME"

Type of the plan

name
required
string [ 1 .. 100 ] characters

Name of the plan

scenarioId
integer <int64>

Identifier of the scenario. If not specified, the plan will be created for the Base scenario.

scenarioName
string

Name of the scenario. Used if scenarioId is not provided. If neither is specified, the Base scenario is used.

replaceCurrentValuesForThePeriod
boolean
Default: false

If true, replaces existing values for the period. If false, adds to existing values.

Responses

Request samples

Content type
application/json
{
  • "categoryId": 123,
  • "amount": 5000,
  • "period": "MONTHLY",
  • "date": "2024-10-01",
  • "type": "ONE_TIME",
  • "name": "October Revenue Plan",
  • "scenarioId": 1,
  • "replaceCurrentValuesForThePeriod": false
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "planId": 0
}

Delete plans

Deletes all plans for a specific category and scenario combination

Authorizations:
ApiKeyAuth
query Parameters
categoryId
required
integer <int64>
Example: categoryId=123

The ID of the category

scenarioId
required
integer <int64>
Example: scenarioId=1

The ID of the scenario

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "deletedCount": 0
}

Create multiple plans

Creates multiple financial plans in a single request

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
Array
categoryId
integer <int64>

Unique identifier of the category. If neither categoryId nor categoryName is specified, plan will go to uncategorized expenses for negative amounts and uncategorized income for positive amounts.

categoryName
string

Category path as a string (e.g., 'Einzahlungen aus Geschäftstätigkeit->E-COMMERCE->Plattform 1'). Used if categoryId is not provided.

amount
required
number [ -10000000000000000 .. 10000000000000000 ]

Amount of the plan (negative for expenses, positive for income)

period
required
string
Enum: "DAILY" "WEEKLY" "MONTHLY"

Period for which the plan value applies

date
required
string <date>

The date of the plan in ISO 8601 format (yyyy-MM-dd). For MONTHLY period, use the first day of the month. For WEEKLY period, use the first day of the week.

type
required
string
Value: "ONE_TIME"

Type of the plan

name
required
string [ 1 .. 100 ] characters

Name of the plan

scenarioId
integer <int64>

Identifier of the scenario. If not specified, the plan will be created for the Base scenario.

scenarioName
string

Name of the scenario. Used if scenarioId is not provided. If neither is specified, the Base scenario is used.

replaceCurrentValuesForThePeriod
boolean
Default: false

If true, replaces existing values for the period. If false, adds to existing values.

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "createdCount": 0,
  • "planIds": [
    ]
}

Invoices

Import invoices from external systems into Tidely. Supports sales invoices, purchase invoices, and credit notes. Automatically categorizes and integrates with cash flow planning.

Get invoices

Get all invoices

Authorizations:
ApiKeyAuth
query Parameters
invoiceTypeFilter
required
string (InvoiceTypeFilter)
Enum: "SALE" "PURCHASE"

Type of invoices to retrieve

externalId
Array of strings <= 100 items [ items <= 255 characters ]

Filter invoices by external identifier. Repeat the parameter to filter by multiple external IDs (e.g. ?externalId=INV-001&externalId=INV-002). Limited to 100 values per request to avoid exceeding URL length limits.

page
integer >= 0
Default: 0

Page number (0-based)

pageSize
integer [ 1 .. 1000 ]
Default: 50

Number of invoices per page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Invoices retrieved successfully",
  • "number": 0,
  • "size": 50,
  • "totalElements": 2,
  • "totalPages": 1,
  • "data": [
    ]
}

Create invoice

Creates a new invoice

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
invoiceDate
string <date>

Invoice date in ISO 8601 format

dueDate
string <date>

Due date of the invoice in ISO 8601 format

paidDate
string or null <date>

Invoice payment date and time in ISO 8601 format

invoiceNumber
required
string non-empty

Invoice number

contactName
required
string non-empty

Recipient name of the invoice

totalGrossAmount
required
number [ -10000000000000000 .. 10000000000000000 ]

Total gross amount including tax

invoiceStatus
string
Enum: "DRAFT" "OPEN" "PAID" "PARTIALLY_PAID" "CANCELED" "WITHHELD"

Status of the invoice

openAmount
number or null [ -10000000000000000 .. 10000000000000000 ]

Open (unpaid) amount of the invoice

note
string or null

Description or notes for the invoice

categoryId
integer or null <int64>

Unique identifier of the category

externalId
string

External identifier of the invoice, used for integration with external systems

invoiceType
required
string (InvoiceTypeEnum)
Enum: "SALES_INVOICE" "SALES_CREDIT_NOTE" "PURCHASE_INVOICE" "PURCHASE_CREDIT_NOTE"

Type of invoice

Responses

Request samples

Content type
application/json
{
  • "externalId": "INV-2024-001",
  • "invoiceDate": "2024-10-15",
  • "dueDate": "2024-11-15",
  • "invoiceNumber": "2024-001",
  • "contactName": "ACME Corp",
  • "invoiceType": "SALES_INVOICE",
  • "totalGrossAmount": 11900,
  • "openAmount": 11900,
  • "invoiceStatus": "OPEN"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Create multiple invoices

Creates multiple invoices in a single request. A maximum of 1000 invoices per request is allowed. Requests exceeding this limit will be rejected with a 400 Bad Request response.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (InvoiceCreateRequest) [ 1 .. 1000 ] items
Array ([ 1 .. 1000 ] items)
invoiceDate
string <date>

Invoice date in ISO 8601 format

dueDate
string <date>

Due date of the invoice in ISO 8601 format

paidDate
string or null <date>

Invoice payment date and time in ISO 8601 format

invoiceNumber
required
string non-empty

Invoice number

contactName
required
string non-empty

Recipient name of the invoice

totalGrossAmount
required
number [ -10000000000000000 .. 10000000000000000 ]

Total gross amount including tax

invoiceStatus
string
Enum: "DRAFT" "OPEN" "PAID" "PARTIALLY_PAID" "CANCELED" "WITHHELD"

Status of the invoice

openAmount
number or null [ -10000000000000000 .. 10000000000000000 ]

Open (unpaid) amount of the invoice

note
string or null

Description or notes for the invoice

categoryId
integer or null <int64>

Unique identifier of the category

externalId
string

External identifier of the invoice, used for integration with external systems

invoiceType
required
string (InvoiceTypeEnum)
Enum: "SALES_INVOICE" "SALES_CREDIT_NOTE" "PURCHASE_INVOICE" "PURCHASE_CREDIT_NOTE"

Type of invoice

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "createdCount": 0,
  • "invoiceIds": [
    ],
  • "failedCount": 0,
  • "errors": [
    ]
}

Get invoice

Get invoice by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the invoice

query Parameters
invoiceTypeFilter
required
string (InvoiceTypeFilter)
Enum: "SALE" "PURCHASE"

Type of invoices to retrieve

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Update invoice

Updates an invoice. Invoices that originate from an ERP integration are read-only — update and delete operations are not allowed.

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the invoice

query Parameters
invoiceTypeFilter
required
string (InvoiceTypeFilter)
Enum: "SALE" "PURCHASE"

Type of invoices to retrieve

Request Body schema: application/json
required
invoiceDate
string <date>

Invoice date in ISO 8601 format

dueDate
string <date>

Due date of the invoice in ISO 8601 format

paidDate
string or null <date>

Invoice payment date and time in ISO 8601 format

invoiceNumber
string non-empty

Invoice number

contactName
string non-empty

Recipient name of the invoice

totalGrossAmount
number [ -10000000000000000 .. 10000000000000000 ]

Total gross amount including tax

invoiceStatus
string
Enum: "DRAFT" "OPEN" "PAID" "PARTIALLY_PAID" "CANCELED" "WITHHELD"

Status of the invoice

openAmount
number or null [ -10000000000000000 .. 10000000000000000 ]

Open (unpaid) amount of the invoice

note
string or null

Description or notes for the invoice

categoryId
integer or null <int64>

Unique identifier of the category

Responses

Request samples

Content type
application/json
{
  • "invoiceDate": "2024-10-15",
  • "dueDate": "2024-11-15",
  • "invoiceNumber": "2024-001",
  • "contactName": "ACME Corp",
  • "totalGrossAmount": 11900,
  • "openAmount": 11900,
  • "invoiceStatus": "PAID",
  • "currency": "EUR",
  • "paidDate": "2024-11-10"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Delete invoice

Deletes an invoice by id. Invoices that originate from an ERP integration are read-only — update and delete operations are not allowed.

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the invoice

query Parameters
invoiceTypeFilter
required
string (InvoiceTypeFilter)
Enum: "SALE" "PURCHASE"

Type of invoices to retrieve

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "id": 0
}

Scenarios

Access financial planning scenarios for what-if analysis. Each account has a base scenario and can create additional scenarios for comparison.

Get scenarios

Retrieves all scenarios for the authenticated user

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get scenario

Retrieves a single scenario by its ID

Authorizations:
ApiKeyAuth
path Parameters
scenarioId
required
integer <int64>
Example: 1

The ID of the scenario to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "isBaseCase": true
}

Bank Accounts

View and manage your bank accounts.

Get bank accounts

Get all bank accounts

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Bank accounts retrieved successfully",
  • "data": [
    ]
}

Create bank account

Creates a new bank account

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
companyId
integer <int64>

ID of the company the bank account belongs to

iban
string

International Bank Account Number

accountNumber
string

Local account number

accountCurrency
required
string (Currency)
Default: "EUR"
Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BOV" "BRL" "BSD" "BTC" "BTN" "BWP" "BYR" "BYN" "BZD" "CAD" "CDF" "CHE" "CHF" "CHN" "CHW" "CLF" "CLP" "CNY" "COP" "COU" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KID" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MRU" "MUR" "MVR" "MWK" "MXN" "MXV" "MYR" "MZN" "NAD" "NGN" "NIO" "NIS" "NOK" "NPR" "NTD" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PRB" "PYG" "QAR" "RMB" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SLS" "SOS" "SRD" "SSP" "STD" "STN" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TVD" "TWD" "TZS" "UAH" "UGX" "USD" "USN" "UYI" "UYU" "UYW" "UZS" "VEF" "VES" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XBA" "XBB" "XBC" "XBD" "XCD" "XDR" "XOF" "XPD" "XPF" "XPT" "XSU" "XTS" "XUA" "XXX" "YER" "ZAR" "ZMK" "ZMW" "ZWB" "ZWL"

ISO 4217 currency codes

accountName
required
string

Name of the account

bankName
required
string <= 255 characters

Bank of the account

balanceReference
number [ -1000000000000 .. 1000000000000 ]

Start-of-day balance of the bank account on the date specified in balanceDate. This balance will be used as a reference for calculating past and future balances based on the bank account's transactions.

balanceDate
string <date>

The date of the balance specified in balanceReference in ISO 8601 format (yyyy-MM-dd).

accountType
required
string (AccountType)
Enum: "CHECKING" "SAVINGS" "CREDITCARD" "SECURITY" "LOAN" "POCKET" "MEMBERSHIP" "BAUSPAREN"

Type of account

externalId
string

External identifier for the bank account, used for integration with external systems

Responses

Request samples

Content type
application/json
{
  • "externalId": "123",
  • "iban": "DE89370400440532013000",
  • "accountNumber": "1234567890",
  • "accountCurrency": "EUR",
  • "accountName": "Main Business Account",
  • "bankName": "Deutsche Bank",
  • "companyId": 1,
  • "accountType": "CHECKING",
  • "balanceReference": 2100,
  • "balanceDate": "2025-03-10"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Get bank account

Get bank account by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Update bank account

Updates a bank account

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account

Request Body schema: application/json
required
companyId
integer <int64>

ID of the company the bank account belongs to

iban
string

International Bank Account Number

accountNumber
string

Local account number

accountCurrency
string (Currency)
Default: "EUR"
Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BOV" "BRL" "BSD" "BTC" "BTN" "BWP" "BYR" "BYN" "BZD" "CAD" "CDF" "CHE" "CHF" "CHN" "CHW" "CLF" "CLP" "CNY" "COP" "COU" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KID" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MRU" "MUR" "MVR" "MWK" "MXN" "MXV" "MYR" "MZN" "NAD" "NGN" "NIO" "NIS" "NOK" "NPR" "NTD" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PRB" "PYG" "QAR" "RMB" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SLS" "SOS" "SRD" "SSP" "STD" "STN" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TVD" "TWD" "TZS" "UAH" "UGX" "USD" "USN" "UYI" "UYU" "UYW" "UZS" "VEF" "VES" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XBA" "XBB" "XBC" "XBD" "XCD" "XDR" "XOF" "XPD" "XPF" "XPT" "XSU" "XTS" "XUA" "XXX" "YER" "ZAR" "ZMK" "ZMW" "ZWB" "ZWL"

ISO 4217 currency codes

accountName
string

Name of the account

bankName
string <= 255 characters

Bank of the account

balanceReference
number [ -1000000000000 .. 1000000000000 ]

Start-of-day balance of the bank account on the date specified in balanceDate. This balance will be used as a reference for calculating past and future balances based on the bank account's transactions.

balanceDate
string <date>

The date of the balance specified in balanceReference in ISO 8601 format (yyyy-MM-dd).

accountType
string (AccountType)
Enum: "CHECKING" "SAVINGS" "CREDITCARD" "SECURITY" "LOAN" "POCKET" "MEMBERSHIP" "BAUSPAREN"

Type of account

externalId
string

External identifier for the bank account, used for integration with external systems

Responses

Request samples

Content type
application/json
{
  • "externalId": "123",
  • "iban": "DE89370400440532213000",
  • "accountNumber": "1234567890",
  • "accountCurrency": "EUR",
  • "accountName": "Test bank account",
  • "bankName": "Deutsche Bank",
  • "accountType": "CHECKING",
  • "balanceDate": "2026-03-11",
  • "companyId": 1,
  • "balanceReference": 2400
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Delete bank accounts

Deletes bank account by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "id": 0
}

Get bank account balances

Get all balances for a bank account

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

ID of the bank account

query Parameters
page
integer >= 0
Default: 0

Page number (0-based)

pageSize
integer [ 1 .. 1000 ]
Default: 50

Number of balances per page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Bank account balances retrieved successfully",
  • "number": 0,
  • "size": 20,
  • "totalElements": 125,
  • "totalPages": 8,
  • "data": [
    ]
}

Bank Account Transactions

View and manage bank account transactions.

Get bank account transactions

Get all bank account transactions

Authorizations:
ApiKeyAuth
query Parameters
bankAccountId
required
integer <int64>

ID of the bank account to filter transactions

page
integer >= 0
Default: 0

Page number (0-based)

pageSize
integer [ 1 .. 1000 ]
Default: 50

Number of transactions per page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Transactions retrieved successfully",
  • "number": 0,
  • "size": 20,
  • "totalElements": 125,
  • "totalPages": 8,
  • "data": [
    ]
}

Create bank account transaction

Creates a new bank account transaction

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
bankAccountId
required
integer <int64>
required
object

Bank account transaction base model

Responses

Request samples

Content type
application/json
{
  • "bankAccountId": 10,
  • "transaction": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Create multiple bank account transactions

Creates multiple bank account transactions in a single request. A maximum of 1000 transactions per bank account entry is allowed per request. Requests exceeding this limit will be rejected with a 400 Bad Request response.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
bankAccountId
required
integer <int64>
required
Array of objects [ 1 .. 1000 ] items

Responses

Request samples

Content type
application/json
{
  • "bankAccountId": 10,
  • "transactions": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "createdCount": 0,
  • "transactionIds": [
    ],
  • "failedCount": 0,
  • "errors": [
    ],
  • "skippedCount": 0,
  • "skipped": [
    ]
}

Check existence of bank account transactions by external ID

Checks whether transactions with the given external IDs already exist for a bank account. Useful for deduplication checks before a bulk create, or for inline reconciliation after a resend. A maximum of 1000 external IDs per request is allowed.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
bankAccountId
required
integer <int64>

ID of the bank account to check against

externalIds
required
Array of strings [ 1 .. 1000 ] items

External IDs to check

Responses

Request samples

Content type
application/json
{
  • "bankAccountId": 10,
  • "externalIds": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Get bank account transaction

Get bank account transaction by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account transaction

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Update bank account transaction

Updates a bank account transaction

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account transaction

Request Body schema: application/json
required
categoryId
integer <int64>

ID of the category

bookingDate
string <date>

Booking date in ISO 8601 format

amount
number [ -10000000000000000 .. 10000000000000000 ]

Transaction amount in bank account currency

counterpartName
string

Counterpart of the transaction

counterpartAccountNumber
string

Counterpart account number of the transaction

counterpartIban
string

Counterpart iban of the transaction

purpose
string

Description of the transaction

counterpartCustomerReference
string

Counterpart customer reference

externalId
string <= 255 characters

External identifier for the transaction, used for integration with external systems

Responses

Request samples

Content type
application/json
{
  • "categoryId": 5,
  • "externalId": "1234",
  • "bookingDate": "2024-10-15",
  • "amount": -120.5,
  • "counterpartName": "Amazon EU",
  • "counterpartAccountNumber": "9876543210",
  • "counterpartIban": "DE44500105175407324931",
  • "purpose": "Office supplies purchase",
  • "counterpartCustomerReference": "reference"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Delete bank account transactions

Deletes bank account transaction by id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer <int64>

The ID of the bank account transaction

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "id": 0
}

Cashflow

Retrieve the aggregated cashflow per period (month, week or day) for a scenario, including opening and closing balances, sales and purchases totals, amounts per category, and per-period overdraft and liquidity information.

Get cashflow

Retrieves the cashflow of the authenticated company aggregated per period. Each period bucket contains the opening and closing balances (actual, prognosed, total and plan), the sales and purchases totals, the amounts per category, the aggregated income and expense details, and any non-financial KPIs. Per-period overdraft and liquidity figures are returned alongside, keyed by the same period start dates. All amounts are returned with two decimals. Only periods within the resolved from/to range are returned.

When scenarioId is omitted, the base forecast scenario is used. When from/to are omitted, the range defaults to 6 periods in the past and 18 periods in the future. The range between from and to must not exceed 36 periods.

Authorizations:
ApiKeyAuth
query Parameters
scenarioId
integer <int64>
Example: scenarioId=1

ID of the scenario to calculate the cashflow for. Defaults to the base forecast scenario.

period
string (CashflowPeriod)
Default: "MONTH"
Enum: "MONTH" "WEEK" "DAY"

Aggregation period of the cashflow buckets.

from
string <date>
Example: from=2025-01-01

Start of the range in ISO 8601 format (yyyy-MM-dd). Must be the first day of the requested period (first day of the month for MONTH, Monday for WEEK). When omitted it defaults to 6 periods before to, or before the current date when to is omitted as well.

to
string <date>
Example: to=2025-12-31

End of the range in ISO 8601 format (yyyy-MM-dd). Must be the last day of the requested period (last day of the month for MONTH, Sunday for WEEK) and not before from. When omitted it defaults to 18 periods after from, or after the current date when from is omitted as well.

Responses

Response samples

Content type
application/json
{
  • "cashflow": {
    }
}