Skip to content

Intelligence

Here you will find all intelligence of FINUX API. We calculate a lot of magic stuff. And all of this you will find here. If you have more ideas to improve or expand our intelligence, don't hesitate to contact us!

Tagging

Transaction classification

Along with every transaction that is received via XS2A (see connector/Bank Account) comes an array named tags, containing one or more strings identifying the type of transaction.

Tags are the construct of a tree-based algorithm classifying each transaction individually and also in the context of all transactions and all of your account(s). Due to a hierarchy in the structure you may choose on your own to what level of detail you show the categorization to the end user. An insurance transaction for example will be tagged as a spending, an insurance-spending and also the type of insurance product. Depending on your needs you can then group / aggregate the data.

Additionally to the categorical tags there are also attribute tags. They have no correlation to the categories itself and can identify a transaction as a transfer, whether the transaction pattern is recurring or not, whether the values change over time or not, and much more.

Contracts

Get Contracts

Returns contracts for active accounts

  • Method: GET
  • Path: api/finux/user/intelligence/contracts
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "string"
    },
    "data": [
        {
            "contractId": "string",
            "amountConsistency": "string",
            "amount": "float64",
            "interval": "string",
            "tags": [
                "string"
            ],
            "duration": "int64",
            "category": "string",
            "nextBookingDate": "string",
            "nextBookingRange": [
                "string"
            ],
            "mref": "string",
            "isActive": "bool",
            "contractPartner": {
                "creditorIds": [
                    "string"
                ],
                "name": "Bauverein",
                "address": {
                    "streetNumber": "string",
                    "street": "string",
                    "streetAdditional": "string",
                    "postCode": "string",
                    "city": "string",
                    "countryCode": "string"
                },
                "contact": {
                    "email": "string",
                    "phone": "string",
                    "fax": "string",
                    "www": "string"
                },
                "tags": [
                    "string"
                ]
            },
            "transactions": [
                {
                    "accountId": "string",
                    "amount": "float64",
                    "bookingText": "string",
                    "currency": "string",
                    "bookingDate": "int64",
                    "valueDate": "int64",
                    "mref": "string",
                    "paymentPartner": {
                        "bic": "string",
                        "creditorId": "string",
                        "iban": "string",
                        "name": "string"
                    },
                    "purpose": "string",
                    "sepaPurposeCode": "string",
                    "transactionCode": "int64",
                    "transactionId": "string",
                    "typeOfDebit": "string",
                    "tags": [
                        "string"
                    ]
                }
            ]
        }
    ],
    "code": "int64"
}

Digital Self-Disclosure (Selbstauskunft)

The digital self-disclosure service returns an overview of earnings, spending, user and risk profile for a given list of bank accounts. The nested calculations object contains:

  • characteristics: Found characteristics of the accounts and its transactions. This includes basic information like the balances and the time-span of given transactions, but also user and risk profile information.
  • criticalEvents: A set of predefined warnings that indicate a risky financial behavior.
  • income: Different types of income categories of the user
  • spending: Different types of spending categories of the user

Get Self-Disclosure

  • Method: GET
  • Path: api/finux/user/intelligence/dsd
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "string"
    },
    "data": { //... },
    "code": "int64"
}

for every calculation object in the nested data an object of the following type ist returned:

{
    "result": "string, float64, bool",
    "functionName": "string"
}

Liquidity

Get Liquidity

This endpoint returns the calculated daily balances of the current and the last month to get an overview of current liquidity and a comparison with the previous month.

  • Method: GET
  • Path: /api/finux/user/intelligence/liquidity
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>
  • Query parameter:
    • all = true (optional)

expected response:

{
    "status": {
        "message": "OK"
    },
    "code": 200,
    "data": [
        {
            "date": "string",
            "balance": "float64"
        }
    ]
}

custom errors:

{
    "status": {
        "message": "keyToi18nText"
    },
    "data": null,
    "code": 473
}

or provider error:

{
    "status": {
        "message": "ProviderMessage"
    },
    "data": null,
    "code": 422
}

