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 |
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 |
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": "string",
- "count": 0,
- "page": 0,
- "pageSize": 0,
- "tenant": "string"
}, - "users": [
- {
- "createdAt": "string",
- "customUserID": "string",
- "expiresIn": 0,
- "name": "string",
- "type": "string",
- "userID": "string",
- "userScopes": [
- "string"
]
}
]
}
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
customUserID | string Optional CustomUserID of the created user. |
name | string Optional Name of the created user. |
type | string Enum: "person" "company" |
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. |
{- "customUserID": "string",
- "name": "string",
- "type": "person",
- "userScopes": [
- "banking",
- "banking-fetch",
- "banking-upload",
- "account-detection",
- "categorization",
- "contracts",
- "cockpits"
]
}
{- "context": {
- "client": "string",
- "tenant": "string"
}, - "user": {
- "createdAt": "string",
- "customUserID": "string",
- "expiresIn": 0,
- "name": "string",
- "type": "string",
- "userID": "string",
- "userScopes": [
- "string"
]
}
}
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 |
{- "createdAt": "string",
- "customUserID": "string",
- "duplicates": [
- {
- "createdAt": "string",
- "customUserID": "string",
- "id": "string",
- "name": "string",
- "tenant": "string",
- "type": "person"
}
], - "id": "string",
- "name": "string",
- "tenant": "string",
- "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": [
- "string"
]
}
{- "users": {
- "deleted": [
- "string"
], - "failedToDelete": [
- "string"
], - "notFound": [
- "string"
]
}
}
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": "string",
- "tenant": "string"
}, - "user": {
- "createdAt": "string",
- "customUserID": "string",
- "expiresIn": 0,
- "name": "string",
- "type": "string",
- "userID": "string",
- "userScopes": [
- "string"
]
}
}
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": "string",
- "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 |
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,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "amountOriginalCurrency": 150,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "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",
- "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
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,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "amountOriginalCurrency": 150,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "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",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "valueDate": 1705928941
}
], - "type": "GIRO"
}
]
}
{- "userId": "d73df22f-cff9-4a31-8cd2-7f46e8603414"
}
Scope: banking
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",
- "mref": "PWG9O3S2BVHZ0V27BI2X",
- "paymentPartner": {
- "bic": "GENODEF1S04",
- "creditorId": "",
- "iban": "DE83701999010000002000",
- "name": "Andreas Schett"
}, - "purpose": "Salary current month",
- "sepaPurposeCode": "ACCT",
- "transactionCode": 999,
- "valueDate": 1705928941
}
]
}
{- "transactionsAdded": 0
}
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
user-id required | string The user id of the finoOS user |
account-id required | string The account id |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
The payload of the request
status | string Enum: "enabled" "disabled" Status The accounts status. Must be one of |
{- "status": "enabled"
}
{- "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
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. |
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 |
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 Items Enum: "BAUSPAREN" "DEPOT" "FESTGELD" "FONDSDEPOT" "GIRO" "KREDIT_KARTE" "KREDIT_KONTO" "KREDITDARLEHEN" "SPARBUCH" "TAGESGELD" "UNKNOWN" "OTHER" 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 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,
- "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,
- "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 required | string Jump directly to the add bank login screen 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 |
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
accountTypes | Array of strings Items Enum: "BAUSPAREN" "DEPOT" "FESTGELD" "FONDSDEPOT" "GIRO" "KREDIT_KARTE" "KREDIT_KONTO" "KREDITDARLEHEN" "SPARBUCH" "TAGESGELD" "UNKNOWN" "OTHER" List of account types to be shown during login |
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 |
{- "accountTypes": [
- "BAUSPAREN"
], - "bankLoginId": "5d7267d1b747aa683d88668f",
}
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 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.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. |
The payload of the request
accountTypes | Array of strings Items Enum: "BAUSPAREN" "DEPOT" "FESTGELD" "FONDSDEPOT" "GIRO" "KREDIT_KARTE" "KREDIT_KONTO" "KREDITDARLEHEN" "SPARBUCH" "TAGESGELD" "UNKNOWN" "OTHER" List of account types to be shown during login |
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 |
{- "accountTypes": [
- "BAUSPAREN"
], - "bankLoginId": "5d7267d1b747aa683d88668f",
}
{- "message": "string",
- "type": "invalidInput"
}
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 |
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",
- "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
}
]
Returns a paginated list or current tags for transactions. Use the correlation-id query parameter to only retrieve the recent changes on tagging
user-id required | string The user id of the finoOS user |
correlation-id | string optional: return diff of newly added tags for transactions since the provided correlation |
Authorization required | string Default: Bearer <Add access token here> The authorization token |
TenantID | string The client's tenant |
{- "categorization": [
- {
- "accountId": "123-321-123",
- "creationDate": "string",
- "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,
- "name": "Girokonto",
- "overdraft": {
- "amount": 5000,
- "available": true
}, - "owner": "Torben Mais",
- "securities": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "amountOriginalCurrency": 150,
- "currency": "EUR",
- "exchangeRate": 1.23,
- "isin": "US0378331005",
- "market": "NASDAQ",
- "name": "finoOS Security",
- "price": 1.23,
- "priceCurrency": "EUR",
- "purchasePrice": 150,
- "purchasePriceCurrency": "EUR",
- "quantity": 40,
- "securityId": "5ecd4d9bb9e14800012d99e9",
- "wkn": "A3GZKD"
}
], - "standingOrders": [
- {
- "accountId": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
- "amount": 200,
- "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",
- "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 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,
- "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
}
}
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,
- "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"
}
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,
- "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
}
}
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"
}
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,
- "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,
- "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,
- "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"
}
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
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
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"
}
}
Get 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