Download OpenAPI specification:Download
The finoOS API provides a safe and secure way to access financial services powered by fino.
Once you have obtained a client identifier
and a client secret
, you can start using the finoOS API as described in the following sections.
All endpoints are located at https://os.fino.cloud/api
for production access and https://os.test.fino.cloud/api
for testing access.
Legacy API finoOS1 Documentation: legacy.
To integrate with the finoOS API, we assume you to be familiar with the following technical principles:
For more information on these topics, follow the respective links. If you are unsure how to integrate with the finoOS API after reading the documentation, feel free to contact us.
Error responses of the API will return one of the HTTP error codes listed below in the Status Codes and Errors table. Error responses will contain a JSON-encoded body of the following format:
{
"type": "forbidden",
"message": "Forbidden. No access to this resource"
}
Status Codes and Errors
Code | Name | Description |
---|---|---|
200 | OK | Success |
201 | Created | Success |
202 | Accepted | Success |
204 | No Content | Success, but no response content |
400 | Bad Request | The provided request was invalid. Most of the times, the given format is incorrect. |
401 | Unauthorized | Invalid authorization. Check your access tokens or tenant id and secret |
403 | Forbidden | Access for the given resource or operation was denied |
404 | Not Found | The requested resource doesn't exist |
409 | Conflict | The request conflicts with a previous request |
429 | Too Many Requests | Too many requests hit the API too quickly. Rate limit exceeded |
5xx | Server Errors | Unknown finoOS server errors |
To authenticate yourself with the finoOS API, you exchange your client identifier
and client secret
for a temporary valid pair of JSON web tokens(JWT) via the
Authenticate endpoint. The returned
accessToken
has to be provided in every following request via the Authorization
header.
Authenticate with your credentials client_id
and client_secret
and grant_type=client_credentials
to retrieve a JWT.
The expiresIn
property indicate the lifetime of the accessToken
in seconds.
Generate new token with:
client_id
=5d7267d1b747aa683d88668fclient_secret
=5d7267d1b747aa683d88668fgrant_type
=client_credentialsclient_id required | string 5d7267d1b747aa683d88668f |
client_secret required | string 5d7267d1b747aa683d88668f |
grant_type required | string client_credentials |
{- "access_token": "jA1nN-pl4uEwyJ0_-v3rIr3byH2PwyQ_deE20sWDEdolpJB-NBASpQyxXnjL1M9Yorq3QZAUCuaam9DH_KoLb3NlOPVDar83lI3_Ns3R_LrMcs_P4hs_m57Z-h-BBBdKklvqibLAZTp_0l90-Quy1vcrER7lN3oIfwSEpxhebA8CWKlTYROUfTax6g_25JSAKtUT-wjGl29_rRlFIs9tQcmDrwCkz7iRv5y9tE_S5hbiJ5n7vBPKna7zaeYqcq-09K_SP8iopGkiUC1LVUIiwYt2UdDGi2FnebhtWiuPQTE0zVqqe_ivY0GTKvbQndXfAYkMnWS3L6BXcIAFNPxBpcRynkAsOM5GUKtGa8laHkcAJ5uzPsurlWhPnlmFQv41fQvyzMH-jWWqzeU0RHyIufgy2Zj6-sO4ImbH1lhK2M_Y4dplIAtAfWIcWzatz3SAuksdCp1r8FuSBP2uMS0Y2v0nQU6QC78WymqNPebv7XO-q55Tl4CO3z-uf4qeV0RnQLMvNa0LIz-IduJicV01_QKw8dCfn4zLNCV5l8Tc15G1CumDIpFFe_kbuYWyQ9v6111EyPVOu3Qeom8zDWE5qmaiQ8eB-LE45zi7Da_6HKVH0LSSMEzneNDYonJqQR1Ea1mkHglzjbQRiylclCzMRNKbAKhXM7erolX0HwLj27iliGoQ1itIgeAsNYtty2JVmIE2pI2p2YimvUkLNiqhhZtFhagDVmxo2GeFD7PBS4-RxdmM0kuyb-VB8sDFMEeZ5hW1wec2rfy1eNfS5sVLtSvCBpMbUvG0eHZWHvYAFX-4yJ5F1tQoYlK_Yc7RJuR_D0lcpBTiobYwRCXIsuGMf-hhrSyzSKDMG0rIowf-XC1XInAjdzpq4LLNykUIntJrFsDobbngoKJAMJUcRA3SUElRXvYkms6E62lSQPEGeuPTLcMrM3mumUND6uf0wcw96VM3Rd6NgSJ-U6Xd8ofy76X-GSYxj3O7j4r5EjEqHFaogLpthA85PYJmYdinH7eXRQ47AHLJmAwXfS-Tiu776Iep8_lUY2n78_i4QaA8gPPyLXa6JN-IL6uFdnowjGfpDWnIjUmUqVODMIrtIr7LjNtQhz0PXj-PvUIjXTcA__wkGZDi3TXSJ9X8C7XH7xUJbXo1jQsya-A_5erTd6RGSZs4Pgtn6Q714sC2PVhB0Ks3qOVe6t42iFQ_1Y4VYBa9e-5PW4TRMn4VjF0wrXHWZqlF1uEf5c3zbFF9JDT4NehvdcAnBc9HcyY18V9V7tZGnrmIVeKSZIXO1nKBplQR_roSS-ikIBYwR0V6sVjy8czM6eE2-9WL64d0V7PNGth5XTUF3BLwVpKXFq6nyRdLJvN_5ASDUtOXV6Gwxv2a_hFMA9Sx1KzewxQZVNiOEwO7WGgja46JsmLg0EUDLAKXMFsUGAqdE9E6b8CY_EbSPfEEFayt6KOpihVKDwDsvhe-rIJiQlszfLDvPHQTC3DRL6KbmncdHjlV93RjcBK2HsF1DQM8MOjAtBQMDvZv46PA56kYnSPKqNH_vaLo7bX173j829KikrfJcCj8ca2fYOKh7kY6nZfFInceJFVmKFO0Ea1EqI4o9koCRNMVA4IRBJTVA4EC0WBPQ_KqY7K2tA85zDwFCVx8uxT8bdu7XUd3jU24KVkAucQoP_OcTCgPjaDCqoO0rta-EJ45547sxzhfaCoG4QFP5XMXFwwo756O5_QXBk8PUIwMDKKMCqvFn0ySswcOE5vLxhtXvRq7OXytEPtfVvmF_Tt0Kkb6KBvBrFjrWiJkNfWEvwZonPC5xN4FgJcIW-Xm4mOAuIJVIEH3I-JvmTYAMfgMz85L0C7O2ls9n9_vMsHAKpeDUn4iJ9UuIOp3x8QkEgBTBSoIC3e22wVGjdExzeuqIT_e_6poFl6l7Vx-UBi_dPrNGETxvW4K5-svXtiV-Igsw3YonweKIpZ516C3PajGK1_BjwyzsdyqKoKfadtdMXgv9llh98OfqAjXOju-BsWf9Z7DBpxC8G7ZgArHOKauh8bGORtC3iBph-Pe_YYuJhayTsD2iaf_JpMiZS2fS2ooeuLHC86A5ZFhQJ8dbrFCGDfWds_WCpKyy8igEZVjBdTZS5vRLJ5BJKvZw_vNa37FLjAH0EyuSCXaPHF9TpdsqtfJbauv-yvPBlwxVh3j8zm8WipFeRBdPitDlDWAvwIYrgYRIgGaq_FrSYVrXoSwTxSoahjRAGE7YdpEJWGssDttSol4fIdZA5IyDnhGV6zk-IYYZuPjWs8p49b0yyuvPiDCen-hgYIdaVrB3UyzdX9MxPfqopLAtp8KIr_9RbPkNg26eEfQOxqTCS6qPNIpnSHKEOxEQACdMEJ6VUFZcKzS41cywiGoqNHvu0PrwTQxcAYqS9A2d-xpf7M4ZJ73",
- "expires_in": 300,
- "not-before-policy": 1618235966,
- "scope": "credits webhooks companiesLogo bankingExternal banking contracts",
- "session_state": "1e2212ad-e13f-4d3d-af05-7d1716ee920a",
- "token_type": "Bearer"
}
Your client is assigned a set of scopes on creation. Scopes define which service or endpoints can be used with your client. For now, this can only be done manually by one of our engineers. If you want to book or cancel a certain scopes or services, please contact us.
To determine which scopes you need, just check out the endpoints and services you want to implement. The required scope is documented on every endpoint.
scope | description |
---|---|
banking | access to all banking features |
banking-fetch | fetching of raw accounts and transactions |
banking-connect | connecting to xs2a interface to retrieve accounts and transactions and enable automatic daily syncs of the data |
banking-upload | uploading of raw accounts and transactions |
categorization | transaction tags detected by our analysis |
categorization-categories | categories tree and their dependencies on each other and a description of the categories with localization in German and English |
account-detection | list of accounts uploaded or retrieved with xs2a and additional accounts detected by our analysis |
account-history | daily balances for all accounts |
contracts | contracts based on tags and other characteristics |
cockpits | comprehensive display of our analysis results |
renter-information | compact salary and rental information |
webhooks | enables to create webhooks to receive notifications or data for every scope or analysis result |
Users in the finoOS API represent the end-user of your application. All services that require some kind of data persistence are only usable in connection with a user.
Gets all users paginated.
page | string The page of users to retrieve |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "context": {
- "client": "testClient",
- "count": 15,
- "page": 1,
- "pageSize": 10,
- "tenant": "testTenant"
}, - "users": [
- {
- "automaticAnalysis": "suspended",
- "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "name": "John Doe",
- "type": "person",
- "userID": "e57a73a9-bcda-4cda-9e8a-99a915a7d675",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
]
}
Adds a user.
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
automaticAnalysis | string Default: "active" Enum: "suspended" "active" Optional field to deactivate the automatic analysis for the user. If set to suspended, the user will not be analyzed automatically and trigger-analysis can be used instead. If set to active, the user will be analyzed automatically. |
customUserID | string Optional CustomUserID of the created user. |
name | string Optional Name of the created user. |
type | string Enum: "person" "company" Type of the user. |
userScopes | Array of strings Optional Scopes array to create this specific user with reduced calculation scopes. Can be a array containing values of [banking,banking-fetch,banking-upload,account-detection,categorization,contracts,cockpits]. Only the given scopes will be accessible and calculated for the created user. |
{- "automaticAnalysis": "suspended",
- "customUserID": "0815",
- "name": "John Doe",
- "type": "person",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
{- "context": {
- "client": "testClient",
- "tenant": "testTenant"
}, - "user": {
- "automaticAnalysis": "suspended",
- "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "name": "John Doe",
- "type": "person",
- "userID": "e57a73a9-bcda-4cda-9e8a-99a915a7d675",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
}
Updates a user.
Authorization required | string The authorization token |
tenantID | string The client's tenant |
The payload of the request
automaticAnalysis | string Enum: "suspended" "active" Optional field to deactivate the automatic analysis for the user. If set to suspended, the user will not be analyzed automatically and trigger-analysis can be used instead. If set to active, the user will be analyzed automatically. |
customUserID | string Optional CustomUserID of the created user. |
name | string Optional Name of the created user. |
{- "automaticAnalysis": "active",
- "customUserID": "0815",
- "name": "John Doe"
}
{- "context": {
- "client": "testClient",
- "tenant": "testTenant"
}, - "user": {
- "automaticAnalysis": "suspended",
- "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "name": "John Doe",
- "type": "person",
- "userID": "e57a73a9-bcda-4cda-9e8a-99a915a7d675",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
}
Get User by using optional value customUserID which can be assigned to a user on creation. Note this currently can only find the customUserID if a cockpit was successfully created.
custom-user-id required | string The customUserID id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "advisorID": "string",
- "advisorIDs": [
- "string"
], - "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "duplicates": [
- {
- "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "id": "2b694f26-b9c3-43d9-a1d4-c2947275967a",
- "name": "John Doe",
- "tenant": "testTenant2",
- "type": "person"
}
], - "id": "e57a73a9-bcda-4cda-9e8a-99a915a7d675",
- "tenant": "testTenant",
- "type": "person"
}
Delete multiple user.
Authorization required | string The authorization token |
TenantID | string The client's tenant |
The payload of the request
userIDs | Array of strings |
{- "userIDs": [
- "da009c79-542f-42f8-b720-a9f3e8c0ecdd",
- "7911e6b9-a83f-49f9-b931-6ab1a8155a42",
- "18c2d236-5fcb-4931-bfbb-05f55d5f895f"
]
}
{- "users": {
- "deleted": [
- "da009c79-542f-42f8-b720-a9f3e8c0ecdd"
], - "failedToDelete": [
- "7911e6b9-a83f-49f9-b931-6ab1a8155a42"
], - "notFound": [
- "18c2d236-5fcb-4931-bfbb-05f55d5f895f"
]
}
}
Scope: banking or banking-upload and cockpits
Send User Creation information alongside the bank accounts and transactions When you set the accounts and transactions, make sure to provide a unique id or number on each
Otherwise our services will not be able to handle your data correctly and return unexpected results.
Authorization required | string Default: Bearer <Add access token here> The authorization token |
The payload of the request
required | Array of objects (banking.AccountRequest) non-empty |
Array of objects (banking.Advisor) Only required for status=start. Optional Advisors of the created user. Minimum is a id to connect the cockpit to the advisor. | |
customUserID required | string Required CustomUserID of the user and later used for allocation of created user. |
name | string Only required for status=start. Optional Name of the created user. |
status required | string Enum: "start" "upload" "finish" Combination of enums is allowed. |
type | string Enum: "person" "company" Only required for status=start. Required Type of the created user. Can be person or company. |
{- "accounts": [
- {
- "accountId": "A38253.f837c3ab353",
- "accountNumber": "83767594",
- "balance": 2004.41,
- "bankCode": "10020000",
- "bankName": "Fino Bank",
- "bic": "FINOBANK01",
- "creditLine": 0,
- "currency": "EUR",
- "iban": "DE64100200007791587578",
- "monthlySpendingLimit": 6000.01,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "amountOriginalCurrency": 150.01,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150.01,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "creationTimestamp": "2020-05-26 17:11:22Z",
- "currency": "EUR",
- "executionDay": 2,
- "firstExecutionDate": "2020-05-26",
- "iban": "DE64100200007791587578",
- "interval": "MONTHLY",
- "lastExecutionDate": "2020-05-26",
- "name": "5ecd4d9bb9e14800012d99e9",
- "purpose": "Taschengeld",
- "standingOrderId": "0ddad370-6738-4652-8586-2c48bc3681b5"
}
], - "transactions": [
- {
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "transactionId": "accId1_txId1",
- "valueDate": 1705928941
}
], - "type": "GIRO"
}
], - "advisors": [
- {
- "id": "string",
- "linkID": "string",
- "mail": "consultant-max-mustermann@huk.com",
- "name": "max mustermann",
- "onboardingMail": true,
- "phoneNumber": "0123456789",
- "reportAccess": false,
- "reportInterval": "0 0 1W * *",
- "reportRole": "report-tenant, report",
- "reportSend": false,
- "role": "tenantadmin, tenant-manager, employee",
- "sendMail": true,
- "type": "person, company, person-company, company-person",
- "welcomeMail": true
}
], - "customUserID": "1337",
- "name": "string",
- "status": "start,finish",
- "type": "person"
}
{- "correlationID": "string",
- "correlationTimestamp": "string",
- "customUserID": "1337",
- "userID": "1234567890"
}
Get a user.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "context": {
- "client": "testClient",
- "tenant": "testTenant"
}, - "user": {
- "automaticAnalysis": "suspended",
- "createdAt": "2024-08-14T11:37:20.515Z",
- "customUserID": "0815",
- "name": "John Doe",
- "type": "person",
- "userID": "e57a73a9-bcda-4cda-9e8a-99a915a7d675",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
}
Delete a user.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Adds scopes to user and trigger a new calculation with expanded scopes.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
userScopes | Array of strings Scopes input for a user to calculate more scopes. Scopes can only be added and cannot be removed. Can be a array containing values of [banking,banking-fetch,banking-upload,account-detection,categorization,contracts,cockpits]. Only the given scopes will be accessible and calculated for the user. |
{- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
{- "correlationID": "18bf1171-9e82-4a74-bf52-923b9a80144e",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
Manually trigger a new analysis for this user. The user needs to have raw banking data instead if not this no new analysis can be triggered.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "18bf1171-9e82-4a74-bf52-923b9a80144e",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
The finoOS Banking service
provides a secure and reliable way to access and manage financial data of bank accounts.
For multi banking
access or connecting of multiple bank accounts use the following procedure:
addBankLogin=true
skips the overview UI and starts a connect flow for an additional account so that you can seamlessly connect multiple accountsScope: banking
user-id required | string The user id of the finoOS user |
includeTransactions | boolean Set to false if accounts response should not include transactions. Defaults to true |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "accounts": [
- {
- "accountId": "A38253.f837c3ab353",
- "accountNumber": "83767594",
- "balance": 2004.41,
- "bankCode": "10020000",
- "bankLoginId": "5d7267d1b747aa683d88668f",
- "bankName": "Fino Bank",
- "bic": "FINOBANK01",
- "creditLine": 0,
- "currency": "EUR",
- "iban": "DE64100200007791587578",
- "monthlySpendingLimit": 6000.01,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "amountOriginalCurrency": 150.01,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150.01,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "creationTimestamp": "2020-05-26 17:11:22Z",
- "currency": "EUR",
- "executionDay": 2,
- "firstExecutionDate": "2020-05-26",
- "iban": "DE64100200007791587578",
- "interval": "MONTHLY",
- "lastExecutionDate": "2020-05-26",
- "name": "5ecd4d9bb9e14800012d99e9",
- "purpose": "Taschengeld",
- "standingOrderId": "0ddad370-6738-4652-8586-2c48bc3681b5"
}
], - "supportedPayments": [
- "SINGLE_MONEY_TRANSFER"
], - "transactions": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "transactionId": "T3fe91f3b-27b0-4568-8594-160ef78ae451",
- "valueDate": 1705928941
}
], - "type": "GIRO"
}
]
}
Scope: banking,banking-upload
Note: You can only set accounts if you do not use our Banking UI and already possess the bank data of your user.
Set the bank accounts of the user. When you set the accounts and transactions, make sure to provide a unique id or number on each
Otherwise our services will not be able to handle your data correctly and return unexpected results.
If an account with an existing accountId and accountNumber is provided, it will override the existing account in our database.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
required | Array of objects (banking.AccountRequest) non-empty |
{- "accounts": [
- {
- "accountId": "A38253.f837c3ab353",
- "accountNumber": "83767594",
- "balance": 2004.41,
- "bankCode": "10020000",
- "bankName": "Fino Bank",
- "bic": "FINOBANK01",
- "creditLine": 0,
- "currency": "EUR",
- "iban": "DE64100200007791587578",
- "monthlySpendingLimit": 6000.01,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "amountOriginalCurrency": 150.01,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150.01,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "creationTimestamp": "2020-05-26 17:11:22Z",
- "currency": "EUR",
- "executionDay": 2,
- "firstExecutionDate": "2020-05-26",
- "iban": "DE64100200007791587578",
- "interval": "MONTHLY",
- "lastExecutionDate": "2020-05-26",
- "name": "5ecd4d9bb9e14800012d99e9",
- "purpose": "Taschengeld",
- "standingOrderId": "0ddad370-6738-4652-8586-2c48bc3681b5"
}
], - "transactions": [
- {
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "transactionId": "accId1_txId1",
- "valueDate": 1705928941
}
], - "type": "GIRO"
}
]
}
{- "userId": "d73df22f-cff9-4a31-8cd2-7f46e8603414"
}
Scope: banking
Delete an account by multi account ids
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
IDs | Array of strings |
{- "IDs": [
- "string"
]
}
{- "deletedAccounts": {
- "failed": [
- {
- "error": "string",
- "id": "string"
}
], - "success": [
- "string"
]
}
}
Scope: banking,banking-upload
_Note: You can only set accounts which were previously added by a manual upload with banking-create-external-accounts
Updates the bank accounts of the user. Can update account fields and transaction fields excluding the ids
and accountnumber
.
When fields are omitted from the request or null they will be ignored by the update.
For example if bankName
is set to "example" and the update request does not contain bankName
, the bankName
will not be updated and still be set to "example".
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
Array of objects |
{- "accounts": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "creditLine": 0,
- "currency": "string",
- "iban": "string",
- "icon": "string",
- "monthlySpendingLimit": 0,
- "name": "string",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "string",
- "supportedPayments": [
- "string"
], - "transactions": [
- {
- "accountId": "string",
- "amount": 0,
- "bookingDate": 2147483646,
- "bookingText": "string",
- "currency": "string",
- "differentCreditor": "string",
- "differentDebitor": "string",
- "eref": "string",
- "mref": "string",
- "paymentPartner": {
- "bic": "string",
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "purpose": "string",
- "sepaPurposeCode": "string",
- "transactionCode": 0,
- "transactionId": "string",
- "valueDate": 2147483646
}
], - "type": "GIRO"
}
]
}
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking
Delete an account by the account id
user-id required | string The user id of the finoOS user |
account-id required | string ID of the account to delete |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking,banking-upload
Update transactions for existing accounts. The account with the provided id must exist or this request will fail. Also each transactionId must already exist to update a transaction.
When fields are omitted from the request or null they will be ignored by the update.
For example if bookingText
is set to "example" and the update request does not contain bookingText
, the bookingText
will not be updated and still be set to "example".
user-id required | string The user id of the finoOS user |
account-id required | string The account id of the account |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
Array of objects |
{- "transactions": [
- {
- "accountId": "string",
- "amount": 0,
- "bookingDate": 2147483646,
- "bookingText": "string",
- "currency": "string",
- "differentCreditor": "string",
- "differentDebitor": "string",
- "eref": "string",
- "merchantCategoryCode": "string",
- "mref": "string",
- "paymentPartner": {
- "bic": "string",
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "purpose": "string",
- "sepaPurposeCode": "string",
- "transactionCode": 0,
- "transactionId": "string",
- "valueDate": 2147483646
}
]
}
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking
Returns the account summary as a PDF that contains up to a maximum of 10000 transactions.
If since
and until
are provided, the summary will only contain transactions within the specified
date range.
If no date range is specified, the summary will attempt to gather all transactions of the account up to a limit of 10000 transactions.
If a date range is provided, and it contains more than 10000 transactions, the pdf will only contain all transactions up to the last date that does not exceed this limit. In this case, the response will have a 206 status code.
If a pdf file returns with a 206 status code, the response will contain a header stoppedAt
which will
point to the next available date after the last page that was successfully processed.
Note: It is also possible to only provide the since
parameter. In this case, the summary will be
generated from the provided date until the current date. Also, if the gathered data exceeds 10000
transactions, the response will be cropped as described above.
user-id required | string The user id of the finoOS user |
account-id required | string The id of account to get the summary for |
since | string RFC3339 formatted timestamp for inclusive filtering |
until | string RFC3339 formatted timestamp for inclusive filtering |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
Scope: banking,banking-upload
Add transactions to existing accounts. The account with the provided id must exist or this request will fail accordingly.
You have to provide unique transaction ids. Otherwise our services will override existing transactions.
user-id required | string The user id of the finoOS user |
account-id required | string The account id of the account |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
required | Array of objects (banking.TransactionRequest) |
{- "transactions": [
- {
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "transactionId": "accId1_txId1",
- "valueDate": 1705928941
}
]
}
{- "transactionsAdded": 0
}
Scope: banking,banking-upload
Delete transactions from existing accounts. The account with the provided id must exist or this request will fail accordingly.
user-id required | string The user id of the finoOS user |
account-id required | string The account id of the account |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
ids | Array of strings The transactionIds to delete for the account |
{- "ids": [
- "string"
]
}
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking
Connect the user with the banking service. This creates a session for our Banking UI and returns a URL to the bank login section of the Banking UI. Redirect your user to this URL. After connecting the bank login or in case of an error or exit of the user, we will redirect the user to your application. Specify your own redirect URLs for the following cases:
redirectURL
: The bank login was successfulerrorURL
: An error happenedexitURL
: The user exits the Banking UI
The redirect URLs will contain an userID
query parameter to match the redirect to the respective finoOS user.user-id required | string The user id of the finoOS user |
demo | string Set to true to activate demo mode for UBA. Simulates the login flow with fino bank and the selected demo account. False by default. |
bankCode | string The bank code of the bank to connect to. If not provided, the user will be prompted to select a bank in the Banking UI. |
multiple | string Set to true to redirect back to the management screen to connect additional accounts, false otherwise (also by default). Will be included in the response's |
lang | string Is used to set the current used language (en, de). |
embedded | boolean Is used to customize the ui of UBA to improve visualization when uba ui is embedded in an app within a webview. It will hide the footer for example. |
hideHeader | boolean Is used to hide the headerbar in uba, for example when using iFrames. |
hideAbort | boolean Hides the exit button to abort the current uba process and to be directed to the exit or fallback URL. |
preselectAccountTypes | string Is used to preselect the account types (comma separated). For example: |
skipAccountSelect | boolean Is used to skip the selection of the received bank accounts. When it's true, all given accounts will automatically be selected. |
autoSelectSingleAccount | boolean Select a single bank account automatically to skip account selection. |
skipAccountTypes | boolean Is used to skip the selection of the account types. |
theme.primaryColor | string Define the primary color of our Banking UI represented as a hex color code. For example: |
theme.headerBackgroundColor | string Define the background color of the header in our Banking UI represented as a hex color code. For example: |
theme.headerColor | string Define the color of the text in the header in our Banking UI represented as a hex color code. For example: |
theme.logo | string Define the logo of our Banking UI. The logo must be a URL. |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
accountTypes | Array of strings (enum.BankAccountType) Items Enum: "GIRO" "TAGESGELD" "SPARBUCH" "KREDIT_KARTE" "KREDIT_KONTO" "DEPOT" "PAYPAL" "FESTGELD" "KREDITDARLEHEN" "FONDSDEPOT" "BAUSPAREN" "VERSICHERUNG" "UNKNOWN" List of account types to be shown during login |
errorURL required | string The URL your user will be redirect to in case of an error during bank login |
exitURL required | string The URL your user will be redirect to in case she or he exits the process |
persistNonRecurring | boolean Flag that indicates whether to persist non-recurring users. If omitted or set to false, non-recurring users and associated account data will be automatically deleted from banking service (not global user) after 24 hours. This flag has no effect on recurring users |
recurring | boolean Default: false Whether this shall be a recurring user or not |
redirectURL required | string The URL your user will be redirect to in case of a successful bank login |
storeSecrets | boolean Whether the bank login credentials should be stored or not |
{- "accountTypes": [
- "GIRO"
], - "persistNonRecurring": false,
- "recurring": false,
- "storeSecrets": false
}
Scope: banking
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
Scope: banking
Disconnects a user from the banking service. This will also delete all stored banking data connected to
the user such as his bank logins and banking. It will not delete the user itself.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
User-IP required | string The IP address of the user. This is mandatory due to PSD2 regulations. |
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking
Get the synchronization status of the connected bank logins. Determine whether the connected bank login is still synchronized automatically in background or if you need to Trigger a Synchronization manually
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
[- {
- "active": true,
- "bankLoginId": "5d7267d1b747aa683d88668f",
- "lastSynchronization": 1705928941
}
]
Scope: banking
Delete a connected bank login of the user.
user-id required | string The user id of the finoOS user |
banklogin-id required | string The bankLoginId of the accounts to be deleted |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
User-IP required | string The IP address of the user. This is mandatory due to PSD2 regulations. |
{- "message": "string",
- "type": "invalidInput"
}
Scope: banking
Sends a list of money transfers. Either returns 200 (no TAN was required, transfer was successful) or 451 (user input required)
user-id required | string The user id of the finoOS user |
banklogin-id required | string The id of BankLogin to execute the money transfer on |
Authorization required | string The authorization token |
User-IP required | string The IP address of the user. This is mandatory due to PSD2 regulations. |
The payload of the request
accountId | string Internal AccountID |
executionDate | string Execution date for the money transfer(s) in the format 'YYYY-MM-DD'. Cannot be in the past. If omitted, current date will be used. |
exitUrl | string URL the user gets redirected to after exiting the money transfer operation. Only secured URLs permitted (https) |
fallbackUrl | string URL the user gets redirected to after an error occurs during money transfer. Only secured URLs permitted (https) |
Array of objects (banking.MoneyTransferInfo) Holds all user input for a single money transfer | |
redirectUrl | string URL the user gets redirected to after money transfer operation succeeds. Only secured URLs permitted (https) |
singleBooking | boolean Only relevant for multiple money transfers. Processes the money transfers as a single booking (value: |
{- "accountId": "2000",
- "executionDate": "2018-05-19",
- "moneyTransferInfos": [
- {
- "amount": -33.01,
- "creditor": {
- "bic": "FINOBANK01",
- "iban": "DE64100200007791587578",
- "name": "John Doe"
}, - "purpose": "visit to a restaurant"
}
], - "singleBooking": false
}
{- "paymentId": "4c3f499042d08950a7f6126b",
- "sessionId": "5c3f499042d08950a7f6126b",
- "status": "success"
}
Scope: banking
Returns a detailed response for an existing MoneyTransfer with the executed payments and the current status
user-id required | string The user id of the finoOS user |
banklogin-id required | string The id of BankLogin the money transfer was executed on |
money-transfer-id required | string The id of the money transfer |
Authorization required | string The authorization token |
User-IP required | string The IP address of the user. This is mandatory due to PSD2 regulations. |
{- "moneyTransfers": [
- {
- "amount": -33.01,
- "creditor": {
- "bic": "FINOBANK01",
- "iban": "DE64100200007791587578",
- "name": "John Doe"
}, - "currency": "EUR",
- "debtor": {
- "accountNumber": "83767594",
- "bic": "FINOBANK01",
- "iban": "DE64100200007318991",
- "name": "Jane Doe"
}, - "purpose": "visit to a restaurant"
}
], - "status": "OPEN"
}
Scope: banking
This creates a session for our Banking UI and returns a URL to the overview section of the Banking UI. Redirect your user to this URL. After connecting the bank login or in case of an error or exit of the user, we will redirect the user to your application. Specify your own redirect URLs for the following cases:
redirectURL
: The bank login was successfulerrorURL
: An error happenedexitURL
: The user exits the Banking UI
The redirect URLs will contain an userID
query parameter to match the redirect to the respective finoOS user.user-id required | string The user id of the finoOS user |
addBankLogin | string Jump directly to the add bank login screen in the Banking UI |
bankCode | string In combination with addBankLogin the bank code of the bank to connect to. If not provided, the user will be prompted to select a bank in the Banking UI. |
demo | string Set to true to activate demo mode for UBA. Simulates the login flow with fino bank and the selected demo account. False by default. |
multiple | string Set to true to redirect back to the management screen to connect additional accounts, false otherwise (also by default). Will be included in the response's |
lang | string Is used to set the current used language (en, de). |
embedded | boolean Is used to customize the ui of UBA to improve visualization when uba ui is embedded in an app within a webview. It will hide the footer for example. |
hideHeader | boolean Is used to hide the headerbar in uba, for example when using iFrames. |
hideAbort | boolean Hides the exit button to abort the current uba process and to be directed to the exit or fallback URL. |
preselectAccountTypes | string Is used to preselect the account types (comma separated). For example: |
skipAccountSelect | boolean Is used to skip the selection of the received bank accounts. When it's true, all given accounts will automatically be selected. |
autoSelectSingleAccount | boolean Select a single bank account automatically to skip account selection. |
skipAccountTypes | boolean Is used to skip the selection of the account types. |
readonly | boolean Is used to set the Banking UI in read-only mode. The user cannot perform any actions but can only view their connected accounts |
theme.primaryColor | string Define the primary color of our Banking UI represented as a hex color code. For example: |
theme.headerBackgroundColor | string Define the background color of the header in our Banking UI represented as a hex color code. For example: |
theme.headerColor | string Define the color of the text in the header in our Banking UI represented as a hex color code. For example: |
theme.logo | string Define the logo of our Banking UI. The logo must be a URL. |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
accountTypes | Array of strings (enum.BankAccountType) Items Enum: "GIRO" "TAGESGELD" "SPARBUCH" "KREDIT_KARTE" "KREDIT_KONTO" "DEPOT" "PAYPAL" "FESTGELD" "KREDITDARLEHEN" "FONDSDEPOT" "BAUSPAREN" "VERSICHERUNG" "UNKNOWN" List of account types to be shown during login |
errorURL | string The URL your user will be redirect to in case of an error during bank login |
exitURL | string The URL your user will be redirect to in case she or he exits the process |
redirectURL | string The URL your user will be redirect to in case of a successful bank login |
{- "accountTypes": [
- "GIRO"
],
}
Scope: banking
Connect and add a mocked bank account from our fino bank without going through any SCA process. This is just for testing and demo purposes.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
userName | string Username of the test bank account to connect. Your contact person at fino can provide you with some test accounts.
If not provided, the default value will be |
{- "userName": "finocontext1"
}
{- "alreadyConnected": true,
- "bankLoginId": "4c3f499042d08950a7f6126b",
- "data": [
- {
- "accountId": "A5d498b5c80c1810001608dff.df482427055b8360541d60f3b7023778ba4bcb4b",
- "accountNumber": "4739183",
- "bankLoginId": "4c3f499042d08950a7f6126b",
- "iban": "DE67100200004711951500",
- "name": "Girokonto",
- "owner": "Max Mustermann",
- "type": "GIRO"
}
], - "status": "success"
}
Scope: banking
Trigger the synchronization of a connected bank login to fetch new account and transaction data from the bank. This can result in the following responses:
204
: The synchronization was successful and you can query the latest bank accounts data via Get Accounts206
: The synchronization was successful and you can query the latest bank accounts data via Get Accounts409
: The interface used to set up the bank connection is deprecated. The user must update the connection, please redirect him to the management session.422
: The user's credentials are required for syncing.423
: The access to the account is blocked. This possibly is a problem on the user's chosen banking provider. Please refer to the payload of the response for more context429
: The daily limit of manual synchronizations has been reached451
: This creates a session in our Banking UI, because the user has to redo the SCA process to fetch new data.
Redirect your user to the response URL. After connecting the bank login or in case of an error or exit of the user,
we will redirect the user to your application. Specify your own redirect URLs for the following cases:redirectURL
: The bank login was successfulerrorURL
: An error happenedexitURL
: The user exits the Banking UI
The redirect URLs will contain a userID
query parameter to match the redirect to the respective finoOS user.409
, 422
and 451
).user-id required | string The user id of the finoOS user |
lang | string Is used to set the current used language (en, de). |
embedded | boolean Is used to customize the ui of UBA to improve visualization when uba ui is embedded in an app within a webview. It will hide the footer for example. |
hideHeader | boolean Is used to hide the headerbar in uba, for example when using iFrames. |
hideAbort | boolean Hides the exit button to abort the current uba process and to be directed to the exit or fallback URL. |
preselectAccountTypes | string Is used to preselect the account types (comma separated). For example: |
skipAccountSelect | boolean Is used to skip the selection of the received bank accounts. When it's true, all given accounts will automatically be selected. |
autoSelectSingleAccount | boolean Select a single bank account automatically to skip account selection. |
skipAccountTypes | boolean Is used to skip the selection of the account types. |
theme.primaryColor | string Define the primary color of our Banking UI represented as a hex color code. For example: |
theme.headerBackgroundColor | string Define the background color of the header in our Banking UI represented as a hex color code. For example: |
theme.headerColor | string Define the color of the text in the header in our Banking UI represented as a hex color code. For example: |
theme.logo | string Define the logo of our Banking UI. The logo must be a URL. |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
User-IP required | string The IP address of the user. This is mandatory due to PSD2 regulations. |
The payload of the request
bankLoginId | string The ID of the bank login to be synchronized |
errorURL | string The URL your user will be redirect to in case of an error during bank login |
exitURL | string The URL your user will be redirect to in case she or he exits the process |
redirectURL | string The URL your user will be redirect to in case of a successful bank login |
triggerChallenge | boolean If true, a challenge might be triggered. Default true |
{- "bankLoginId": "5d7267d1b747aa683d88668f",
- "triggerChallenge": true
}
{- "active": true,
- "bankLoginId": "507f1f77bcf86cd799439011",
- "lastSynchronization": 1564102614,
- "status": "OK"
}
Scope: banking
Returns all transactions for this user
user-id required | string The user id of the finoOS user |
since | string RFC3339 formatted timestamp for inclusive filtering |
until | string RFC3339 formatted timestamp for inclusive filtering |
transactionIds | string TransactionId`s seperated bei comma. If this is sent since and until are ignored |
lastMonths | string filters the transactions of the last n months from the current time. Must be a positive value |
accountId | string AccountId is used to filter the transactions for the matching account. |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
[- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "transactionId": "T3fe91f3b-27b0-4568-8594-160ef78ae451",
- "valueDate": 1705928941
}
]
This categorization-categories
scope allows access to the categories and to determine their dependencies on each other. Additionally, a description of the categories is available with localization in German and English.
The hash version of the tree and the description is an aid to recognizing the changes, it is not a version per se. We reserve the right to adapt the hierarchies if we think that it fits better from a technical point of view.
Please note that these attributes
and advanced-attributes
describe the “how” of a transaction and are less meaningful for what a payment was made for.
For more detailed information about the purpose of a payment, the category
tags (tags with level 2 and higher) are much more helpful.
In addition, transactions can have further attributes (level 0 tags) that provide additional information, for example:
earning / spending and card_payment: card payment
earning / spending and privacy: payments with particularly sensitive data
earning / spending and standing_order: standing order
earning / spending and SEPA_one-off: One-off SEPA direct debit
earning / spending and direct_debit: Direct debit
earning / spending and foreign: Payment to or from abroad
earning / spending and remittance_card: Refund of a card payment
Returns a paginated list or current tags for transactions. Its possible to query for changes in the categorization by providing a correlationID in the query. This will return the diff of newly added tags for transactions since the provided correlation.
user-id required | string The user id of the finoOS user |
page | integer The page number. Default is 1. |
pageSize | integer The number of transactions to return. Default is 10. |
correlationID | string optional: If provided, the response will only contain changes to tagging for the correlationID or newer. This includes tags for newly added transactions or changes in tagging for previously tagged transactions |
accountId | string optional: If provided, the response will only contain entries for the corresponding account. |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "categorization": [
- {
- "accountId": "123-321-123",
- "creationDate": "2024-01-22T14:08:47+01:00",
- "tags": [
- "earning",
- "fix",
- "recurring"
], - "transactionId": "123-321-123"
}
], - "metaData": {
- "page": 0,
- "pageSize": 0,
- "pages": 0,
- "totalCount": 0
}
}
Scope: categorization
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
Returns a list of patterns that the user has added
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "ids": {
- "ad28d72b35fb6fac8b0dbbb57a328289fc494bf5": [
- "spending",
- "insurance"
]
}, - "patterns": [
- {
- "since": "2019-04-12T11:46:23+00:00",
- "tags": [
- "earning",
- "fix",
- "recurring"
], - "type": "name",
- "until": "2019-04-12T11:46:23+00:00",
- "value": "Müschke GmbH"
}
]
}
The endpoint makes a complete update of the patterns and then categorizes the transactions. Therefore, all patterns must be specified in the body, even if the pattern does not change. Currently it is only possible to create patterns based on the PaymentPartner (Name and CreditorID). Further possibilities will follow. If since and until are omitted, all existing transactions are tagged.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload with patterns
object (categorization.SwagID) | |
Array of objects (categorization.Pattern) |
{- "ids": {
- "ad28d72b35fb6fac8b0dbbb57a328289fc494bf5": [
- "spending",
- "insurance"
]
}, - "patterns": [
- {
- "since": "2019-04-12T11:46:23+00:00",
- "tags": [
- "earning",
- "fix",
- "recurring"
], - "type": "name",
- "until": "2019-04-12T11:46:23+00:00",
- "value": "Müschke GmbH"
}
]
}
Returns the transactions of the user with the current valid tags
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "accounts": [
- {
- "accountId": "A38253.f837c3ab353",
- "accountNumber": "83767594",
- "balance": 2004.41,
- "bankCode": "10020000",
- "bankLoginId": "5d7267d1b747aa683d88668f",
- "bankName": "Fino Bank",
- "bic": "FINOBANK01",
- "creditLine": 0,
- "currency": "EUR",
- "iban": "DE64100200007791587578",
- "monthlySpendingLimit": 6000.01,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "amountOriginalCurrency": 150.01,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150.01,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200.01,
- "creationTimestamp": "2020-05-26 17:11:22Z",
- "currency": "EUR",
- "executionDay": 2,
- "firstExecutionDate": "2020-05-26",
- "iban": "DE64100200007791587578",
- "interval": "MONTHLY",
- "lastExecutionDate": "2020-05-26",
- "name": "5ecd4d9bb9e14800012d99e9",
- "purpose": "Taschengeld",
- "standingOrderId": "0ddad370-6738-4652-8586-2c48bc3681b5"
}
], - "supportedPayments": [
- "SINGLE_MONEY_TRANSFER"
], - "transactions": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 3563.84,
- "bookingDate": 1705928941,
- "bookingText": "Salary current month",
- "currency": "EUR",
- "differentCreditor": "DIFC98450",
- "differentDebitor": "DIFD70204",
- "eref": "K12345678901/000002/34ABC45D",
- "merchantCategoryCode": "5734",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "tags": [
- "earning",
- "fix",
- "recurring"
], - "transactionCode": 999,
- "transactionId": "T3fe91f3b-27b0-4568-8594-160ef78ae451",
- "valueDate": 1705928941
}
], - "type": "GIRO"
}
]
}
Returns the current tags of a transaction
user-id required | string The user id of the finoOS user |
transaction-id required | string The transaction id |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "tags": [
- "earning",
- "fix",
- "recurring"
]
}
This categorization-categories
scope allows access to the categories and to determine their dependencies on each other. Additionally, a description of the categories is available with localization in German and English.
The hash version of the tree and the description is an aid to recognizing the changes, it is not a version per se. We reserve the right to adapt the hierarchies if we think that it fits better from a technical point of view.
Please note that these attributes
and advanced-attributes
describe the “how” of a transaction and are less meaningful for what a payment was made for.
For more detailed information about the purpose of a payment, the category
tags (tags with level 2 and higher) are much more helpful.
In addition, transactions can have further attributes (level 0 tags) that provide additional information, for example:
earning / spending and card_payment: card payment
earning / spending and privacy: payments with particularly sensitive data
earning / spending and standing_order: standing order
earning / spending and SEPA_one-off: One-off SEPA direct debit
earning / spending and direct_debit: Direct debit
earning / spending and foreign: Payment to or from abroad
earning / spending and remittance_card: Refund of a card payment
Returns the categorization tree, which represents a hierarchy of tags when categorizing
type required | string Enum: "company" "person" The type of the categorization tree |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
{- "nodes": {
- "children": [
- { }
], - "level": 0,
- "tag": "string",
- "type": "attribute"
}, - "treeVersionHash": "string",
- "type": "string"
}
Returns the description of tags
type required | string Enum: "company" "person" The type of the categorization tree |
lang required | string Enum: "en" "de" The language of the categorization description |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
{- "descriptionList": [
- {
- "description": "string",
- "displayName": "string",
- "name": "string"
}
], - "descriptionVersionHash": "string",
- "language": "string",
- "type": "string"
}
This Banking Module returns a list of Bank-Account & CreditCards that the User has connected.
Additionally other Accounts that were found through the Analysis of the Users Transaction-Data are also returned.
If an account was found through the analysis the field additionalAnalysesInfo.IsUserAdded
will be true
.
Returns a list of user connect accounts + other accounts found through transaction analysis
user-id required | string The user id of the finoOS user |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "accountsOverview": {
- "accountsView": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "since": "string",
- "until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "currency": "string",
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": "string",
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
], - "creditsView": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "since": "string",
- "until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "currency": "string",
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": "string",
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
]
}
}
Scope: account-detection
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
Scope: account-history
Returns a list of accounts and their daily balances for the last two years
user-id required | string The user id of the finoOS user |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "histories": [
- {
- "account": {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932"
}, - "dailyBalances": [
- {
- "balance": 1000.01,
- "date": "2024-01-30"
}
], - "startingBalance": {
- "balance": 1000.01,
- "date": "2024-01-30"
}
}
]
}
Scope: account-history
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
The finoOS Contracts service uses an intelligent bank account analysis algorithm to detect contracts and their respective transactions on one or multiple bank accounts of a user. This way, you can easily see the ongoing and past contracts of a user to get an understanding of his financial relationships. Use the finoOS Contracts service to manage these contracts by adding, updating or deleting contracts.
Be aware that we define a contract as any transactions which:
Before you can use the Contracts service, make sure to register your user with the Banking service and have one or multiple bank logins connected.
Scope: contracts
Get all contracts of the connected bank logins of a user. This includes active and past contracts.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
[- {
- "amount": -108,
- "amountConsistency": "variabel",
- "attributes": [
- "privacy"
], - "category": "CAR_TAX",
- "contractId": "cce88a0c-fca9-4ecf-8197-c54a904662c3",
- "contractPartner": {
- "additionalInfos": {
- "change_url": "",
- "preferred_contact": "letter"
}, - "address": {
- "city": "Trier",
- "countryCode": "",
- "postCode": "54232",
- "street": "Postfach 42 20",
- "streetAdditional": null,
- "streetNumber": ""
}, - "contact": {
- "email": "bk-tr.gzd@zoll.bund.de",
- "fax": "+49 651 14481001",
- "phone": "+49 651 14480",
- "preferredContact": "letter",
}, - "creditorIds": [
- "DE09ZZZ00000000001"
], - "id": "55961",
- "name": "Bundeskasse Trier",
- "tags": [
- "KfZ-Steuer"
]
}, - "duration": 365,
- "interval": "ANNUALLY",
- "isActive": true,
- "mref": "KFZFK11111111111",
- "nextBookingDate": "2024-01-20",
- "nextBookingRange": [
- "2025-01-15",
- "2025-01-25"
], - "transactions": [
- {
- "transactionId": "T3fe91f3b-27b0-4568-8594-160ef78ae451"
}
]
}
]
Scope: contracts
Delete all contracts of the specified user
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Scope: contracts
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
Scope: contracts
Delete a contract from the user's existing list of contracts.
user-id required | string The user id of the finoOS user |
contract-id required | string The id of the contract to be deleted |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
The finoOS Companies service provides access to a database with several hundred thousand verified companies. It holds information about these companies' addresses, contact information, logos, creditor identifiers, related bank accounts and more.
Scope: companies
Search for a companies via queries. Define a keyword
to search for. Define the properties
of the company model
on which you want to perform the search. Specify a limit
for the maximum search results for a unique query.
logo-size | integer determines logo width to be returned - does not scale svg images (default is 0 and returns images in original size) |
Authorization required | string The authorization token |
queries
required | Array of objects (companies.CompanyQuery) |
{- "queries": [
- {
- "keyword": "string",
- "limit": 1,
- "properties": [
- {
- "name": "name",
- "weight": 3
}
]
}
]
}
{- "results": {
- "property1": [
- {
- "company": {
- "addresses": [
- {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}
], - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "contactInformations": [
- {
- "address": {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}, - "contacts": {
- "email": "mm@fino.digital",
- "fax": "+495611234",
- "telephone": "+495611234",
}, - "tags": [
- {
- "name": "{default,account-change}",
- "preferredContact": "fax"
}
]
}
], - "creditorIDs": [
- "string"
], - "departments": [
- {
- "addresses": [
- {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}
], - "contactInformations": [
- {
- "email": "mm@fino.digital",
- "fax": "+495611234",
- "telephone": "+495611234",
}
], - "name": "Einkauf"
}
], - "foundingDate": "2018-09-22T12:42:31Z",
- "id": 42,
- "ignoreCreditor": true,
- "industry": 1,
- "legalForm": 1,
- "logos": [
- {
- "type": "string",
- "url": "string"
}
], - "name": "E.ON",
- "tags": [
- "string"
], - "terminationDate": "2018-09-22T12:42:31Z",
- "websites": [
- {
- "type": "{main_page,impressum,sepa_info}",
- "url": "string"
}
]
}, - "score": 3
}
], - "property2": [
- {
- "company": {
- "addresses": [
- {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}
], - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "contactInformations": [
- {
- "address": {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}, - "contacts": {
- "email": "mm@fino.digital",
- "fax": "+495611234",
- "telephone": "+495611234",
}, - "tags": [
- {
- "name": "{default,account-change}",
- "preferredContact": "fax"
}
]
}
], - "creditorIDs": [
- "string"
], - "departments": [
- {
- "addresses": [
- {
- "city": "Kassel",
- "countryCode": "DE",
- "houseNumber": "string",
- "postcode": "34127",
- "street": "Universitätspl. 12",
- "streetAdditionalInfo": "PO Box 31127"
}
], - "contactInformations": [
- {
- "email": "mm@fino.digital",
- "fax": "+495611234",
- "telephone": "+495611234",
}
], - "name": "Einkauf"
}
], - "foundingDate": "2018-09-22T12:42:31Z",
- "id": 42,
- "ignoreCreditor": true,
- "industry": 1,
- "legalForm": 1,
- "logos": [
- {
- "type": "string",
- "url": "string"
}
], - "name": "E.ON",
- "tags": [
- "string"
], - "terminationDate": "2018-09-22T12:42:31Z",
- "websites": [
- {
- "type": "{main_page,impressum,sepa_info}",
- "url": "string"
}
]
}, - "score": 3
}
]
}
}
Scope: companiesLogo
Search for logos of companies via queries. If you provide a queryID
on each query object, you can
match the query result objects to the respective queries. The order of the results
list is not guaranteed
to match the order of the queries
list. The maximum number of queries
in a request is 200
.
exactMatch | boolean determines whether to perform an exact match on the name instead of a fuzzy match (default is false) |
fuzziness | string determines the fuzziness (levenshtein distance) performed on the name - not used if exact match is set to true (recommended values 'AUTO'/'1'/'2', default is 'AUTO') |
logo-size | integer determines logo width to be returned - does not scale svg images (default is 0 and returns images in original size) |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
required | Array of objects (companies.LogoQuery) The queries to search for the logos |
{- "queries": [
- {
- "bankCode": "64090100",
- "bic": "PBNKDEFF",
- "creditorID": "DE41EON00000129793",
- "domain": "eon.de",
- "iban": "123",
- "name": "E.ON",
- "queryID": "1"
}
]
}
{- "results": [
- {
- "company": "fino",
- "companyID": "jhads7123hjas98d812jkh3978hg7g75",
- "queryID": "1",
- "status": "ok",
}
]
}
A cockpit manages to show, through analysing accounts, accumulated data about income, expenses, contracts, living situation, home situation, credits, asset accumulation and more based on the modules booked. There exists different types of cockpits - for private persons and for companies.
Before using the cockpit endpoints the following necessary steps need to be taken:
person
or company
determining what type of cockpit will be created.Scope: cockpits
Returns a paginated minimized cockpit model as list in json format.
page | integer the page number (default: 1) |
page-size | integer ths page size (default: 20 min: 2) |
advisor-id | string search cockpits for the specified advisor-ID |
custom-user-id | string search cockpits for the custom-user-ID |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "cockpits": [
- {
- "createdAt": "string",
- "customUserID": "string",
- "customerApproval": "string",
- "id": "string",
- "name": "string",
- "type": "person"
}
], - "metaData": {
- "page": 0,
- "pageCount": 0,
- "pageSize": 0,
- "totalCount": 0
}
}
Scope: cockpits
Returns a paginated list of recommendations for multiple cockpits.
page | integer the page number (default: 1 min: 1) |
page-size | integer ths page size (default: 100 min: 2 max: 500) |
type | string cockpit type (default: company) |
since | string timestamp filter to only return cockpits created after this timestamp |
until | string timestamp filter to only return cockpits created before this timestamp |
only-meta | string the response only contains meta information for the cockpits and not the raw result data |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "cockpits": [
- {
- "correlationID": "string",
- "correlationTimestamp": "string",
- "recommendations": [
- {
- "advisorText": "string",
- "data": null,
- "dataModel": "string",
- "dataType": "string",
- "hyperlinkLabel": "string",
- "icon": "string",
- "id": "string",
- "name": "string",
- "priority": "string",
- "product": "string",
- "showAdvisor": true,
- "showCustomer": true,
- "text": "string",
- "textHyperlink": "string",
- "title": "string"
}
], - "userID": "string"
}
], - "metaData": {
- "page": 0,
- "pageCount": 0,
- "pageSize": 0,
- "totalCount": 0
}
}
Returns a URL to the desired cockpit including token and additionally a timestamp that indicates how long the token is valid
user-id required | string The user id of the finoOS user |
expires-in | integer How long the link is valid given in seconds. Defaults to 24 hours |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "expireTimestamp": "2022-03-22T15:14:27",
}
Scope: cockpits
Webhook Event: companycockpit
Returns a company cockpit in json format.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "accountData": {
- "accounts": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "Since": "string",
- "Until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "creditLine": 0,
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": 0,
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
], - "creditCards": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "Since": "string",
- "Until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "creditLine": 0,
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": 0,
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
]
}, - "caa": {
- "balance": 0,
- "earnings": 0,
- "foreignSales": {
- "earnings": 0,
- "incoming": 0,
- "outgoing": 0,
- "spendings": 0
}, - "incoming": 0,
- "liquidity": [
- {
- "account": {
- "accountId": "string",
- "accountNumber": "string",
- "balance": 0,
- "creditLine": 0,
- "creditLineProvided": true,
- "currency": "string",
- "iban": "string"
}, - "liquidityMonthly": [
- {
- "backDebitCount": 0,
- "date": "string",
- "earnings": 0,
- "endOfMonthBalance": 0,
- "maxBalance": 0,
- "minBalance": 0,
- "overdrawDays": 0,
- "spendings": 0
}
]
}
], - "negativeTotal": true,
- "outgoing": 0,
- "revenueForecastData": [
- {
- "from": "string",
- "incoming": 0,
- "interval": "string",
- "outgoing": 0,
- "payments": [
- {
- "amount": 0,
- "paymentDate": "string"
}
], - "timestamp": 0
}
], - "revenueGraphData": [
- {
- "from": "string",
- "incoming": 0,
- "interval": "string",
- "outgoing": 0,
- "payments": [
- {
- "amount": 0,
- "paymentDate": "string"
}
], - "timestamp": 0
}
], - "spendingForecastData": [
- {
- "from": "string",
- "incoming": 0,
- "interval": "string",
- "outgoing": 0,
- "payments": [
- {
- "amount": 0,
- "paymentDate": "string"
}
], - "timestamp": 0
}
], - "spendingGraphData": [
- {
- "from": "string",
- "incoming": 0,
- "interval": "string",
- "outgoing": 0,
- "payments": [
- {
- "amount": 0,
- "paymentDate": "string"
}
], - "timestamp": 0
}
], - "spendings": 0,
- "total": 0
}, - "cashflow": {
- "incomings": {
- "amount": 0,
- "transactionCount": 0,
- "transactionIDs": [
- "string"
]
}, - "outgoings": {
- "amount": 0,
- "transactionCount": 0,
- "transactionIDs": [
- "string"
]
}
}, - "collectivePayments": {
- "quantity": 0,
- "sum": 0
}, - "contracts": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "createdAt": "string",
- "credits": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "customerTop": [
- {
- "averageAmountTransaction": 0,
- "creditorID": "string",
- "displayPercent": "string",
- "iban": "string",
- "logo": "string",
- "name": "string",
- "numberOfTransactions": 0,
- "percent": 0,
- "rank": 0,
- "totalPayments": 0
}
], - "facts": {
- "staff": {
- "socialInsuranceEmployees": 0,
- "totalMonthlyExpenses": 0,
- "totalNumberOfEmployees": 0
}
}, - "graphs": [
- {
- "category": "string",
- "interval": "string",
- "paymentType": "string",
- "reviews": [
- {
- "from": "string",
- "incoming": 0,
- "interval": "string",
- "outgoing": 0,
- "payments": [
- {
- "amount": 0,
- "paymentDate": "string"
}
], - "timestamp": 0
}
]
}
], - "insurances": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "internalContracts": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "liquidity": {
- "cardPaymentTerminalAmount": 0,
- "cardPaymentTerminalProvided": true,
- "creditsAmount": 0,
- "creditsProvided": true,
- "tagesgeld": 0,
- "tagesgeldProvided": true
}, - "observationPeriod": {
- "firstTransactionDate": "string",
- "firstTransactionDateFormatted": "string",
- "gapWithinObservationPeriod": true,
- "lastTransactionDate": "string",
- "lastTransactionDateFormatted": "string",
- "score": 0
}, - "savingSecurities": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "securities": [
- {
- "amount": 200.01,
- "isin": "US0378331005",
- "isinwkn": "string",
- "logo": {
- "svg": "string",
- "svgBase64": "string",
- "url": "string"
}, - "name": "string",
- "priceAmount": 0,
- "priceCurrency": "EUR",
- "purchasePriceAmount": 0,
- "purchasePriceCurrency": "EUR",
- "quantity": 0,
- "wkn": "string"
}
], - "supplierTop": [
- {
- "averageAmountTransaction": 0,
- "creditorID": "string",
- "displayPercent": "string",
- "iban": "string",
- "logo": "string",
- "name": "string",
- "numberOfTransactions": 0,
- "percent": 0,
- "rank": 0,
- "totalPayments": 0
}
], - "tenant": {
- "color": "string",
- "logoUrl": "string",
- "name": "string"
}, - "type": "string",
- "user": {
- "finoOSID": "string"
}, - "version": "string"
}
Scope: cockpit
user-id required | string The user id of the finoOS user |
correlation-id | string If specified, the corresponding correlation is returned |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "cc451d48-dbc2-4ea4-894a-fb4b299f9e56",
- "correlationTimestamp": "2024-01-22T14:08:47+01:00"
}
Returns a cockpit in the pdf format
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
Scope: cockpits
Webhook Event: personcockpit
Returns a person cockpit in json format.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "accountData": {
- "accounts": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "Since": "string",
- "Until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "creditLine": 0,
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": 0,
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
], - "creditCards": [
- {
- "accountId": "string",
- "accountNumber": "string",
- "additionalAnalysesInfo": {
- "analysis": {
- "average": 0,
- "averageEarning": 0,
- "averageSpending": 0,
- "median": 0,
- "medianEarning": 0,
- "medianSpending": 0
}, - "analysisPeriod": {
- "Since": "string",
- "Until": "string"
}, - "isUserAdded": true
}, - "balance": 0,
- "bankCode": "string",
- "bankName": "string",
- "bic": "string",
- "creditLine": 0,
- "iban": "string",
- "icon": "string",
- "name": "string",
- "overDraft": 0,
- "overDraftAvailable": true,
- "owner": "string",
- "type": "GIRO"
}
]
}, - "accountHistories": {
- "histories": [
- {
- "account": {
- "accountId": "string",
- "iban": "string",
- "overDraft": 0,
- "overDraftAvailable": true
}, - "dailyBalances": [
- {
- "balance": 0,
- "date": "string"
}
]
}
]
}, - "contracts": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "createdAt": "string",
- "credits": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "string",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "householdExpenditure": {
- "cashWithdrawal": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "clothing": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "consumptionAverage": 0,
- "consumptionData": [
- {
- "date": "string",
- "value": 0
}
], - "consumptionMedian": 0,
- "consumptionTotal": 0,
- "groceries": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "mobility": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "other": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "recreational": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}, - "vacation": {
- "average": 0,
- "data": [
- {
- "date": "string",
- "value": 0
}
], - "median": 0,
- "total": 0,
- "transactions": [
- "string"
]
}
}, - "income": {
- "alimony": 0,
- "alimonyProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "childBenefit": 0,
- "childBenefitsProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "elternGeld": 0,
- "elterngeldProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "employer": [
- "string"
], - "months": [
- {
- "date": "string",
- "value": 0
}
], - "nonRecurringIncome": 0,
- "nonRecurringIncomeProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "other": 0,
- "otherProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "pension": 0,
- "pensionProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "rental": 0,
- "rentalProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "salary": 0,
- "salaryList": [
- {
- "amount": 0,
- "amountMedian": 0,
- "employer": "string",
- "months": [
- {
- "amount": 0,
- "month": "string"
}
]
}
], - "salaryMedian3Months": 0,
- "salaryMedianProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "salaryProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "total": 0
}, - "insurances": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "string",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "internalContracts": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "liquidity": {
- "creditLine": 0,
- "creditLineProvided": true,
- "creditsAmount": 0,
- "creditsProvided": true,
- "hasCreditCard": true,
- "tagesgeld": 0,
- "tagesgeldProvided": true,
- "transactionsPerMonth": 0
}, - "observationPeriod": {
- "firstTransactionDate": "string",
- "firstTransactionDateFormatted": "string",
- "gapWithinObservationPeriod": true,
- "lastTransactionDate": "string",
- "lastTransactionDateFormatted": "string",
- "score": 0
}, - "overview": {
- "childrenCount": 0,
- "hasCar": true,
- "incomeTotal": 0,
- "isTenant": true
}, - "savingSecurities": [
- {
- "amount": "10.33",
- "attributes": [
- "string"
], - "bookingText": "string",
- "category": "WORK",
- "contractPartner": {
- "creditorId": "string",
- "iban": "string",
- "name": "string"
}, - "interval": "MONTHLY",
- "isActive": true,
- "logo": "string",
- "transactionIDs": [
- "string"
]
}
], - "securities": [
- {
- "amount": 200.01,
- "isin": "US0378331005",
- "isinwkn": "string",
- "logo": {
- "svg": "string",
- "svgBase64": "string",
- "url": "string"
}, - "name": "string",
- "priceAmount": 0,
- "priceCurrency": "EUR",
- "purchasePriceAmount": 0,
- "purchasePriceCurrency": "EUR",
- "quantity": 0,
- "wkn": "string"
}
], - "spending": {
- "consumption": 0,
- "consumptionProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "contract": 0,
- "contractProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "credit": 0,
- "creditCards": 0,
- "creditCardsProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "creditProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "insurance": 0,
- "insuranceProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "rental": 0,
- "rentalProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "securitySavingPlans": 0,
- "securitySavingPlansProps": {
- "amount": 262.41,
- "transactionIDs": [
- "T5e79367c-7fbf-4ad9-bd6b-02163e1306fe",
- "Tfbb49e37-5d0d-48c3-be75-bcbd085b79db",
- "T5a811673-aa52-4c04-b737-7af57fa477af"
]
}, - "total": 0
}, - "tenant": {
- "color": "string",
- "logoUrl": "string",
- "name": "string"
}, - "type": "string",
- "user": {
- "finoOSID": "string"
}, - "version": "string",
- "wealth": {
- "depot": true,
- "hasRealEstate": true,
- "housingSaving": 0,
- "securities": 0,
- "securitySavingPlans": 0
}
}
Scope: cockpits
Webhook Event: companycockpit-recommendations,personcockpit-recommendations,cockpitrecommendations.notification
Returns cockpit recommendations in json format.
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "recommendations": [
- {
- "advisorText": "string",
- "data": null,
- "dataModel": "string",
- "dataType": "string",
- "hyperlinkLabel": "string",
- "icon": "string",
- "id": "string",
- "name": "string",
- "priority": "string",
- "product": "string",
- "showAdvisor": true,
- "showCustomer": true,
- "text": "string",
- "textHyperlink": "string",
- "title": "string"
}
]
}
Advisor is a submodule of the cockpit and offers the possibility to assign cockpits to an advisor in order to assign a specific contact person. After creating an advisor, cockpits can be created via the URL of the advisor. Depending on how it is configured, an advisor is automatically notified when a cockpit is created.
Returns multiple advisors paginated
user-id | string search users for the specified ID |
user-name | string filters users by the name (regexes possible) |
string filters users by the e-mail (regexes possible) | |
link-id | string filters users by the link ID (regexes possible) |
activated | boolean filter users by activated or deactivated state (true,false). If omitted both activated or deactivated users are returned |
since-last-activity | string filters users by their last activity (inclusive) |
until-last-activity | string filters users by last activity (exclusive) |
roles | Array of strings filters users by their role |
reportRoles | Array of strings filters users by their report roles |
reportAccess | boolean Enable or disable access to the reports for the user |
reportSend | boolean Enable or disable sending e-mails with report links to the user |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "metaData": {
- "page": 0,
- "pageCount": 0,
- "pageSize": 0,
- "totalCount": 0
}, - "users": [
- {
- "deactivated": false,
- "id": "string",
- "lastActivity": "2022-11-18T09:44:22.927Z",
- "linkID": "123jas",
- "mail": "string",
- "phoneNumber": "string",
- "primaryColor": "#0000",
- "reportAccess": true,
- "reportInterval": "0 0 1W * *",
- "reportRole": "report",
- "reportSend": true,
- "role": "employee",
- "sendMail": true,
- "tenant": "Huk",
- "tenantID": "685f6df5-6d5b-47ea-ad04-2856abeccbd6",
- "type": "person",
- "userName": "Max Mustermann"
}
]
}
Create advisor user to manage cockpits
Authorization required | string The authorization token |
TenantID | string The client's tenant |
The payload of the request
avatar | string Avatar contains a picture of the user |
linkID | string LinkID of the user which is optional |
string Mail represents the e-mail the users uses to get f.e. the cockpits | |
name | string Name represents the name of the user |
onboardingMail | boolean OnboardingMail |
phoneNumber | string PhoneNumber is an optional field representing the user phoneNumber |
reportAccess | boolean Enable or disable access to the reports for the user |
reportInterval | string ReportInterval defines in which intervals the user wants to receive a report |
reportRole | string Enum: "report" "report-tenant" ReportRole represents the permissions the user has to view all or a subset or only own reports |
reportSend | boolean Enable or disable sending e-mails with report links to the user |
role required | string Enum: "employee" "tenantadmin" "tenant-manager" Role represents the permissions the user has to view all or a subset of cockpits |
sendMail | boolean SendMail notify user by email about every cockpit being created |
type | string Enum: "person" "company" "person-company" "company-person" Type of the user determines landing page and preferred cockpit selection or even disabling of person or company cockpit type |
welcomeMail | boolean WelcomeMail |
{- "linkID": "string",
- "mail": "consultant-max-mustermann@huk.com",
- "name": "max mustermann",
- "onboardingMail": true,
- "phoneNumber": "0123456789",
- "reportAccess": false,
- "reportInterval": "0 0 1W * *",
- "reportRole": "report-tenant, report",
- "reportSend": false,
- "role": "tenantadmin, tenant-manager, employee",
- "sendMail": true,
- "type": "person, company, person-company, company-person",
- "welcomeMail": true
}
{- "id": "685f6df5-6d5b-47ea-ad04-2856abeccbd6",
- "linkID": "qe13q",
}
Returns one advisor
advisor-id | string search users for the specified ID |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "deactivated": false,
- "id": "string",
- "lastActivity": "2022-11-18T09:44:22.927Z",
- "linkID": "123jas",
- "mail": "string",
- "phoneNumber": "string",
- "primaryColor": "#0000",
- "reportAccess": true,
- "reportInterval": "0 0 1W * *",
- "reportRole": "report",
- "reportSend": true,
- "role": "employee",
- "sendMail": true,
- "tenant": "Huk",
- "tenantID": "685f6df5-6d5b-47ea-ad04-2856abeccbd6",
- "type": "person",
- "userName": "Max Mustermann"
}
Delete requested advisor
advisor-id | string specified advisors ID for delete |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Returns patched advisor user
Authorization required | string The authorization token |
TenantID | string The client's tenant |
The payload of the request
avatar | string Avatar contains a picture of the user |
deactivated | boolean Deactivated deactivates the user if set to true. User is active if the value is null or false |
linkID | string New LinkID of the user which is optional |
string Mail represents the new e-mail the users uses to get f.e. the cockpits | |
name | string Name represents the new name of the user |
phoneNumber | string PhoneNumber is an optional field representing the user phoneNumber |
reportAccess | boolean Enable or disable access to the reports for the user |
reportInterval | string ReportInterval defines in which intervals the user wants to receive a report |
reportRole | string Enum: "employee" "tenantadmin" "tenant-manager" ReportRole represents the permissions the user has to view all or a subset or only own reports |
reportSend | boolean Enable or disable sending e-mails with report links to the user |
role required | string Enum: "employee" "tenantadmin" "tenant-manager" New role represents the permissions the user has to view all or a subset of cockpits |
sendMail | boolean SendMail notify user by email about every cockpit being created |
type | string Enum: "person" "company" "person-company" "company-person" New type of the user |
{- "avatar": "string",
- "deactivated": true,
- "linkID": "jjpt9o",
- "mail": "consultant-max-mustermann@huk.com",
- "name": "max mustermann",
- "phoneNumber": "0123456789",
- "reportAccess": true,
- "reportInterval": "0 0 1W * *",
- "reportRole": "employee",
- "reportSend": true,
- "role": "employee, companyadmin, superadmin",
- "sendMail": true,
- "type": "person"
}
{- "deactivated": false,
- "id": "string",
- "lastActivity": "2022-11-18T09:44:22.927Z",
- "linkID": "123jas",
- "mail": "string",
- "phoneNumber": "string",
- "primaryColor": "#0000",
- "reportAccess": true,
- "reportInterval": "0 0 1W * *",
- "reportRole": "report",
- "reportSend": true,
- "role": "employee",
- "sendMail": true,
- "tenant": "Huk",
- "tenantID": "685f6df5-6d5b-47ea-ad04-2856abeccbd6",
- "type": "person",
- "userName": "Max Mustermann"
}
Update an advisor avatar upload image to cdn and create link to this
advisor-id | string search users for the specified ID |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
file required | string <binary> raw image files |
url | string image URL |
{- "fileHandle": "string",
- "url": "string"
}
Delete an advisor avatar
advisor-id required | string The user id of the finoOS user |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Every used field in the request body will be signed.
The payload of the request
customUserID | string customUserID finoOS2 naming for reference field |
name | string name of the customer |
redirectUrl | string redirectURL to which the customer should be redirected after the cockpit is closed. Attention the redirect will only be triggered if activated in cockpit-tenant under modules.global.cockpitApproveRedirect:true |
validSeconds | integer Default: 604800 duration for how long the signedURL is valid in seconds. default is one week=604800 |
{- "customUserID": "reference KDMuster123",
- "name": "Max Mustermann",
- "validSeconds": 604800
}
Tenant is a submodule of the cockpit and offers the possibility to patch tenant configuration. Here you can set the DisplayName, PrimaryColor, AccentColor, Logo, activate/deactivate the report, after which period the cockpits are deleted, which modules are active and whether the entire tenant is activated.
Returns a tenant
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "accentColor": "#002D67",
- "createdAt": "string",
- "createdByEvent": true,
- "deactivated": true,
- "displayName": "Huk",
- "expireConfig": {
- "date": "0001-01-01T00:53:28.000+01:00",
- "days": 30
}, - "id": "4f155736-1824-4d82-9f1f-3d04a8ff6d84",
- "modifiedAt": "string",
- "modules": {
- "company": {
- "company_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_cashflow": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_collective_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_foreign_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_staff": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_category": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_customer": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_supplier": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}, - "global": {
- "accountUpload": true,
- "bankLogin": true,
- "cockpitApproveRedirect": true,
- "cockpitApprovedWebhook": true,
- "landingPage": true,
- "shareCockpits": true,
- "userContact": true
}, - "person": {
- "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_history": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_household_expenditure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_renter_self-disclosure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_wealth_creation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}
}, - "name": "cockpit-huk",
- "primaryColor": "#002D67",
- "report": true,
- "reportModules": {
- "company": {
- "cash_flow": true,
- "client_base": true,
- "cockpit_usage": true,
- "collective_payments": true,
- "credits": true,
- "customer": true,
- "download_csv": true,
- "foreign_payments": true,
- "insurances": true,
- "payment_transaction": true,
- "staff_costs": true,
- "supplier": true
}, - "person": {
- "asset_accumulation": true,
- "client_base": true,
- "cockpit_usage": true,
- "credits": true,
- "download_csv": true,
- "insurances": true,
- "liquidity": true,
- "living_situation": true
}
}
}
Patches a tenant
Authorization required | string The authorization token |
TenantID | string The client's tenant |
The payload of the request
AdjustUsersPermission | boolean Adjust all users' permissions in dependence to Report |
accentColor | string AccentColor represents the secondary color that is presented in the cockpit |
deactivated | boolean Deactivated deactivates the tenant if set to true. Tenant is active if the value is null or false, deactivating a tenant will deactivate each underlying user |
displayName | string DisplayName represents the new name of the tenant that is displayed in the UI |
object ExpireConfig represents the time when a cockpit will be seen as expired in days. | |
logo | string Logo represents the new url to the tenant's logo |
object Modules if set will overwrite the existing module settings | |
primaryColor | string PrimaryColor represents the new primary color that is presented in the cockpit |
report | boolean Report enabled/disabled the cockpit report |
object Modules holds information on the Report Modules configuration |
{- "AdjustUsersPermission": true,
- "accentColor": "#0000",
- "deactivated": true,
- "displayName": "Huk",
- "expireConfig": {
- "date": "0001-01-01T00:53:28.000+01:00",
- "days": 30
}, - "modules": {
- "company": {
- "company_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_cashflow": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_collective_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_foreign_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_staff": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_category": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_customer": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_supplier": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}, - "global": {
- "accountUpload": true,
- "bankLogin": true,
- "cockpitApproveRedirect": true,
- "cockpitApprovedWebhook": true,
- "landingPage": true,
- "shareCockpits": true,
- "userContact": true
}, - "person": {
- "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_history": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_household_expenditure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_renter_self-disclosure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_wealth_creation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}
}, - "primaryColor": "#0000",
- "report": true,
- "reportModules": {
- "company": {
- "cash_flow": true,
- "client_base": true,
- "cockpit_usage": true,
- "collective_payments": true,
- "credits": true,
- "customer": true,
- "download_csv": true,
- "foreign_payments": true,
- "insurances": true,
- "payment_transaction": true,
- "staff_costs": true,
- "supplier": true
}, - "person": {
- "asset_accumulation": true,
- "client_base": true,
- "cockpit_usage": true,
- "credits": true,
- "download_csv": true,
- "insurances": true,
- "liquidity": true,
- "living_situation": true
}
}
}
{- "accentColor": "#002D67",
- "createdAt": "string",
- "createdByEvent": true,
- "deactivated": true,
- "displayName": "Huk",
- "expireConfig": {
- "date": "0001-01-01T00:53:28.000+01:00",
- "days": 30
}, - "id": "4f155736-1824-4d82-9f1f-3d04a8ff6d84",
- "modifiedAt": "string",
- "modules": {
- "company": {
- "company_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_cashflow": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_collective_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_foreign_payments": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_staff": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_category": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_customer": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "company_top_supplier": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}, - "global": {
- "accountUpload": true,
- "bankLogin": true,
- "cockpitApproveRedirect": true,
- "cockpitApprovedWebhook": true,
- "landingPage": true,
- "shareCockpits": true,
- "userContact": true
}, - "person": {
- "multiAccounts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_data": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_account_history": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_contracts": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_credit_cards": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_csv": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_download_pdf": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_earning_spending": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_feedback": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_household_expenditure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_insurances": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_internal_bookings": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_liquidity": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_loan_leasing": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_overview": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_recommendation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_renter_self-disclosure": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_saving_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_securities": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_send_cockpit": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}, - "person_wealth_creation": {
- "attributes": {
- "displayOrder": 0
}, - "customer": true,
- "user": true
}
}
}, - "name": "cockpit-huk",
- "primaryColor": "#002D67",
- "report": true,
- "reportModules": {
- "company": {
- "cash_flow": true,
- "client_base": true,
- "cockpit_usage": true,
- "collective_payments": true,
- "credits": true,
- "customer": true,
- "download_csv": true,
- "foreign_payments": true,
- "insurances": true,
- "payment_transaction": true,
- "staff_costs": true,
- "supplier": true
}, - "person": {
- "asset_accumulation": true,
- "client_base": true,
- "cockpit_usage": true,
- "credits": true,
- "download_csv": true,
- "insurances": true,
- "liquidity": true,
- "living_situation": true
}
}
}
Creates a tenant logo one of file
or url
are required
Authorization required | string The authorization token |
TenantID | string The client's tenant |
file | string <binary> raw image files |
url | string image URL |
{- "fileHandle": "string",
- "url": "string"
}
This Module returns a users salary and rental information. Also returns account owner name for identity check.
Scope: renter-information
Returns a users information of salary, self-employment, and rental with a default timeframe of the account data we received.
user-id required | string The user id of the finoOS user |
months | integer number of months from current date to return salary, self-employment, and rental information (default: maximum available timeframe) |
Authorization required | string The authorization token |
TenantID | string The client's tenant |
{- "identity": {
- "accountOwner": "Max Mustermann"
}, - "observedMonths": 6,
- "rental": {
- "currency": "EUR",
- "missedPayments": true,
- "paymentMethod": "DIRECT_DEBIT",
- "rentAmount": 777.33,
- "rentAverage": 777.33,
- "rentMedian": 777.33,
- "transactions": [
- {
- "amount": 777.33,
- "bookingDate": 1717327706,
- "bookingDateFormatted": "02.06.2024",
- "contractType": "Lohn",
- "currency": "EUR",
- "id": "string",
- "paymentPartner": {
- "logoURL": "string",
- "name": "Miete Example",
- "squareLogoURL": "string"
}, - "purpose": "Miete für den aktuellen Monat",
- "transactionMethod": "DIRECT_DEBIT"
}
]
}, - "salary": {
- "currency": "EUR",
- "employer": "Linde AG",
- "salaryAverage": 4444.33,
- "salaryMedian": 4444.33,
- "salaryType": "WORK",
- "transactions": [
- {
- "amount": 777.33,
- "bookingDate": 1717327706,
- "bookingDateFormatted": "02.06.2024",
- "contractType": "Lohn",
- "currency": "EUR",
- "id": "string",
- "paymentPartner": {
- "logoURL": "string",
- "name": "Linde AG",
- "squareLogoURL": "string"
}, - "purpose": "Gehalt für den aktuellen Monat",
- "transactionMethod": "DIRECT_DEBIT"
}
]
}, - "selfEmployment": {
- "currency": "EUR",
- "incomeAverage": 5000,
- "transactions": [
- {
- "amount": 5000,
- "bookingDate": 1717327706,
- "bookingDateFormatted": "02.06.2024",
- "id": "string",
- "paymentPartner": {
- "name": "Linde AG"
}, - "purpose": "Provision für den aktuellen Monat"
}
]
}
}
Scope: renter-information
user-id required | string The user id of the finoOS user |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "correlationID": "string",
- "correlationTimestamp": "string"
}
Improving our services is important to us. Therefore, sending us feedback helps us. Through the endpoint Create a feedback this is possible.
Each feedback has a module
and type
. The module
gives us information about the context of the feedback, e.g., the service or module the feedback is about.
The type
corresponds to the information that is given to us, on which we can act upon. Both of these fields are related to each other and can only be used in these
combinations:
Module | Supported Types |
---|---|
contractor | rating, interaction |
cockpit | cockpit |
company-logos | missing-logo, wrong-logo, outdated-logo |
Important: Each
type
influences the requiredfeedback
-field model!
"feedback":{
"rating": "<int>"
}
rating
value in range: minimum: 1
and maximum: 5
"feedback":{
"interaction": "<string>"
}
interaction
any value of: tagChange
"feedback": {
"rating": "<int>",
"cockpitID": "<string>",
"cockpitTenantID": "<string>",
"cockpitLink": "<string>"
}
rating
is optional and may contain a value in range: 1
- 5
cockpitLink
is optional"feedback": {
"url": "<string>",
"squareURL": "<string>",
"bankCode": "<string>",
"bic":"<string>",
"creditorID":"<string>",
"domain":"<string>",
"iban":"<string>",
"name":"<string>",
"companyID":"<string>",
"requestBody":"<object>",
"logoTypes":"<[]string>"
}
logoTypes
is optional and may contain any value of: default
or square
logoTypes
default value is ["default"]
url
squareURL
bankCode
bic
creditorID
domain
iban
name
companyID
requestBody
Creates and sends feedback.
The create feedback request
object Any additional information that the feedback creator wants to attach | |
content required | string >= 0 characters Any free text the feedback creator wants to send |
feedback required | object Feedback model related to the set Type - any of: rating, interaction, cockpit and company-logos |
module required | string Enum: "company-logos" "cockpit" "contractor" The module the feedback is about |
type required | string Enum: "missing-logo" "wrong-logo" "outdated-logo" "cockpit" "rating" "interaction" The Type of the feedback influencing the Feedback object model |
userID | string Identifies the user sending the feedback |
{- "additionalInfo": {
- "key": "value",
- "key2": "value2"
}, - "content": "This is a feedback text with constructive criticism or praise.",
- "feedback": { },
- "module": "company-logos",
- "type": "missing-logo",
- "userID": "5dca8240-bfc1-4189-b8e2-09a776cd482b"
}
{- "feedbackID": "5dca8240-bfc1-4189-b8e2-09a776cd482b"
}
Webhooks are HTTP callbacks which can be used to send notifications to your service/server when data in a user on your client has been changed. Rather than making an API call, finoOS2 sends an HTTP request with the data that has been changed to an endpoint you configure.
The webhooks module allows you to set up such user-defined HTTP callbacks by subscribing to events.
Using the webhook module requires the following:
webhooks
scope to have access to the webhooks moduleBefore you create a webhook with our webhooks module. Consider to securing the webhook you want to configure by generating a secret and configure you webhook with it. finoOS2 does nothing with your secret but sending the secret along with the payload that gets send after a subscribed event triggers on a user. Your webhook endpoint needs validate the secret to accept the request on your server.
If you already have configured a webhook and want to secure it afterwards. You can update your webhook with a secret.
After setting up and optionally securing your webhook. It is time to receive the payload associated to the subscribed events after an event triggers. Down below you can see the generic payload that gets sent to your configured endpoint.
webhookID
represents the unique identifier of the webhookuserID
represents the user experiencing the change in datacustomUserID
is a identifier you can choose on create usertenantID
under which tenantID the user was createdcorrelationID
which calculation process this event belongs tocorrelationTimestamp
when the calculation process was startedsecret
to secure your webhookevent
that got triggereddata
that changes relevant to the event that got triggered.Type: object
Properties
string
string
string
string
string
string
string
string
object
Along with the payload additional headers are sent to your configured webhook. These headers are:
X-Request-Id
representing a unique identifier for the request or event trigger. For example used to trace back the path the event took.FinoOS-Tenant-ID
representing the tenant the event belongs to.Type: object
Properties
webhook data
payload contains Accounts with empty tags field.
webhook data
payload contains notification message without raw data.
Signals availability of new raw data to fetch from corresponding finoos2 service.
Type: object
Properties
string
string
webhook data
payload contains notification message without raw data.
Signals availability of new raw data to fetch from corresponding finoos2 service.
Type: object
Properties
string
string
Type: object
Properties
webhook data
payload contains Categorization only containing transactions with changed tagging.
This event is triggered if our automatic banking sync cannot be successfully completed. The user consent is expired and a user action is required to renew the sync with /management
or /sync
(session). Otherwise there is a temporary issue with our infrastructure.
Type: object
Properties
string
object
string
string
string
string
Type: object
Properties
webhook data
payload contains CompanyCockpit with the typecompany
.
Type: object
Properties
webhook data
payload contains PersonCockpit with the type person
.
This event is triggered when a customer approves a cockpit and so also unlocks it for advisor access.
Type: object
Properties
string
string
webhook data
payload contains notification message without raw data.
Signals availability of new raw data to fetch from corresponding finoos2 service.
Type: object
Properties
string
string
webhook data
payload contains notification message without raw data.
Signals availability of new raw data to fetch from corresponding finoos2 service.
Type: object
Properties
string
string
Type: object
Properties
webhook data
payload contains Recommendations.
Type: object
Properties
webhook data
payload contains Recommendations.
webhook data
payload contains notification message without raw data.
Signals availability of new raw data to fetch from corresponding finoos2 service.
Type: object
Properties
string
string
Scope: webhooks
Get all registered webhooks
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "webhooks": [
- {
- "events": [
- "transactions.raw",
- "transactions.raw.notification",
- "transactions",
- "transactions.notification",
- "contracts",
- "ubasyncerror",
- "companycockpit",
- "personcockpit",
- "cockpit.approved"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "POST",
- "id": "U3dhZ2dlciByb2Nrcw==",
- "secret": "my-secret-to-authenticate-callback",
- "tenantID": "your-tenant"
}
]
}
Scope: webhooks
Creates a user-defined callback(webhook) associated to one or multiple events.
callbackURL
is the URL that receives the payload associated to the subscribed events after at least one subscribed event is triggeredsecret
is a custom secret set by the user that can be checked after receiving an event payload to secure the callbackevents
represents the events the user wants to subscribeAuthorization required | string The authorization token |
TenantID | string The client's tenant |
The payload of the request
object |
{- "webhook": {
- "events": [
- "transactions.raw",
- "transactions.raw.notification",
- "transactions",
- "transactions.notification",
- "contracts",
- "ubasyncerror",
- "companycockpit",
- "personcockpit",
- "cockpit.approved"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "POST",
- "secret": "my-secret-to-authenticate-callback"
}
}
{- "id": "string",
- "secret": "string"
}
Scope: webhooks
Update a specific webhook
webhook-id required | string The id of the webhook to be updated |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
object |
{- "webhook": {
- "events": [
- "transactions.raw",
- "transactions.raw.notification",
- "transactions",
- "transactions.notification",
- "contracts",
- "ubasyncerror",
- "companycockpit",
- "personcockpit",
- "cockpit.approved"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "POST",
- "secret": "my-secret-to-authenticate-callback"
}
}
{- "webhook": {
- "events": [
- "transactions.raw",
- "transactions.raw.notification",
- "transactions",
- "transactions.notification",
- "contracts",
- "ubasyncerror",
- "companycockpit",
- "personcockpit",
- "cockpit.approved"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "POST",
- "id": "U3dhZ2dlciByb2Nrcw==",
- "secret": "my-secret-to-authenticate-callback",
- "tenantID": "your-tenant"
}
}
Scope: webhooks
Delete a webhook
webhook-id required | string The id of the webhook to be deleted |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "message": "string",
- "type": "invalidInput"
}
Scope: webhooks
Patch a specific webhook
webhook-id required | string The id of the webhook to be updated |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
object |
{- "webhook": {
- "callbackURL": "string",
- "errorCallbackURL": "string",
- "events": [
- "string"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "string",
- "secret": "string"
}
}
{- "webhook": {
- "events": [
- "transactions.raw",
- "transactions.raw.notification",
- "transactions",
- "transactions.notification",
- "contracts",
- "ubasyncerror",
- "companycockpit",
- "personcockpit",
- "cockpit.approved"
], - "headers": {
- "Authorization": "Bearer jwt.example",
- "Custom-Header-Key": "Custom-Header-Value"
}, - "httpMethod": "POST",
- "id": "U3dhZ2dlciByb2Nrcw==",
- "secret": "my-secret-to-authenticate-callback",
- "tenantID": "your-tenant"
}
}
new parameter to Get Categorization Tree and Get Categorization Description
currency
description ISO 4217 currency code (unsupported=OTHER)
id
field to Renter-Information transaction modeltriggerChallenge
as new request parameter to Create Synchronization Sessiontrue
observedMonths
to Renter-Information modelaccountId
query parameter to Get Transactions
readonly
to Create Management Sessionapplication/json
in error responses
application/json
in error responses
merchantCategoryCode
fieldcurrency
field to Renter-Information responsesaccountId
to Get Categorizationpage
and pageSize
query parameters to Get CategorizationbookingDate
and valueDate
to be optional and type to be unix timestamp for external import,account and transaction uploadaccountTypes
from reqeust model Create Synchronization SessionUser-IP
header from Create Management Sessionproduct
, textHyperlink
, hyperlinkLabel
,
advisorText
, showCustomer
and showAdvisor
to response modelbankCode
to addBankLogin
LogoURL
and SquareLogoURL
to Renter-Information Transaction Model Renter-InformationUNKNOWN
from renter information model Renter-Informationapplication/json
companycockpit-recommendations
, personcockpit-recommendations
, cockpitrecommendations.notification
Webhookscategorization
and categorization.diff
WebhooksincludeTransactions
query param to omit transactions in responsetransactionId
in request modelGet Account Summary
Get Account Summary
SessionResponse.RedirectURL
to include new theme parameter represented as JSON stringscopes
to userScopes
in Add User request modelscopes
to userScopes
in Add scopes to user request modelheaders
field to allow setting of up to 20 custom headers which will be sent when the webhook is triggeredtenantID
,correlationID
,correlationTimestamp
url
field in responses when applicableid
field is removedlastMonths
users
.CreateUser
request model updatename
for usernamescopes
to create a user with reduced calculationsusers
.UserScopes
new endpoint to expand and start calculations for a given usercompanies.companies-search-logos
response code 200 new status
enum type usage forbidden
for disallowed logoscontracts
.Get Contracts
response model transactions now only contain transactionId
banking
.Create Management Session
and Create Connect User Session
now have additional query parameters demo
and multiple
banking
.Create Synchronization Session
additional response case status 422Search Logos
response added fields for squareLogoURL
and companyID
Get Company Cockpit
added calculations to response modelLiquidity
CollectivePayments
Cashflow
Graphs
AccountData
SavingSecurities
InternalContracts
Get Person Cockpit
added calculations to response modelOverview.Income
Income
HouseholdExpenditure
SavingSecurities
InternalContracts
AccountHistoies
Authentication
refresh_token is removed in accordance with https://www.rfc-editor.org/rfc/rfc6749#section-4.4.3Feedback
module in theFeedback
sectionFeedback
payload bodyClients
sectionbanking
scope Get Accounts 204 Status code response for no accounts foundAttributes
Contract.ContractPartner
Contract.ContractPartner.Contact
supportedPayments
to Accounts modelSINGLE_MONEY_TRANSFER
(supports one transaction per money transfer)COLLECTIVE_MONEY_TRANSFER
(supports multiple transactions in one money transfer)/banking/accounts/:account-id