Forecast

Get Forecast

This endpoint returns the result of a time series forecast for the given accounts based on the daily balances of the account balances

  • Method: GET
  • Path: /api/finux/user/intelligence/forecast
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "OK"
    },
    "code": 200,
    "data": {
        "forecast": [
            {
                "date": "string",
                "value": float64,
                "forecast": bool
            }
        ]
    }
}

Life Changing Moments (LCM)

Get Life Changing Moments

This endpoint returns the calculated life changing moments for the given user, such as:

  • Exmatriculation: The user recently finished university
  • Move: The user recently moved from one apartment to another
  • Unemployment Start: Beginning of unemployment
  • Unemployment End: End of unemployment

Request:

  • Method: GET
  • Path: /api/finux/user/intelligence/lcm
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "OK"
    },
    "code": 200,
    "data": [
        {
            "date": "string",
            "name": "string",
            "description": "string"
        }
    ]
}

Payments

Get Future Payments

Returns expected future payments for the user

  • Method: GET
  • Path: api/finux/user/intelligence/futurepayment
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "OK"
    },
    "data": [
        {
            "description": "string",
            "paymentDate": "string",
            "amount": "float64",
            "balance": "float64",
            "paymentType": "tagtype"
        }
    ],
    "code": 200
}

Possible values for paymentType are "futurePaymentVat", "futurePaymentSalary" and "futurePaymentFixcosts".

custom errors:

{
    "status": {
        "message": "keyToi18nText"
    },
    "data": null,
    "code": 473
}

or provider error:

{
    "status": {
        "message": "ProviderMessage"
    },
    "data": null,
    "code": 422
}

Payment-Partner Analysis

Get Top Customers and Suppliers

Analyzes transactions of SME accounts and returns a list of their top customers and top suppliers.

zpType indicates the type: customer or supplier

  • Method: GET
  • Path: /api/finux/user/intelligence/tcas
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

  • Query parameter:

    • view = (amount|percent)
    • span = (year|quartal|month)
    • count = (all|top3)

count is only supported on amount view

expected response:

{
    "status": {
        "message": "OK"
    },
    "code": 200,
    "data": [
        {
            "cum_perc": "float64",
            "paymentPartnerName": "string",
            "rank": "int32",
            "totalAmountZP": "int64",
            "totalPercentageShare": "float64",
            "zpType": "string"
        }
    ]
}

custom errors:

{
  "status": {
      "message": "keyToi18nText"
  },
  "data": null,
  "code": 473
}

or provider error:

{
    "status": {
        "message": "ProviderMessage"
    },
    "data": null,
    "code": 422
}

Smart-Alerts

Get Smart-Alerts

Returns a small subset of Smart-Alerts based on the user's transactions.

  • Method: GET
  • Path: api/finux/user/intelligence/smartalerts
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected response:

{
    "status": {
        "message": "OK"
    },
    "data": [
        {
            "message": "string",
            "feedtype": "Feedback"
        },
        {
            "name": "string",
            "value": "int",
            "sum": "float",
            "feedtype": "Smartalert"
        }
    ],
    "code": 200
}

custom errors:

{
    "status": {
        "message": "keyToi18nText"
    },
    "data": null,
    "code": 473
}

or provider error:

{
    "status": {
        "message": "ProviderMessage"
    },
    "data": null,
    "code": 422
}

Daily Review

Get Review

Returns daily review based on transactions

  • Method: POST
  • Path: /api/finux/user/intelligence/review
  • Header: X-FINO-Authorization : Bearer <JWT-AccessToken>

expected request:

{
    "from": "string",
    "to": "string"
}

expected response:

{
    "status": {
        "message": "OK"
    },
    "data": {
        "payments": [
            {
                "paymentDate":  "string",
                "amount":       "float64",
                "purpose":      "string",
                "supplierName": "string"
            }
        ],
        "outgoing": "float64",
        "interval": "string",
        "from":     "string",
        "to":       "string"
    },
    "code": 200
}