BANKSapi BANKS/Connect
OpenAPI and Swagger
Please check out our OpenAPI v3 documentation:
You may also have a look at BANKS/Connect's Swagger UI.
Interface strategy
The APIs are created according to the REST paradigm with respect to the architectural style HATEOAS. Because of the addressing logic shifted to the server, it is possible to extend the API organically without causing breaks for the callers.
If a modification cannot be implemented in a downward-compatible manner, previous versions of the interface are provided in parallel as required over a reasonable transition period.
The interface is always called via HTTPS encryption. We currently offer JSON as a data exchange format, but if required, an extension by further formats in the future is not excluded.
Structure of interface and documentation
The interface is divided into three sub-APIs Banks/Connect Customer, Banks/Connect Providers API and BANKSapi Auth API, which are briefly described in the following sections. For further information please refer to the comprehensive Sub-API documentation.
Central concepts of the BANKSapi Banks/Connect interface like Authentication are described in the chapter of the same name within this document. Furthermore, concepts applicable to the respective sub-API are described in the respective API documentation.
Before it gets started
{
"left": "navigation",
"center": "text",
"right": "code"
}
In addition to the explanatory texts, examples of the data in JSON format are provided where we found it helpful.
$ curl https://banksapi.io/hello/ \
-X GET \
-H 'Expect: ' \
-H 'Accept: application/json'
To show an example of the interface calls, we use the command line tool curl(1) in version 7.43.0. Unless otherwise stated, these examples can be executed directly in the command line and return data according to the success case.
Feedback
This documentation is primarily intended to be helpful. We are therefore pleased to receive your criticism and suggestions, which you can send to support@banksapi.de.
APIs
BANKS/Connect Auth API
The protection of personal data has the highest priority at BANKSapi. Encryption and security tokens used throughout the entire process are central components of our security concept.
The BANKSapi Auth API provides functions for managing Users. Using the OAuth2 protocol, you can create tokens to enable only those functions that are necessary for the respective use case.
For comprehensive information about the BANKSapi Auth API, see the Interface Documentation.
BANKS/Connect Customer API
{
"1cb1126d-360d-412d-a74f-985414f57ea3": {
"status": "VOLLSTAENDIG",
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"bankprodukte": [],
"sync": false,
"tanMedien": [{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}],
"sicherheitsverfahren": [{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}],
"relations": [{
"rel": "set_method",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}]
}
}
At the heart of BANKSapi Banks/Connect is the BANKS/Connect Customer API, which enables your end customers to access their financial life and perform payments within your product.
Comprehensive information about the API can be found in the interface documentation. So that you can get to the we have written a Quick Start Guide.
BANKS/Connect Providers API
Not all banks are the same. Therefore we provide you a comprehensive configuration database of data on the banks and service providers supported by BANKSapi BANKS/Connect via the BANKS/Connect Providers API
In addition to general primary data such as the name, bank group, BLZ and BIC, you also receive detailed machine-readable information on login modalities so that you can optimize the user experience of your application when creating bank accesses.
Comprehensive information about the BANKS/Connect Providers API can be found in the interface documentation.
BANKS/Connect AI API
Every user is different. AI/Connect solutions translate account information for financial service providers into specific information about the customers’ finances. This allows financial service providers to offer individual financial solutions to each user. AI/Connect differs from our other APIs mainly in that it contains derived data. Through artificial intelligent this data is extrapolated and interpreted. Therefore, BANKSapi AI Endpoints first categorizes individual transactions along the dimensions of spending type, spending frequency and business partner. Later these transactions of a specific user are aggregated and used as inputs to the next level of machine learning models to categorize the user along different dimensions such as monthly budget structure, spending habits across time and across spending categories, life stages.
Comprehensive information about the BANKS/Connect Providers API can be found in the interface documentation
Central Concepts
Authentication
Authentication is a very important topic, but in the end it is only a means to an end. Therefore, we avoid this topic in our Quickstart guide as far as possible without bothering you. So you can concentrate on the core of your requirement and move the details to a little later.
With BANKSapi BANKS/Connect there are generally three types of authentication:
- Authentication as client via OAuth 2.0 client token
- Authentication as user via OAuth 2.0 user token
- Authentication with the bank or service provider using encrypted provider credentials
Furthermore, the BANKSapi Auth API has its own admin client with which you can create and manage users.
Which form of authentication is used when, can be found at the appropriate place in the sub-API documentation As a general rule, every inquiry is to BANKSapi BANKS/Connect in the context of a client. This is already sufficient for a few, e.g. for the provider query. The entire functionality is developed by BANKSapi Banks/Connect using a user token and a few bank access points.
Bank
In conjunction of BANKSapi BANKS/Connect, we refer to the banking institutions from which we collect the data on your behalf as "bank". In the context of BANKSapi BANKS/Connect they are grouped together with the service providers as Providers.
The banks activated for you in BANKSapi Banks/Connect can be accessed via the Banks/Connect Providers API.
User
The unique user is also the central billing criterion. Further details are regulated by your cooperation agreement.
A user forms a bracket around the data retrieved about a person from the various banks or service providers.
With BANKSapi BANKS/Connect the users belong to you, the client. Access to the financial data of your users is provided via the Banks/Connect Customer API.
With the Banks/Connect Auth API you can manage your users.
Client
We use the term client for both, your application(s) and an "admin-client" which allows you to manage your users. From our point of view a client is therefore a set of access data for BANKSapi BANKS/Connect.
With a client ID, client tokens can be obtained via the BANKS/Connect Auth API via OAuth2. These tokens can then be used to access the other functions in the BANKS/Connect Customer API or BANKS/Connect Providers API.
Correlation ID
GET / HTTP/1.1
x-correlation-id: c129b93a-9b5c-11e6-a112-480fcfb9550f
The Correlation-ID is used to track requests across all systems. The Correlation-ID can be passed to the BANKSapi APIs as HTTP header X-Correlation-ID.
If it is not passed, the BANKSapi APIs generate their own ID.
In any case, the value is also returned as the HTTP response header X Correlation ID.
CORS
More information about CORS on Wikipedia.
BANKSapi Banks/Connect supports Cross Origin Resource Sharing (CORS). This makes it possible to call our APIs directly from the browser, for example in a single-page app.
Errors
Unfortunately, mistakes cannot always be avoided, but they can be treated. Especially with external dependencies such as banks and service providers, which are connected via BANKSapi BANKS/Connect, we have no influence on their (usually very high) availability.
For that reason we provide message objects in the BANKS/Connect Customer API that contain a code, a generic error description suitable for displaying to your end customer, as well as a more detailed message for your internal error handling.
For errors that are more technical in nature we work with the whole range of HTTP status codes. This encompasses errors such as syntax errors, bad authentications, parallel requests, networking problems and the like.
For details about the possible message objects and the HTTP status codes, see the Errors and Messages section in the BANKS/Connect Customer API documentation.
HATEOAS
More information about HATEOAS on Wikipedia.
HATEOAS is short for "Hypermedia as the Engine of Application State". Here the client of a REST interface navigates only to URLs that are provided by the server and that are reachable regarding the "current context". These URLs are identified by names that convey semantic information about the URL. Accordingly, there are only a few fixed URLs that must be known to the calling party.
These URLs are communicated to the caller in the form of Relations in the current document or in the HTTP response header "Location".
Timestamp
for example:
2016-09-03 04:27:00
2019-12-04 13:37:00
2010-01-01 22:03:54
Timestamps are always output without time zone information. They correspond to the format ISO 8601 in the form YYYY-MM-DD hh:mm:ss
. Data is to be interpreted according to the time zone Europe/Berlin
.
JSON
{
"aString": "Lorem ipsum dolor annat",
"anInteger":42,
"aFloat":42.1337,
"aBool":true,
"aDate": "1969-07-20",
"aTimestamp": "2016-09-03 04:27:00",
"anArrayOfInteger":[1,2,3],
"anArrayOfStrings":["one", "two", "three"],
"anObject":{
"cat": "kitten",
"dog": "puppy"
}
}
The BANKSapi Banks/Connect interfaces use the JSON (JavaScript Object Notation) for data exchange. Attributes without values are not delivered as "null", but "missing" in the document. We deliver and expect date values according to ISO 8601 formatted as string.
In the case of exchanged JSON documents, it should also be noted that every consumer must ignore unknown attributes. This applies in particular to enumeration types whose extension is regarded as downwards compatible.
When JSON is delivered, the Content-Type header "Content-Type: application/json" must always be included. With "null" values it does not matter whether fields are sent as "null" or not at all, unless they are mandatory fields.
Client
There is also a demo client, which is used for example in our Quick Start Guide.
This is you or the company that has concluded a cooperation agreement with us. The client includes Clients and Users.
As a client you have access to our first-class support and benefits from the permanent development of BANKSapi BANKS/Connect. And of course you will see more data than just our demo bank.
If you are interested, please contact with us.
OAuth2
All calls to the BANKSapi interfaces must be made with a valid OAuth2 token. For some operations, a client token (without a specific user) is sufficient.
Details on user and client management are described in the BANKSapi Auth API.
Token types
BANKSapi is working in a 2-legged OAuth2 setting. This means you will be supplied a refresh token. With this, you will have to fetch a fresh access token for almost all calls within our APIs.
The refresh token (actually a set of Basic Auth credentials) is valid for a long time and used exclusively to fetch new access tokens. It is a Basic token, you will have to authenticate with Authorization: Basic <base64EncodedCredentials>
An access token has a validity of 24hrs, after which you will need to create a new token. Depending on your design and use case, we recommend that you either keep track of the validity and fetch a new token in time, or you fetch a new access token per business transaction, in which case you can go without persistence of the token. You will have to authenticate with Authorization: Bearer <bearerToken>
Token levels
Access tokens can be on client or on user level. If nothing is explicitly documented in the corresponding use case, the call with a unique user is assumed. Bear in mind you can't do calls like e.g. add a new bank access on a client (i.e. management) level as these would be available for all users, but only on user level. But a user can't create new users, this must be done on a management level.
Token usage
When calling, the token must be transferred according to the OAuth2 standard in the header "Authorization: Bearer ...". If this header is missing or the token is invalid, the interface responds with the HTTP status code 401 (Unauthorized). If the token does not contain the necessary authorizations, the HTTP status code 403 (Forbidden) is reported.
Provider
As providers we refer to the connected banks and service providers in a very abstract way. The connection is made using a wide variety of technologies and at the end the collected data will be converted into a uniform format for you.
Relation
{
"rel": "say_hello",
"href": "https://banksapi.io/hello/"
}
A relation corresponds to an application or business transaction that is supported by the surrounding data object. For every application and business transaction, there is a separate documentation that describes both the call and the return or the possible alternative response scenarios in the in detail.
Each relation consists of a keyword (e.g. "get_kontoumsaetze") and a URL. A client that is interested in the transactions of a bank product calls the specified URL with the HTTP verb specified in the documentation.
REST
Recommended reading: Roy Fielding: REST APIs must be hypertext-driven
Our APIs are implemented as REST patterns (Representational State Transfer). Consequently, they are usable via the HTTP protocol and use more HTTP verbs as GET and POST only.
Furthermore, we strive to meet the requirements of the REST inventor Roy Fielding for a REST API by reflecting on the HATEOAS architectural style to do justice to this.
Service Provider
Service providers are connected financial institutions that are not a bank. In the context of BANKSapi Banks/Connect they are also more generally referred to as Provider.
Information about service providers can be obtained through the BANKS/Connect Providers API.
Language
The German banking landscape is very German-speaking, and therefore one lands in detail quite fast in the search for an appropriate translation in a dead end (or half-silk translation). However, as engineers it is also obvious to us to "program in English".
In order to get out of this dilemma, we decided to leave technical terms from the banking environment in German and to use all other terms from English to import. To avoid a too heavy "Denglish", we have decided to import German as well.
Otherwise BANKSapi Banks/Connect is mainly programmed in Java and some other JVM languages.
Encryption
{
"plaintext": "BANKSapi",
"Ciphertext": "ONAXFncv"
}
In order for BANKSapi BANKS/Connect to access the data of the banks, the access data must be available. Since this information is extremely sensitive, the access data is protected by strong asymmetric encryption. You will receive an RSA public key at the beginning of the cooperation. The secret counterpart lies with us. Thus the access data can be encrypted but not decrypted.
The procedure is described in detail in the documentation for the Banks/Connect Customer API.
We check the quality of our TLS configuration with the tool Qualys SSL Labs.
Otherwise, of course, the transport route is encrypted using TLS (HTTPS).
Versioning
Semantic versioning even has its own semantically versioned manifest.
The interfaces are semantically versioned (X.Y, e.g. 2.0). If the Y value increases, a correctly implemented Client will continue to work without restrictions, but of course does not use the new functions. In the event of a change of X, the client must be adapted, since the change was not backward compatible. Previous major versions (X) will be is still supported for a while after the introduction of the incompatible subsequent versions, if this makes sense from a technical point of view.
Quick Start
What We're Going to Do
We'd like to guide you through the first steps you're probably going to take with our interface: You will probably want to create a first user and add a bank access for them. This will give you a good first impression on what data is available through our API, how to interact with it in general as well as some of the concepts we're using.
For starters, bear in mind we're basing our authentication on the (2-legged) OAuth2 protocol. Therefore, you will be supplied with a "refresh token" in order to fetch a new access token.
Create a Client Token
POST /auth/oauth2/token HTTP/1.1
Host: banksapi.io
Authorization: Basic c29<...>U=
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
The first step will be to fetch a fresh access token on management level in order to be able to create a new user. For this, we will use the Create Token call. You can see the call on the right.
The only required field of this call is grant_type
, which we fill with client_credentials
, because we want to create a token on management (i.e. client) level. The scope
parameter can be left out, in which case we will receive the full scope. If at a later point we want to limit this for security or design reasons, we can add the scopes that we'd like this token to have.
{
"scope": "http://banksapi.io/customer/read http://banksapi.io/provider/read http://banksapi.io/customer/modify http://banksapi.io/customer/ueberweisung auth/tenants/users/create",
"tenant": "demotenant",
"client": "demoTenantClient",
"additionalData": {},
"validTo": "2020-10-08 09:16:03",
"access_token": "edbc0a13-19c3-4a10-ac96-bbfe900a0a06",
"token_type": "Bearer"
}
The response we can see on the right: Together with some additional data, we receive an access_token
of type Bearer
, valid for 24hrs, for our tenant demotenant
. Make note of the tenant name, we'll need it in the next call.
Create a User
With the new token we've just created, we will now create our first user.
POST /auth/mgmt/v1/tenants/demotenant/users HTTP/1.1
Host: banksapi.io
Content-Type: application/json
Authorization: Bearer edbc0a13-19c3-4a10-ac96-bbfe900a0a06
{
"username": "user1",
"password": "password1"
}
For this, we will use the Create User call. You can see the call on the right. The required fields are username
and password
, so we will set these values.
The Content-Type
is application/json
in this (as in every other) case, and we use the new Bearer
token as Authorization
. As a last parameter, note the tenant id in the URL, because we're creating a user for that (your) tenant. This is the same tenant that we have received in the response of the previous call.
The response will be an HTTP 201 Created
success status response with no body, indicating the user has been created.
Create a User Token
POST /auth/oauth2/token HTTP/1.1
Host: banksapi.io
Authorization: Basic c29<...>U=
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=user1&password=password1
Now we need to fetch a fresh access token on the user level. As in the first call, we will use the Create Token call, but with different parameters. You can see the call on the right.
This time, as we're fetching a token on user level, we are using grant_type=password
, not client_credentials
. This is according to the OAuth2 password grant. Of course, for username
and password
we're using the values that we have specified in the previous call.
{
"scope": "http://banksapi.io/provider/read http://banksapi.io/customer/read http://banksapi.io/customer/modify http://banksapi.io/customer/ueberweisung auth/tenants/users/create",
"tenant": "demotenant",
"client": "demoTenantClient",
"user": "0049e4d6-824f-4839-823d-7a2ad4660c4e",
"additionalData": {
"username": "user1"
},
"validTo": "2020-10-08 10:56:47",
"access_token": "0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235",
"token_type": "Bearer"
}
As a response, we receive a similar JSON object as before. This time, as additionalData
we receive the username
to indicate it's a token on user level.
That's it for the Auth API, all subsequent calls we'll make with the Customer API with our new Bearer token on user (i.e. customer) level.
Create Bank Access
With the new token, we can access the full range of customer interactions. But as the user has not added a bank access yet, our options are somewhat limited. So next we're going to add a bank access for that user.
Now it gets tricky: For this operation, you will need to differentiate whether you are a regulated or a non-regulated customer. Non-regulated customers will not be allowed to receive the credentials to a provider (e.g. a bank) on their own domain. These are considered sensitive payment information and the handling of this is regulated by the authorities. Therefore, they will have to redirect the customer to us, the customer will select a bank and enter sensitive payment information on a BANKSapi frontend (REG/Protect) and complete the authorization flow, then the customer is redirected back to you.
POST /customer/v2/bankzugaenge HTTP/1.1
Host: banksapi.io
Content-Type: application/json
Authorization: Bearer 0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235
{
"629e4510-5331-47d4-9bad-8902039ff762": {
}
}
For adding a new bank access, we will use the Add Bank Access call. You can see the call on the right.
No surprises in the headers, Content-Type
is application/json
as with all the calls in the Customer API, Authorization is our new Bearer token on user level.
The payload requires a bit of explanation: A bank access is referenced by a UUID. Because it might be necessary for you to query the bank access object without any response from BANKSapi, this UUID needs to be chosen and set by you. Therefore, the UUID visible in the body is a new UUID that you need to create with a suitable UUID generator.
The banks access object (referenced by the UUID) is empty in this case as in {}
. The reason is that in the REG/Protect case, you can neither send us a credentials object (this would require a regulatory license to handle sensitive payment data) nor a provider ID (the user will be able to select the bank in the REG/Protect wizard). The last optional flag, sync
, indicates whether the bank access should be persisted on BANKSapi end. For REG/Protect clients, this must be true (which is also the default value) and can therefore be omitted.
HTTP/1.1 451 Unavailable For Legal Reasons
Location: https://banksapi.io/customer/v2/webform?session=ef2fdd3b-a087-447b-843c-670325d003f4&useCase=CREATE_ACCOUNT
The result will be an HTTP 451 Unavailable for Legal Reasons
status response with no body. Admittedly used rarely, for this case it's the perfect response code, indicating you are not allowed to create a bank access yourself (for legal reasons) but will have to have us do it for you.
In the background, we have created the corresponding frontend session already and are prepared to have the user come to our domain for completing the process. The URL of our frontend will be delivered through the Location
respone header.
In order for us to know where to redirect the user after completion, you will need to add a callbackUrl
query parameter to the URL before redirecting the user there, as indicated in the docs on Adding and authenticating bank access. This callback URL needs to be URL encoded
In our example, we would therefore redirect the user to https://banksapi.io/customer/v2/webform?session=ef2fdd3b-a087-447b-843c-670325d003f4&useCase=CREATE_ACCOUNT&callbackUrl=http%3A%2F%2Fexample.com
(or, for the first tests, open it in the browser ourself).
Now you can relax for a bit, the user will be completing the process on our frontend:
Step | Screenshot |
---|---|
Accepting our T&Cs (only once per user, for the second bank access this step will be omitted) | |
Selecting a provider | |
Entering the credentials | |
Confirming accounts | |
Being redirected back to you |
The user will be redirect back to the URL you specified previously in callbackUrl
, together with a query parameter baReentry
indicating the result (normally ACCOUNT_CREATED
).
That's it, the account has been created. In the background, we were already communicating with the user's bank or provider, fetching and analyzing data. You can now query the data, continuing with the next requests.
Query Bank Access
GET /customer/v2/bankzugaenge HTTP/1.1
Host: banksapi.io
Authorization: Bearer 0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235
Next up, let's check if the bank access is there and what options we have to go on. We'll use the Get Bank Accesses call, so query all bank accesses of that user instead of a specific one referenced by the ID you chose earlier. You can see the call on the right.
{
"629e4510-5331-47d4-9bad-8902039ff762": {
"id": "629e4510-5331-47d4-9bad-8902039ff762",
"providerId": "00000000-0000-0000-0000-000000000000",
"aktualisierungszeitpunkt": "2020-10-07 13:26:13",
"tanMedien": [
{
"name": "Mobil",
"medienklasse": "MOBIL",
"gueltigVon": "2020-10-07 13:26:13",
"gueltigBis": "2020-10-07 13:26:13"
}
],
"sicherheitsverfahren": [
{
"kodierung": 902,
"name": "mockPhotoTAN",
"hinweis": "Scanne das Bild. Das Ergebnis ist \"8534842\""
},
{
"kodierung": 1,
"name": "mockTAN",
"hinweis": "Gib eine durch 2 teilbare Zahl ein"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "mockTAN",
"hinweis": "Gib eine durch 2 teilbare Zahl ein"
},
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762"
},
{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762"
},
{
"rel": "get_issues",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/issues"
}
],
"status": "VOLLSTAENDIG",
"bankprodukte": [
{
"id": "DE00123456789012345678",
"status": "VOLLSTAENDIG",
"bezeichnung": "Girokonto",
"kategorie": "GIROKONTO",
"saldo": 2145.78,
"aktualisierungszeitpunkt": "2020-10-07 13:26:13",
"saldoDatum": "2020-10-07 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345678",
"iban": "DE00123456789012345678",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller",
"relations": [
{
"rel": "start_ueberweisung",
"href": "https://banksapi.io/customer/v2/ueberweisung/00000000-0000-0000-0000-000000000000/DE00123456789012345678"
},
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678"
},
{
"rel": "get_kontoumsaetze",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze"
},
{
"rel": "get_kontoumsaetze_tagged",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=true"
},
{
"rel": "get_kontoumsaetze_insurances",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=insurances"
},
{
"rel": "get_kontoumsaetze_business_partners",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=business-partners"
}
],
"messages": [],
"ueberziehungslimit": 3000.0,
"verfuegungsrahmen": 2045.78,
"verfuegterBetrag": 100.0
},
{...}
],
"sync": true
}
}
As a response, the server will return the (now filled) bank access object we created earlier. Find a sample response on the right.
Wow, there's is a lot going on, so let's dissect:
Top level, we have an object representing a collection of all bank accesses of that user. In this case, we have yet only created one, so the collection has one entry with the key 629e4510-5331-47d4-9bad-8902039ff762
, which is the UUID we chose earlier for the bank access.
In that object, representing this specific bank access, we have some attributes: There's the id
again, no surprise there, there is a providerId
, which we could use to query some info on the bank the user chose through a Get Provider call, there is an aktualisierungszeitpunkt
which represents the timestamp of the last update (in which we fetched fresh data from the bank), there is some meta info on SCA (sicherheitsverfahren
and aktivesSicherheitsverfahren
) which is probably not interesting for you right now, a status
flag which should be VOLLSTAENDIG
by now and an indication of the sync
flag, i.e. whether this bank access is persisted on BANKSapi side, can be queried by you any time in the future and will be refreshed from the bank up to four times a day.
Next, there is an array relations
, that contains actions that you can take with this bank access and the corresponding URL. See our chapter on HATEOAS for more info on this design.
Then there is another array, bankprodukte
. Remember, under one bank access can be multiple bank products, as you can have several accounts with a bank that you can all access with the same set of credentials.
{
"id": "DE00123456789012345678",
"status": "VOLLSTAENDIG",
"bezeichnung": "Girokonto",
"kategorie": "GIROKONTO",
"saldo": 2145.78,
"aktualisierungszeitpunkt": "2020-10-07 13:26:13",
"saldoDatum": "2020-10-07 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345678",
"iban": "DE00123456789012345678",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller",
"relations": [{
"rel": "start_ueberweisung",
"href": "https://banksapi.io/customer/v2/ueberweisung/00000000-0000-0000-0000-000000000000/DE00123456789012345678"
},
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678"
},
{
"rel": "get_kontoumsaetze",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze"
},
{
"rel": "get_kontoumsaetze_tagged",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=true"
},
{
"rel": "get_kontoumsaetze_insurances",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=insurances"
},
{
"rel": "get_kontoumsaetze_business_partners",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze?tag=business-partners"
}
],
"messages": [],
"ueberziehungslimit": 3000.0,
"verfuegungsrahmen": 2045.78,
"verfuegterBetrag": 100.0
}
This array contains (probably multiple) bank products. Let's dissect also one of the bank products, e.g. the one on the right.
Again, there is an id
, this time of this specific product, there is a status
which is the same as for the bank access. Again there is a lot of meta info (see the corresponding Bank Product Schema for a complete list). And there are some relations in the relations
array, indicating which actions you can take next:
Relation | Explanation | Corresponding call |
---|---|---|
self |
Query only this bank product | Get Bank Product |
start_ueberweisung |
Initiate a wire transfer from this account. This relation is only returned for accounts from which BANKSapi supports transfers, mainly payment accounts | Create Transfer |
get_kontoumsaetze |
Get turnovers for this product | Get Transactions |
get_kontoumsaetze_tagged |
Get turnovers for this product, tagged (categorized) | Get Spending Tags |
get_kontoumsaetze_insurances |
Get turnovers for this product, tagged with insurance tags (only the ones that are insurance turnovers of course) | Get Insurance Tags |
get_kontoumsaetze_business_partners |
Get turnovers for this product, tagged with normalized business partners |
We're interested in the turnovers of this account, so we'll fetch those next, using the get_kontoumsaetze
relation.
Query Turnovers
GET /customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/DE00123456789012345678/kontoumsaetze HTTP/1.1
Host: banksapi.io
Authorization: Bearer 0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235
The turnovers we can query with a bank-product-specic URL, given to us through the get_kontoumsaetze
relation earlier. We'll use that URL with the Get Transactions call. You can see the call on the right.
[
{
"id": "1975f080-0001-b4f7-727b-aec310895541",
"betrag": -100.0,
"verwendungszweck": "GA NR00006110 BLZ70020270 3 07.02/14.29UHR MÜNCHEN,KARD EUR 100,00 ENTGELT 0,00 Ref. 3QL15041A1357856/83343",
"buchungstext": "",
"buchungsdatum": "2020-10-05 00:00:00",
"wertstellungsdatum": "2020-10-02 00:00:00",
"gegenkontoInhaber": "",
"gegenkontoIban": "",
"gegenkontoBic": "",
"primanotaNummer": "0",
"hash": "1b4f7727-baec-3107-9554-1cf472933ccf"
},
{...}
]
As a result, we're greeted with an array of turnovers. For details on the attributes, head over to the Transaction Schema
Force a Refresh of Data From the Bank
POST /customer/v2/bankzugaenge?refresh=true HTTP/1.1
Host: banksapi.io
Content-Type: application/json
Authorization: Bearer 0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235
{
"629e4510-5331-47d4-9bad-8902039ff762": {
}
}
Although we refresh sync
ed bank accesses up to four times a day, in some cases, you might want to force BANKSapi to fetch fresh data from the provider. It is therefore a good idea to implement some kind of refresh button for the user, which in turn should force an actual refresh from the bank and not just return cached data from BANKSapi.
In order to force BANKSapi to fetch fresh data, we will use the same call that we used when creating a bank access, only this time we are using the UUID of the bank access we want to refresh, and add a refresh=true
as a query parameter, as in the example on the right.
This time, this will be confirmed by a 201 Created
HTTP status, indicating the refresh has been triggered. You can now query the bank access again and should see fresh data.
Renew Consent with SCA / TANs
At some point, the user consent we create implicitly with the previous calls will run out. Bear in mind, this is the consent the users gave to us to fetch data from the bank, so the bank will honour this consent and we have no choice but to renew it. Usually, under PSD2, the consent is valid for 180 days, although some products from some banks require more frequent renewals (some even for every refresh) and there are always things that can prevent us from fetching fresh data from the bank, e.g. a locked account or the user manually removing the consent.
A renewal of consent is a fancy way of saying the user has to enter a TAN or going through a similar process with a TAN-less SCA method such as AppTAN.
We will indicate the necessity of SCA renewal with a start_sca
relation. In this case, we might have been able to refresh some but not all bank products, or none at all, and will remain in this state until the user refreshes their consent. In the meantime, you will still be able to query data from BANKSapi, but it will not be the most recent but the last state that we were still be able to fetch.
{
"rel": "start_sca",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/consent/59f168d6-3a45-4db5-bcd5-94f29d64bbfa"
},
Therefore, if you encounter a start_sca
relation, you will have to have the user go through the SCA process again, similar to when they added the bank access, but without them having to chose the provider or enter their credentials. In this case, it's just the SCA process they will have to go through
In fact, we recommend you choose a time that is convenient for the user to go through a TAN process. I.e., you would not want to blast a popup in the user's face first thing after app opening, because chances are they had some other task in mind that they wanted to achieve. Thus, they are very likely to cancel the process or close the app.
Instead, wait for them to complete the task they were likely going to do and ask them afterwards.
HTTP/1.1 451 Unavailable For Legal Reasons
Location: https://banksapi.io/customer/v2/webform?session=c2a71efd-71b0-47ea-951a-2abcea1c8578&useCase=AUTHENTICATE_ACCOUNT
So we realize the consent has expired and the user has to complete the SCA process, because we received a start_sca
relation with the bank access. Now we proceed as documented in Operations with SCA and POST
to the start_sca
relation. In response, we will receive a response like the one on the right. Now, the HTTP 451 Unavailable for Legal Reasons
status code seems familiar, doesn't it? Now, we follow the same procedure as before while Creating the bank access, adding a callbackUrl
and sending the user over to BANKSapi. When the user returns, the bank access should be fully accessible again and start_sca
gone.
Query Issues
The bank access, bank products and transactions we return are in a so-called “stable” state, meaning that this is the best data that is available to us. We update this stable state only if a refresh from a bank is successful. However, if fetching a bank access yields any issues, e.g. when the user has changed their login credentials without our knowledge, the stable state is unchanged because we do not want to taint the data with “bad” new data, potentially removing transactions from the storage you are relying on because we do not “see“ them.
Inevitably, there will be an account that is not refreshed any more. It is therefore a good practice to implement the call to fetch potentials issues as well. Best case, the list of messages is returned empty and there is nothing to do.
{
"rel": "get_issues",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762/issues"
}
To fetch bank access issues, we will use get_issues
relation that is returned as part of the bank access. We will receive what will look like a subset of a bank access, but in this case it is not in the "stable" state but in a state we call "tentative", i.e. containing not the best data available to us, but the latest state, and thus any issues that might have arisen during fetching updated data from the bank.
{
"id": "629e4510-5331-47d4-9bad-8902039ff762",
"tanMedien": [],
"providerId": "00000000-0000-0000-0000-000000000000",
"sicherheitsverfahren": [],
"aktualisierungszeitpunkt": "2020-10-07 13:26:13",
"messages": [{
"code": "BA1011",
"level": "ERROR",
"details": "Ungültige Zugangsdaten",
"message": "Zugangsdaten nicht korrekt"
}],
"relations": [{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/629e4510-5331-47d4-9bad-8902039ff762"
}]
}
For all errors and issues that can arise, head over to the docs on Message codes.
Where to Go From Here
You've done the first steps with our API - why not explore a bit yourself? HATEOAS makes it very easy to start exploring the API through relations - or you can go on reading this documentation.
Some hints on what to do next:
- You can try to add real bank access and see what real-world data looks like
- You could implement features for brokerage accounts
- You can explore our AI/Connect features to learn more about the user
EBICS
Overview
This guide is intended to help you integrate EBICS bank accesses via our API. EBICS (Electronic Banking Internet Communication Standard) is a widely adopted banking transmission protocol in several European countries, particularly in Germany, France, and Switzerland. It is primarily used by corporate clients and financial institutions to facilitate the secure transfer of payment and financial transaction data over the internet.
Designed for high-volume transactions, EBICS offers a robust and secure method for businesses to communicate with their banks. It standardizes the electronic exchange of banking business data and ensures secure, direct communication between clients and banks.
Remember, we're using the OAuth2 protocol for authentication, and you will be supplied with a "refresh token" to fetch a new access token. It's advised to read about OAuth2 protocol in our documentation if unfamiliar, then proceed with the steps mentioned here.
Create an EBICS Account
The user should create an EBICS account with their bank and receive credentials: Host-ID
, Host-URL
, Partner-ID
, and User-ID
. The account should have:
- Grants for
C53
(preferred) orSTA
for transaction retrieval AuthorizationLevel="T"
for all upload business transactions:CCT
(SEPA Credit Transfer),CDB
(SEPA Direct Debit for companies),CDD
(SEPA Direct Debit for end users)
These need to be set by account (by bank product) usually.
Call the Add Bank Access Endpoint
POST /customer/v2/bankzugaenge HTTP/1.1
Host: banksapi.io
Content-Type: application/json
Authorization: Bearer 0bac1d52-4eb0-4fe2-951e-cf6ff9dc4235
{
"629e4510-5331-47d4-9bad-8902039ff762": {
"ebics": true
}
}
Call the endpoint at Add Bank Access with ebics: true
.
HTTP/1.1 451 Unavailable For Legal Reasons
Location: https://banksapi.io/customer/v2/webform?session=ef2fdd3b-a087-447b-843c-670325d003f4&useCase=CREATE_ACCOUNT
This will result in a HTTP 451 Code, with a location header. Follow the instructions similar to Create Bank Access.
Redirect the User
Add a callbackUrl
to the Location-Header and redirect the user to enter their EBICS credentials.
Step | Screenshot |
---|---|
Entering the EBICS credentials | |
Receiving the ini letter | |
The resulting ini letter that needs to be signed |
Initialization Letter Generation
BANKSapi has at this point generated an initialization letter containing the hash of the keys generated. The user should download this letter, and the keys will not leave BANKSapi’s servers.
Verify the Bank Access
{
"id": "189d22f6-2d1a-4fa3-a22e-8db0d7e47453",
"providerId": "00000000-0000-0000-0000-000000000000",
"aktualisierungszeitpunkt": "2023-09-14 13:40:20",
"messages": [{
"level": "INFO",
"code": "BA2004",
"message": "Bankzugang noch nicht freigeschaltet",
"details": "Der EBICS Zugang ist noch nicht freigeschaltet."
}],
"tanMedien": [],
"sicherheitsverfahren": [],
"challenge": {
"name": "EBICS Initialisierungsbrief",
"content": {
"instructions": "Bitte senden Sie den Initialisierungsbrief unterschrieben an die Bank.",
"PDF": "data:application/pdf;base64,JVBERi0xLjQN ... 3MzUNCiUlRU9G"
},
"decoupled": false,
"redirect": false
},
"relations": [{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/189d22f6-2d1a-4fa3-a22e-8db0d7e47453"
},
{
"rel": "refresh_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
},
{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/189d22f6-2d1a-4fa3-a22e-8db0d7e47453"
},
{
"rel": "get_issues",
"href": "https://banksapi.io/customer/v2/bankzugaenge/189d22f6-2d1a-4fa3-a22e-8db0d7e47453/issues"
},
{
"rel": "get_challenge_pdf",
"href": "https://banksapi.io/customer/v2/bankzugaenge/189d22f6-2d1a-4fa3-a22e-8db0d7e47453/challenge/pdf"
}
],
"type": "EBICS",
"status": "VOLLSTAENDIG",
"bankprodukte": [],
"sync": true
}
After redirection to the callbackUrl
and the user completing the process and returning to your website, the bank access should be in a VOLLSTAENDIG
state with a BA2004
message indicating that bank access is not yet activated. The ini letter can be retrieved by you as well:
- By the base64 encoded string in
challenge.content.PDF
- By the relation
get_challenge_pdf
which makes the PDF available for download throughContent-Disposition: attachment;
User Sends Initialization Letter to the Bank
The user needs to print, sign, and send the letter to the bank. Some banks might accept electronic versions. Once the bank confirms the hash and activates the account, BANKSapi will be able to fetch data.
Successful Connection
If all steps are successful, and the bank has confirmed the hash, the status will be VOLLSTAENDIG
with an ebics: true
flag, and all endpoints for fetching the bank access, transactions, and payments will be available for this account.
Comparison to Non-EBICS Bank Accesses
To summarize, the difference to non-EBICS bank accesses is primarily a more heavy interaction by the user with their bank. Primarily, the EBICS account (T-User
) needs to already have been created at the time the user attempts to add the EBICS bank access / is redirected to our REG/Protect frontend. Afterwards, the bank access is not immediately available, but needs to be confirmed by the bank after the REG/Protect process.
Caveats
Initializing multiple times
Depending on the bank, an EBICS access cannot be initialized several times, but must be reset by the bank.
Balance Retrieval Limitation
In EBICS, there's no way to get the balance of an account without fetching its transactions. There might not be any transactions, i.e. also no balance, because of the historical transaction limitation
Historical Transaction Limitation
With EBICS, we might not be able to get transactions that are older than when the bank access was created.
Transaction History Range
Currently, we will fetch transactions up to 90 days back.
BANKSapi Auth API
If you are more interested in the customer data, we would like to recommend our quick start guide.
The BANKSapi Auth API provides functions for managing users. Using the OAuth2 protocol you can create tokens to enable only those functions that are necessary for the respective use case.
The API is similar in structure to the other BANKSapi Banks/Connect APIs. That means above all, that everything written in the Banks/Connect API Overview applies to this API.
The use of this API is a basic requirement for the connection of all APIs offered by BANKSapi.
BANKS/Connect Customer API
This API forms the core of BANKSapi Banks/Connect. This allows your end customers to access your financial life and make transactions within your product.
The core element of the API is the Customer, which you can use to Relations dive in detail into the data that can be determined about your customer can.
This document contains the API Reference. But before you get into the details. you may use the API with our Quick Start Guide directly and without any further hurdles.
Topics & Concepts
REG/Protect (redirect solution)
The BANKSapi "REG/Protect-as-a-Service", allows users to perform authorization completely in a frontend provided by BANKSapi. The account information is stored by BANKSapi. The sensitive payment data is transferred directly from the end user to the BANKSapi systems, processed by BANKSapi and stored by BANKSapi. It is not possible to read the sensitive payment data from BANKSapi.
In addition to regulated clients, as a non-regulated client you can also use BANKSapi REG/Protect to extend your range of services to include use cases based on the use of an account information service (KID) and a payment initiation service (ZAD), but without your own ZAD license or KID registration. Since 2018, BaFin has been obliged to register/license payment accounts if online banking is used to access payment account data and trigger payments.
Background update
A background update can be requested when adding a bank access. The bank access and its products and transactions are then queried and updated up to four times (4x) a day. The amount of background updates regresses over time if the user activity declines.
Notifications (Webhooks)
If the background update for a bank access is active, a webhook can be specified. In case of new transactions during an update, an external URL can be called with a reference to the bank access.
Notifications are not guaranteed: If the endpoint is not available, the HTTP call is stored in a queue and the system tries to execute it several times until the remote server on your side can accept the call. However, if this is not the case even after a few minutes, the notification will be discarded.
You can use the sequential integer sequence number serial
to check whether there have been gaps or failures since the last notification.
Strong customer authentication
A Strong Customer Authentication (SCA) ensures that accesses to a user's payment account online and initiations of electronic payment transactions are performed with multi-factor authentication. An SCA uses two out of three factors of:
- Knowledge
- Possession
- Inherence
We differentiate between TAN (i.e. embedded) and TAN-less (i.e. decoupled) security procedures.
TAN procedures such as smsTAN, eTAN, chipTAN, photoTAN, pushTAN etc. are most frequently used.
TAN-less procedures include apps provided by the banks to the end customers that can be used to just approve of activities. In this case the phone itself is the possession factor. For Submit SCA Authentication Data, this means that an empty object can be submitted to indicate the user indicated that he meanwhile confirmed the activity, e.g. through the bank app.
There is also the case of a redirect SCA, which is a special type of a decoupled SCA, which redirects from your application directly to a bank interface, where the user will authenticate himself. This authentication can include a TAN, but since the user is on the bank interface it is still considered a decoupled procedure from your application's or BANKSapi's point of view.
Please note that not all safety procedures are supported by FinTS/HBCI.
TAN medium
The TAN medium is used to generate (e.g. chipTAN) or receive (e.g. smsTAN) TANs. BANKSapi will provide you with a list of TAN Media, while an SCA is in progress and if an SCA demands it.
Here are a few examples of TAN procedures and TAN media:
TAN procedure | Media class | Name |
---|---|---|
mobileTAN (mTAN) | Mobile phone | +49-1111-1111111 |
smsTAN | Mobile | +49-1111-111111 |
chipTAN | Generator with EC Card | Sample Bank Card 1234567890 |
Sm@rtTAN | Generator with bank card | Sample bank card 1234567890 |
e-TAN | Generator | Generator |
photoTAN | App or generator | Phone of User X |
PushTAN / appTAN | App | Phone of User X |
Customer IP Address
Post-PSD2, we can do interactive actions with the bank only if supplying the IP address of the user. In order to support manual refreshs, adding bank access, and other actions with user interaction, we need to indicate that the user is active (interactive calls). As proof of user interaction, the banks require the current IP address of the user.
In order to supply this to the banks, as we do not have direct interaction with the user, you will have to supply this IP address. You may supply it at any time (we will not persist this and ignore if not needed), but should supply when doing the following requests:
add_bankzugang
start_ueberweisung
delete_bankzugang
delete_bankzugaenge
start_sca
The header should be sent as a standard HTTP request header in the following format:
Customer-Ip-Address: 123.234.123.234
REG/Protect
The REG/Protect redirect solution provides a web frontend for adding bank accesses and triggering payments and therefore handling complex interactions with the provider for you.
Context info when returning to your app
The return of the user can take place for different reasons, the reason is communicated in the query parameter baReentry
:
Type of return | Reason | Example | Value for baReentry |
---|---|---|---|
Process successfully completed | professional | FINISHED | |
User does not agree with AGB/DSE | technical | LEGAL_NOT_ACCEPTED | |
Click on "Go to customer portal" | Business | Click on page "Select bank" | USER_CANCELLED |
Termination of the process | Business | Termination on "Your accounts" page | USER_CANCELLED |
Unexpected HTTP Repsonse Code | technical | HTTP 200 expected but HTTP 500 delivered | BACKEND_ERROR |
Unexpected HTTP response (body) | Technical | Valid JSON expected but invalid delivered | BACKEND_ERROR |
Access data incorrectly entered three times | technical | INVALID_CREDENTIALS | |
TAN incorrectly entered three times | domain name | INVALID_TAN | |
General error | Technical | Guard prevents mask access; possible manipulation attempt | ERROR |
No accounts found for bank transfer | Depreciation area | No accounts or no accounts suitable for bank transfer were found when the bank transfer was started | NO_ACCOUNTS |
Adding and authenticating a bank access
$ curl https://banksapi.io/customer/v2/bankzugaenge \
-X POST \
-H 'Expect: ' \
-H 'authorization: Bearer 0defaced-1337-d00d-c0de-face8badcafe' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
-d '{"637a3945-bb02-4e82-ac9e-f7c26d2568ce": {}}'
< HTTP/1.1 451
< Content-Length: 0
< Location: https://banksapi.io/customer/v2/webform?session=b19c3937-...-3b861be7e71e&useCase=CREATE_ACCOUNT
When you create a bank access as a non-regulated client, you will receive the URL for this call with a 451
HTTP-Response in the Location
-Header. The status code serves as an indicator that the use case must be continued in the context of the BANKSapi REG/Protect.
When BANKSapi synchronizes your account data with your banking provider, we might encounter an expired
consent (cf. Operations with SCA). A consent renewal has to be performed then,
which we will communicate with an authenticate
relation.
The location header then contains the URL to be called on the BANKSapi page. The web form should be called up in the same browser window and replace the current content. For security reasons, it can only be called up once. This starts the RegProtect process at BANKSapi and the end customer has the possibility to select a provider and enter his online banking credentials in the following forms delivered by BANKSapi.
You must append a query parameter callbackUrl
to this URL (URL-encoded), which is called again by BANKSapi after the successful (or failed) registration of the end customer's bank access.
Overview of all REG/Protect query parameters:
Field | Type | Required | Description |
---|---|---|---|
refresh | Boolean | false | Refresh an existing account |
callbackUrl | String | true | The URL on your page that the user will be redirected to after registering with BANKSapi. *Warning: Must be URL-encoded ** |
The callbackUrl is then the URL to which the user is forwarded after registration. It is called by the user's browser (in the popup window you open, as GET
) with the entire query string you supply, so you can also specify your own parameters, which are then handled transparently by BANKSapi. Logically, there should be a frontend page under the URL, since it is then displayed to the user.
In addition to the query string you specified in the callbackUrl
, the following query parameters are also sent (appended to the URL, ?parameter1=value1¶meter2=value2
):
Field | Type | Included | Description |
---|---|---|---|
baReentry | String | Always | If successful FINISHED |
Triggering a payment
<font color="#ffff00">-=https://banksapi.io/customer/v2/ueberweisung/e1f30693-=- proudly presents -bab3bc2/DE00123456789012345679 \
-X POST \
-H 'authorization: Bearer 9df54960-f678-47ec-84dc-6c771f9c980c' \
-H 'content-type: application/json' \
-d '{}'
< HTTP/1.1 451
< Content-Length: 0
< Location: https://banksapi.io/customer/v2/webform?session=b19c3937- ... -3b861be7e71e
&useCase=START_PAYMENT_SINGLE_TRANSFER
A payment is triggered in the same way as an bank access is added, first by calling a payment endpoint (e.g. Initiate Single Transfer) using HTTP POST. Since all payment data can be determined in REG/Protect, it is sufficient here to send an empty JSON object as a payload only. You can also prefill payment data and define whether the prefilled data will be editable in REG/Protect, this behaviour is enforced by all bulk payments.
As in the use case before, a 451 (Unavailable For Legal Reasons) is delivered in the Location
-HTTP header.
To this URL you have to append a query parameter callbackUrl
(https://de.wikipedia.org/wiki/URL-Encoding), which is called again by BANKSapi after the successful or failed triggering of the payment.
Overview of all query parameters for REG/Protect when triggering a payment:
Field | Type | Included | Description |
---|---|---|---|
useCase | String | Always | REG/Protect use case, which is already provided by the Location field in HTTP 451 response, e.g. START_PAYMENT_SINGLE_TRANSFER |
callbackUrl | String | Always | The URL on your page that the user will be redirected to after the BANKSapi referral process. *Warning: Must be URL-encoded ** |
The callbackUrl is then the URL to which the user is redirected after the payment. It is called by the user's browser (in the window you open, as GET
) with the entire query string you provide, so you can also specify your own parameters, which are then handled transparently by BANKSapi. Logically, there should be a frontend page under the URL, since it is then displayed to the user.
In addition to the query string you specified in the callbackUrl, the following query parameters are also sent (appended to the URL, ?parameter1=value1¶meter2=value2
):
Field | Type | Included | Description |
---|---|---|---|
baReentry | String | Always | If successful FINISHED |
Operations with SCA
Due to the PSD2 requirements in respect to SCA, there is a multi-step process involved in order to add a bank access.
The process differs depending on whether you are using REG/Protect or not:
REG/Protect | Task | Process description |
---|---|---|
Yes | Create a bank access | When creating a bank access, the multi-step process will be covered by us through the REG/Protect frontend. Find the documentation in Adding bank access with REG/Protect |
Yes | Refresh a bank access | During usage, the consent of the customer might expire at some point and new data can't be fetched from the bank. You can refresh with new data from the bank with a refresh -flag as documented. Whenever there is a relation start_sca , POST to the start_sca relation to indicate the user is ready to start an SCA process. You will receive a 451 status with a Location -header. Display the contents of the Location -Header to the user in the same way you would with the Location -Header when adding a bank access. This is to refresh the SCA with the bank in order to get up-to-date data from the bank. |
No | Create or update a bank access | When using the embedded approach (without REG/Protect), there are several steps you need to follow. When creating or updating the bank access and in case of an SCA, there will be one of the following relations:
start_sca relation when the bank access reaches the status VOLLSTAENDIG |
No | Background update of a bank access | The consent of the customer might expire at some point and new data can't be fetched from the bank. In this case, the BankAccess object will contain a relation start_sca . POST an empty object to this relation in order to indicate that the user is ready to start an SCA process and renew the consent. |
Encryption
To encrypt the Credentials, the asymmetric crypto procedure RSA is used. If you become our customer, you will receive a public key from us with which the encryption is performed.
Since the concrete implementation of encryption in the different programming environments is different from each other the characterizing properties of the process (specified in the following table) are used. PKCS #1), with which the conversion in your preferred development environment should not be a problem:
- Encryption algorithm: RSA
- Operating mode: none (pure block encryption)
- Padding: OAEP (Optimal Asymmetric Encryption Padding) with SHA-1 (hash function) and MGF1 (mask generation function)
Notifications
Webhook calls ("notifications") can be made as POST
in the following incidents during a background update (independently of each other):
Event | Description |
---|---|
Transaction | New transaction(s) found |
Balance | The balance of a user has changed. |
Error | Error |
POST /your-notification-endpoint HTTP/1.1
User Agent: BANKSapi Notifier
Content-Type: application/json
Accept: */*
Connection: close
The POST
-HTTP call looks like this during the call:
Header | Value |
---|---|
User-Agent | BANKSapi Notifier |
Content-Type | application/json |
Notification object
The payload, i.e. the BODY
of the POST
-Requests contains at least the following fields for all types of notifications:
Field | Type | Included | Description |
---|---|---|---|
userId | String | Always | userid of the user as OAuth-Token |
accountId | String | Always | id of the bank access |
tenant | String | Always | name of the tenant |
notificationType | String | Always | Contains the Notification Type |
occurred | timestamp | Always | Time of triggering the notification |
serial | Integer | Always | Consecutive, integer sequence number of the notification for checking missed notifications |
Notification Type
Event | Type |
---|---|
Transaction | TRANSACTION |
Balance | BALANCE |
Error | ERROR |
Transaction Notification
{
"userId": "mOd2uKYr+2 ... TWOPCAt5zP",
"accountId": " 3671fbf6-c752-4107-a9c0-61ea77cd7f5e",
"tenant": "demo",
"notificationType": "TRANSACTION",
"occurred": "2019-05-11 09:05:00",
"productId": "DE1235233452324553423442A",
"newTransactions": [{
"payeeName": "La Sopia GmbH Munich",
"amount": -70
}, {
"payeeName": "netzpolitik.org e. V.",
"amount": -1337.42
}]
}
In the event that one or more new transactions are found, this object is sent by the notifier. It contains additional to the fields of the Notification object:
Field | Type | Included | Description |
---|---|---|---|
productId | String | Always | Contains the id of the bank product |
newTransactions | Array of Transaction objects | Always | Contains the new transactions in the form of Transaction objects |
Transaction object
{
"payeeName": "La Sopia GmbH Munich",
"amount": -70
}
Field | Type | Included | Description |
---|---|---|---|
payeeName | String | Always | Contains the id of the bank product |
amount | Number | If available | Amount of transaction, negative for outputs if applicable |
Request-Body
The request body consists of a Transaction Notification Object.
Balance Notification
{
"userId": "mOd2uKYr+2 ... TWOPCAt5zP",
"accountId": " 3671fbf6-c752-4107-a9c0-61ea77cd7f5e",
"tenant": "demo",
"notificationType": "BALANCE",
"occurred": "2019-05-11 09:05:00",
"productId": "DE1235233452324553423442A",
"oldBalance": 200000.00,
"newBalance": 205000.00
}
If the account balance or position of a bank product has changed, this object is sent by the notifier. It contains additional to the fields of the Notification object
Field | Type | Included | Description |
---|---|---|---|
productId | String | Always | Always |
oldBalance | Number | Always | Contains the old account balance or balance before the last background update. |
newBalance | Number | Always | Contains the new account balance or position determined by the current background update. |
Request-Body
The request body consists of a Balance Notification Object.
Error Notification
{
"userId": "mOd2uKYr+2 ... TWOPCAt5zP",
"accountId": " 3671fbf6-c752-4107-a9c0-61ea77cd7f5e",
"tenant": "demo",
"notificationType": "ERROR",
"occurred": "2019-05-11 09:05:00",
"level": "ERROR",
"Code": "BA1010",
"message": "Access blocked"
}
If an error occurred during the Background update, this object is sent by the notifier. It contains additional to the fields of the Notification object
Field | Type | Included | Description |
---|---|---|---|
level** | String | Always one of INFO , WARNING , ERROR |
|
code | String | Always | See Errors and Messages |
message | String | Always | See Errors and Messages |
data | String | If available | Further information as String |
Request-Body
The request body consists of an Error Notification Object.
Transactions older than 90 days
It is possible to fetch transactions older than 90 days from the banks. This makes sense to do especially in the case of the initial addition of the bank access, as there is no history yet in the BANKSapi storage.
We are able to fetch transactions back as far as the bank will serve (in some cases years) for new customers, and up to October 15th 2020 for existing customers. Please be aware that this functionality is best effort and while > 90d is possible for the majority of accounts, there are banks that still only return 90d.
The obvious drawback is that there is the need of theoretically up to three additional SCA processes the customer has to undergo. Usually though none or only one additional SCA process will be required. This of course depends on the bank, and there is no way yet to foresee the number of SCAs. We recommend to use this functionality in cases where it is vital to fetch a history for the user.
To indicate you would like BANKSapi to try and fetch > 90d, you can use the optional parameter maxTransactions
as a query parameter when adding or refreshing a bank access. If indicating paymentAccounts
, > 90d will only be fetched for payment accounts (GIROKONTO
), if indicating all
this will be tried for all kinds of bank products. Whenever sending this parameter, be prepared for SCA requests to come up for the bank access, so this should be used whenever the user is active on your page / app.
Transaction tags (categorization)
The current list of categories for the Classification can change at any time, even without changing the version number of the API.
Parent Category | Category | Display Name (de_DE) |
---|---|---|
BANKFINANCE |
BANKFINANCE_FEES |
Bankgebühren |
BANKFINANCE |
BANKFINANCE_INVESTMENT |
Investment |
BANKFINANCE |
BANKFINANCE_OTHER |
Bank und Finanzen - Sonstiges |
BANKFINANCE |
BANKFINANCE_CASHWITHDRAWAL |
Barauszahlung |
BANKFINANCE |
Bank und Finanzen | |
BANKFINANCE |
BANKFINANCE_CREDITPAYMENT |
Kredittilgung |
BANKFINANCE |
BANKFINANCE_CURRENCY |
Devisen- / Sortengeschäfte |
BILLS |
Vertragsrechnungen | |
BILLS |
BILLS_TELECOMMUNICATIONS |
Internet und Telekommunikation |
BILLS |
BILLS_ENERGY |
Energiekosten |
BILLS |
BILLS_PUBLICRADIO |
Öffentlich-rechtlicher Rundfunk |
BILLS |
BILLS_WATERANDDISPOSAL |
Wasser und Entsorgung |
BILLS |
BILLS_OTHER |
Vertragsrechnungen - Sonstiges |
BUSINESS |
BUSINESS_ENERGY |
Energiekosten (geschäftlich) |
BUSINESS |
BUSINESS_CONSULTING |
Beratungskosten (geschäftlich) |
BUSINESS |
BUSINESS_SALARY |
Personalkosten |
BUSINESS |
BUSINESS_EQUIPMENT |
Arbeitsmittel |
BUSINESS |
BUSINESS_ADVERTISEMENT |
Werbekosten |
BUSINESS |
BUSINESS_TRAINING |
Fortbildungs- und Schulungskosten (geschäftlich) |
BUSINESS |
BUSINESS_LEASING |
Leasinggebühren (geschäftlich) |
BUSINESS |
BUSINESS_MOBILITY |
Mobilität (geschäftlich) |
BUSINESS |
BUSINESS_LEGAL |
Anwaltskosten (geschäftlich) |
BUSINESS |
BUSINESS_INVESTMENT |
Investment (geschäftlich) |
BUSINESS |
Geschäftlich | |
BUSINESS |
BUSINESS_ASSOCIATION |
Berufsverbandsbeiträge |
BUSINESS |
BUSINESS_CREDITPAYMENT |
Kredittilgung (geschäftlich) |
BUSINESS |
BUSINESS_TELECOMMUNICATIONS |
Internet und Telekommunikation (geschäftlich) |
BUSINESS |
BUSINESS_TRAVEL |
Geschäftsreisekosten |
BUSINESS |
BUSINESS_WATERANDDISPOSAL |
Wasser- und Entsorgungsgebühren (geschäftlich) |
BUSINESS |
BUSINESS_RENT |
Miete (geschäftlich) |
BUSINESS |
BUSINESS_TAXES |
Betriebssteuern |
BUSINESS |
BUSINESS_HOSPITALITY |
Bewirtungskosten (geschäftlich) |
BUSINESS |
BUSINESS_OTHER |
Geschäftlich - Sonstiges |
EDUCATION |
EDUCATION_TRAINING |
Fortbildung |
EDUCATION |
EDUCATION_ACADEMIC |
Universität |
EDUCATION |
EDUCATION_OTHER |
Bildungswesen - Sonstiges |
EDUCATION |
EDUCATION_SCHOOL |
Schulbildung |
EDUCATION |
Bildungswesen | |
FAMILY |
FAMILY_OTHER |
Familie - Sonstiges |
FAMILY |
FAMILY_CHILDCARE |
Kinderbetreuung |
FAMILY |
FAMILY_CHILDNECESSITIES |
Kinder- und Babybedarf |
FAMILY |
FAMILY_TOYS |
Spielwaren |
FAMILY |
FAMILY_SUPPORT |
Unterhalt |
FAMILY |
FAMILY_CHILDACTIVITIES |
Kinderaktivitäten |
FAMILY |
Kinder und Familie | |
HEALTH |
HEALTH_OTHER |
Gesundheit - Sonstiges |
HEALTH |
HEALTH_CONSUMABLES |
Arznei und Heilmittel |
HEALTH |
Gesundheit | |
HEALTH |
HEALTH_SERVICES |
Arzt/Krankenhaus/Pflege |
HEALTH |
HEALTH_OPTICS |
Augenoptik |
HOUSING |
HOUSING_RENT |
Miete/Wohngeld |
HOUSING |
Wohnen | |
HOUSING |
HOUSING_ANCILLARYCOSTS |
Nebenkosten |
HOUSING |
HOUSING_FINANCING |
Immobilienkredit |
HOUSING |
HOUSING_SERVICES |
Haushaltsdienstleistungen |
HOUSING |
HOUSING_RENOVATION |
Renovierung & Reparatur |
HOUSING |
HOUSING_OTHER |
Wohnen - Sonstiges |
HOUSING |
HOUSING_FURNISHING |
Möbel und Haushaltsgeräte |
INCOME |
Einnahmen | |
INCOME |
INCOME_REFUND |
Gutschriften und Erstattungen |
INCOME |
INCOME_RENTAL |
Vermietung und Verpachtung |
INCOME |
INCOME_SOCIALBENEFIT |
Sozialleistung |
INCOME |
INCOME_SAVINGS |
Spareinnahmen |
INCOME |
INCOME_STATEEDUCATION |
Staatliche Förderung für Bildung |
INCOME |
INCOME_CASHDEPOSIT |
Bareinzahlung |
INCOME |
INCOME_INVESTMENT |
Kapitaleinkommen |
INCOME |
INCOME_PENSION |
Rente und Pension |
INCOME |
INCOME_TAXES |
Steuerrückzahlungen und -erstattungen |
INCOME |
INCOME_CREDIT |
Krediteinnahme |
INCOME |
INCOME_INSURANCE |
Versicherungseinnahmen/-gutschriften/-rückzahlungen |
INCOME |
INCOME_OTHER |
Einnahmen - Sonstiges |
INCOME |
INCOME_RETURNDEBIT |
Rücklastschriften |
INCOME |
INCOME_SALARY |
Gehalt |
INCOME |
INCOME_STATEFAMILY |
Staatliche Förderung für Familie und Kinder |
INCOME |
INCOME_SALES |
Verkaufseinnahmen |
INCOME |
INCOME_BUSINESS |
Geschäftseinnahmen |
INSURANCE |
Versicherungen | |
INSURANCE |
INSURANCE_LEGAL |
Rechtsschutzversicherung |
INSURANCE |
INSURANCE_VEHICLE |
KFZ-Versicherung |
INSURANCE |
INSURANCE_PROPERTY |
Sachversicherung |
INSURANCE |
INSURANCE_BUSINESS |
Gewerbliche Versicherung |
INSURANCE |
INSURANCE_LIABILITY |
Haftpflichtversicherung |
INSURANCE |
INSURANCE_ACCIDENT |
Unfallversicherung |
INSURANCE |
INSURANCE_LIFE |
Lebensversicherung |
INSURANCE |
INSURANCE_TRAVEL |
Reiseversicherung |
INSURANCE |
INSURANCE_OTHER |
Versicherungen - Sonstiges |
INSURANCE |
INSURANCE_TRANSPORT |
Transportversicherung |
INSURANCE |
INSURANCE_HEALTH |
Krankenversicherung |
LIVING |
LIVING_CHARITY |
Spenden & Wohltätigkeit |
LIVING |
Lebenshaltung | |
LIVING |
LIVING_GROCERIES |
Lebensmittel |
LIVING |
LIVING_OTHER |
Lebenshaltung - Sonstiges |
LIVING |
LIVING_DRUGSTORE |
Drogerie |
MOBILITY |
MOBILITY_VEHICLEACQUISITION |
KFZ - Kredit/Kauf/Leasing |
MOBILITY |
MOBILITY_FUEL |
Kraftstoffe und Schmiermittel |
MOBILITY |
MOBILITY_PARKING |
Parken |
MOBILITY |
MOBILITY_PUBLICTRANSPORT |
ÖPNV |
MOBILITY |
MOBILITY_TAXI |
Taxi |
MOBILITY |
MOBILITY_TAXES |
KFZ-Steuer |
MOBILITY |
MOBILITY_OTHER |
Mobilität - Sonstiges |
MOBILITY |
MOBILITY_SERVICES |
Wartung, Pflege und Reparaturen |
MOBILITY |
MOBILITY_BIKESHARE |
Bike-Sharing |
MOBILITY |
Mobilität | |
MOBILITY |
MOBILITY_CARSHARE |
Car-Sharing |
OTHER |
OTHER_OTHER |
Sonstiges |
OTHER |
Sonstiges | |
RECREATION |
RECREATION_FOODANDDRINKS |
Ausgehen und Essen |
RECREATION |
RECREATION_HOBBYANDSOCIAL |
Hobbys und soziale Aktivitäten |
RECREATION |
RECREATION_OTHER |
Freizeit und Unterhaltung - Sonstiges |
RECREATION |
RECREATION_PRINTED |
Bücher und Zeitschriften |
RECREATION |
RECREATION_SPORTS |
Sport und Fitness |
RECREATION |
RECREATION_PETS |
Haustier |
RECREATION |
RECREATION_STREAMING |
Streaming und Pay-TV |
RECREATION |
RECREATION_GAMBLING |
Glücksspiel |
RECREATION |
Freizeit und Unterhaltung | |
RECREATION |
RECREATION_CULTURAL |
Kultur |
RECREATION |
RECREATION_ONLINE |
Spiele und Online-Unterhaltung |
SAVINGS |
SAVINGS_BUILDING |
Bausparguthaben |
SAVINGS |
SAVINGS_ACCOUNT |
Sparguthaben |
SAVINGS |
Sparen | |
SAVINGS |
SAVINGS_OTHER |
Sparen - Sonstiges |
SERVICES |
SERVICES_ONLINE |
Software und Online-Dienstleistungen |
SERVICES |
Dienstleistungen | |
SERVICES |
SERVICES_OTHER |
Dienstleistungen - Sonstiges |
SERVICES |
SERVICES_MAIL |
Porto- und Versandkosten |
SERVICES |
SERVICES_PERSONAL |
Persönliche Dienstleistungen |
SERVICES |
SERVICES_PROFESSIONAL |
Professionelle Dienstleistungen |
SHOPPING |
SHOPPING_DEPARTMENTSTORE |
Kaufhaus |
SHOPPING |
SHOPPING_CLOTHINGACCESSORIES |
Kleidung und Accessoires |
SHOPPING |
Shopping | |
SHOPPING |
SHOPPING_ELECTRONICS |
Elektrogeräte |
SHOPPING |
SHOPPING_BEAUTY |
Schönheitsprodukte |
SHOPPING |
SHOPPING_ONLINE |
Online-Shopping |
SHOPPING |
SHOPPING_OTHER |
Shopping - Sonstiges |
TAXES |
TAXES_FLAT |
Abgeltungsteuer |
TAXES |
TAXES_CHURCH |
Kirchensteuer |
TAXES |
TAXES_OTHER |
Steuern - Sonstiges |
TAXES |
TAXES_SALES |
Umsatzsteuer |
TAXES |
Steuern | |
TAXES |
TAXES_CAPITALGAINS |
Kapitalertragsteuer |
TAXES |
TAXES_PROPERTY |
Grundsteuer |
TAXES |
TAXES_INCOME |
Einkommensteuer |
TRANSFER |
TRANSFER_SAVINGS |
Transfer - Sparen |
TRANSFER |
TRANSFER_CREDITCARDSETTLEMENT |
Kreditkartenabrechnung |
TRANSFER |
Transfer | |
TRANSFER |
TRANSFER_OTHER |
Transfer - Sonstiges |
TRANSFER |
TRANSFER_BANKFINANCE |
Kontotransfer |
TRAVEL |
TRAVEL_ACCOMMODATION |
Unterkunft |
TRAVEL |
TRAVEL_TRANSPORT |
Transport |
TRAVEL |
TRAVEL_OTHER |
Reise - Sonstiges |
TRAVEL |
Reisen | |
TRAVEL |
TRAVEL_INCLUSIVEOFFERS |
Pauschalreisen |
Errors and messages
In the communication between client, BANKSapi Banks/Connect and the providers, errors can occur. which can be caused by a wide variety of constellations. We are always makes every effort to transport the cause of an error to you as informatively as possible so that can be reacted to accordingly quickly.
A simple use case is, for example, that the login of a customer to his bank is not worked. As an error message, the system returns, for example, that the user ID is not was 10 digits long and so the login data was not correct. The customer is thus in a position to "problem" quickly.
HTTP status codes
Status | Name | Meaning API | Handling |
---|---|---|---|
200 | OK | The request has been successfully executed | - |
201 | Created | The request was executed successfully and the data object was created | Evaluate and call location header |
400 | Bad Request | The request is syntactically wrong | Program error at the caller, manual intervention necessary |
401 | Unauthorized | The authorization: bearer TOKEN header was not sent | Send header |
403 | Forbidden | The OAuth2 token has expired, is invalid or the required scope is missing | Request new token, extend scopes |
404 | Not found | The URL does not point to a valid object | Start new data retrieval and update relations |
451 | Unavailable for Legal Reasons | The requested resource cannot be returned for regulatory reasons. | This is used in the course of the REG/Protects, the HTTP response contains a Location header with the URL for the redirect |
500 | Internal Server Error | This shouldn't have happened | We're already working on it |
504 | Gateway Timeout | The started request could not be answered within the specified time | Repeat request shortly |
Message codes
{
"level": "ERROR",
"code": "BA1011",
"message": "Access data not correct ",
"details": "Please check your access data and try again. Please note that your access data will be blocked if you enter it incorrectly three times."
}
Code | Level | Message | Details |
---|---|---|---|
BA999 | ERROR | Internal error | |
BA1000 | ERROR | Maintenance work provider | |
BA1001 | ERROR | Provider no longer active | |
BA1010 | ERROR | Access blocked | Your PIN for Internet banking was entered incorrectly three times. So we've temporarily suspended your access for security reasons |
BA1011 | ERROR | Access data not correct | Please check your access data and try again. Please note that your access data will be blocked after three incorrect entries. |
BA1012 | ERROR | Incomplete access data | The following access data is required: Authfields 1 = Example user name 2 = Example PIN 3 = Example key |
BA1013 | ERROR | Bank access not activated | |
BA1014 | ERROR | Too many unsuccessful logins | |
BA1020 | ERROR | Account has improper permissions | |
BA1051 | ERROR | Bank access not available | Maintenance: A technical malfunction has occurred at your bank. Please update your bank access at a later date. |
BA1052 | ERROR | Bank access not fully accessible | |
BA1053 | ERROR | Access exceeded | |
BA1060 | ERROR | Product could not be updated | |
BA1062 | ERROR | Revenues could not be updated | |
BA1063 | ERROR | Depot positions could not be updated | |
BA1064 | ERROR | Message bank | |
BA1100 | ERROR | Invalid bank transfer data | Please check your entries. Transfers are only possible to the reference account. |
BA1101 | ERROR | Invalid TAN procedure | |
BA1102 | ERROR | Invalid TAN medium | |
BA1103 | ERROR | TAN invalid | Error during transmission, or mTan not (any longer) valid |
BA1104 | ERROR | Bank transfer not possible | Bank transfers are only supported for checking accounts or HBCI message 9390 Order rejected due to double submission. |
BA1110 | INFO | TAN input required | Please enter the SMS-TAN |
BA1111 | INFO | The transfer was successfully completed | |
BA1112 | INFO | The transfer was successfully submitted | |
BA1200 | ERROR | Invalid debit data | Please check your input data. |
BA1204 | ERROR | Debit not supported | |
BA1212 | INFO | The debit was successfully submitted | |
BA2002 | INFO | There are messages from your bank | There are messages from your bank, please log into your online banking. |
BA2003 | INFO | Product type not supported | |
BA2004 | INFO | Bank access not activated yet | |
BA3000 | INFO | SCA required | SCA required |
BA3005 | INFO | SCA redirect required | |
BA3010 | INFO | Select SCA method | Select SCA method |
BA3020 | INFO | Select SCA medium | Select SCA medium |
BA3030 | INFO | SCA Challenge | SCA Challenge |
BA3040 | ERROR | SCA failed | SCA failed |
BA3060 | ERROR | No supported SCA method found | No supported SCA method found |
BANKS/Connect Providers API
If you are more interested in the customer data, we would like to recommend our quick start guide.
Via the Banks/Connect Providers API you get access to a comprehensive configuration database for the banks and service providers supported by us.
The API is similar in structure to the other BANKSapi Banks/Connect APIs. That means above all, that everything written in the Banks/Connect API Overview applies to this API.
In addition to general primary data such as name, bank group, bank code and BIC, you also receive detailed machine-readable information on the login modalities for your users, so that you can optimize the user experience of your application when creating bank accesses.
A concrete example of this data can be found in the Provider section.
title: BANKS/
BANKS/Connect API Reference v2.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Base URLs:
Authentication
HTTP Authentication, scheme: basic
HTTP Authentication, scheme: bearer
Auth
Create User
Code samples
## You can also use wget
curl -X POST https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /auth/mgmt/v1/tenants/{tenant-name}/users
Creates a technical user corresponding (one-to-one) a tenant's user. Users are needed to use BANKSapi's core features like adding accounts or performing payments. After creating a user, they're automatically activated.
Body parameter
{
"username": "demouser",
"password": "secret",
"firstname": "demo",
"lastname": "user"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
body | body | CreateUser | true | The request body is a JSON object containing data required for a user |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
201 | Created | Returns with a location header under which the user data can be retrieved. | None | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | none |
Get Users
Code samples
## You can also use wget
curl -X GET https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /auth/mgmt/v1/tenants/{tenant-name}/users
Get all activated users
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
includeInactive | query | boolean | false | Whether or not to also include inactive users |
Example responses
200 Response
[
{
"userReference": "1c5b33f6-9c4d-11e6-ba80-480fcfb9550f",
"username": "demo-user"
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of User | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [User] | false | none | [This object represents a user] |
» User | User | false | none | This object represents a user |
»» id | string | true | none | Technical ID for the user, is also used in URLs (user-id ) |
»» username | string | true | none | Username for creating an OAuth2 token |
»» roles | [string] | false | none | Roles this user has |
Create Token
Code samples
## You can also use wget
curl -X POST https://banksapi.io/auth/oauth2/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json'
POST /auth/oauth2/token
Creates a client or user token valid for 24 hours. Client tokens are needed for administrative use cases such as creating users. User tokens are needed when creating or querying banking accounts.
Body parameter
grant_type: client_credentials
scope: 'http://banksapi.io/provider/read'
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateToken | true | The request body contains form object with following parameters |
Example responses
200 Response
{
"scope": "http://banksapi.io/customer/read http://banksapi.io/customer/modify",
"tenant": "demo",
"client": "demo-client",
"user": "1fad71ee-6dbf-49c7-9cb2-fff588de011f",
"additionalData": {
"username": "demouser"
},
"validTo": "2021-10-16 10:46:47",
"access_token": "0defaced-1337-d00d-c0de-face8badcafe",
"token_type": "Bearer"
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns token object | Token | none |
401 | Unauthorized | The basic authorization header was not sent or the value was incorrect. | None | none |
Get Tenants
Code samples
## You can also use wget
curl -X GET https://banksapi.io/auth/mgmt/v1/tenants \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /auth/mgmt/v1/tenants
Get all tenants
Example responses
200 Response
[
{
"name": "demo",
"description": "A Tenant for demonstration purposes"
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of Tenant | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Tenant] | false | none | [The tenant object represents our client. It plays a role in using the API only insofar that the tenant name is a URL component in the management API.] |
» Tenant | Tenant | false | none | The tenant object represents our client. It plays a role in using the API only insofar that the tenant name is a URL component in the management API. |
»» name | string | true | none | Tenant technical name becomes URL component |
»» description | string | false | none | Optional human readable description |
Get User
Code samples
## You can also use wget
curl -X GET https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users/{user-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}
This function can be used to retrieve a single activated user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
user-id | path | string | true | User reference of the user |
Example responses
200 Response
{
"userReference": "1c5b33f6-9c4d-11e6-ba80-480fcfb9550f",
"username": "demo-user"
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a User object | User | none |
Delete User
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users/{user-id} \
-H 'Authorization: Bearer {access-token}'
DELETE /auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}
Deletes a single user. The user must be deactivated beforehand.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
user-id | path | string | true | User reference of the user |
reftype | query | string | false | Reference type of user ID ("id" (default) or "username") |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns HTTP status of 200 (OK) | None | none |
405 | Method Not Allowed | Returns HTTP status of 405 (Method Not Allowed) if user has not been deactivated. | None | none |
Change user details
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users/{user-id} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}
Changes user details, such as username, first name or last name
Body parameter
{
"username": "demouser",
"firstname": "demo",
"lastname": "user"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
user-id | path | string | true | User reference of the user |
reftype | query | string | false | Reference type of user ID ("id" (default) or "username") |
body | body | ChangeUserDetails | false | none |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Change successful | None | none |
409 | Conflict | Username already exists | None | none |
Deactivate User
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}/deactivate \
-H 'Authorization: Bearer {access-token}'
PUT /auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}/deactivate
Deactivates a single user
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
user-id | path | string | true | User reference of the user |
reftype | query | string | false | Reference type of user ID ("id" (default) or "username") |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns HTTP status of 200 (OK) | None | none |
Reactivate User
Code samples
## You can also use wget
curl -X POST https://banksapi.io/auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}/reactivate \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /auth/mgmt/v1/tenants/{tenant-name}/users/{user-id}/reactivate
Reactivate a single deactivated user
Body parameter
{
"username": "demouser",
"password": "secret",
"firstname": "demo",
"lastname": "user"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant-name | path | string | true | Tenant name plays a role in using the API. The tenant name is a URL component in the management API. |
user-id | path | string | true | User reference of the user |
reftype | query | string | false | Reference type of user ID ("id" (default) or "username") |
body | body | CreateUser | true | The request body is a JSON object containing data required for a user |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns HTTP status of 200 (OK) | None | none |
Revoke Token
Code samples
## You can also use wget
curl -X POST https://banksapi.io/auth/oauth2/revoke \
-H 'Content-Type: application/x-www-form-urlencoded'
POST /auth/oauth2/revoke
To revoke a token, the user token is sent to the URL https://banksapi.io/auth/oauth2/revoke
via a POST request.
Body parameter
type: object
properties:
token:
type: string
format: uuid
description: The token to be revoked
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | true | The request body contains form object with following parameters |
» token | body | string(uuid) | false | The token to be revoked |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns HTTP status of 200 (OK) | None | none |
Introspect Token
Code samples
## You can also use wget
curl -X GET https://banksapi.io/auth/oauth2/introspect?token=0defaced-1337-d00d-c0de-face8badcafe \
-H 'Accept: application/json'
GET /auth/oauth2/introspect
Returns information about a token
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
token | query | string(uuid) | true | The Token to introspect |
Example responses
200 Response
{
"scope": "http://banksapi.io/customer/read http://banksapi.io/customer/modify",
"tenant": "demo",
"client": "demo-client",
"user": "CN=Demo User,OU=Personal,DC=banksapi,DC=io",
"additionalData": {
"username": "demouser"
},
"validTo": "2021-10-16 10:46:47",
"access_token": "0defaced-1337-d00d-c0de-face8badcafe",
"token_type": "Bearer"
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns token object | Token | none |
400 | Bad Request | No token was provided. | None | none |
401 | Unauthorized | The basic authorization header was not sent or the value was incorrect. | None | none |
403 | Forbidden | The provided token is not valid. | None | none |
Providers
Get Providers
Code samples
## You can also use wget
curl -X GET https://banksapi.io/providers/v2 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /providers/v2
Retrieve a list of and information for all providers.
Example responses
200 Response
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Demo Provider",
"consumerRelevant": true,
"group": "demo",
"blz": "12345678",
"bic": "DEMO1234",
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/providers/v2/00000000-0000-0000-0000-000000000000"
},
{
"rel": "logo",
"href": "https://banksapi.io/providers/v2/demo.svg"
}
],
"capabilities": [
"KONTEN",
"KARTEN",
"DEPOTS"
],
"channels": [
[
"GIROKONTO"
],
[
"KREDITKARTE",
"TAGESGELDKONTO"
]
],
"authenticationInfo": {
"loginHint": "Der Demo Provider bietet drei Zugänge demo1/demo1, demo2/demo2 und demo3/demo3",
"fields": [
{
"fieldkey": "userid",
"label": "Demo-User",
"secret": false,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
},
{
"fieldkey": "pin",
"label": "Demo-Passwort",
"secret": true,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
}
]
}
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of providers. | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Provider] | false | none | [Provider information] |
» Provider | Provider | false | none | Provider information |
»» id | string | true | none | Unique key for this provider in BANKSapi Banks/Connect |
»» name | string | true | none | Name for the provider, not unique |
»» consumerRelevant | boolean | true | none | Whether this provider should be displayed to the customer for the provider selection or not |
»» group | string | false | none | Grouping term for providers. If several providers have the same group the same logo could be displayed, e.g. |
»» blz | string | false | none | The bank code of the bank was the primary key for banks in Germany before SEPA |
»» bic | string | false | none | The BIC (Business Identifier Code) of the bank |
»» relations | [Relation] | true | none | Relations indicate which operation the provider resource supports |
»»» Relation | Relation | false | none | A relation corresponds to an application or business transaction that is supported by the enclosing data object. Each application or business transaction has its own documentation, which describes the call as well as the return or the possible alternative answer scenarios in detail. |
»»»» rel | string | true | none | Machine readable string to differentiate the relations |
»»»» href | string | true | none | URL where the relation links to |
»»» capabilities | [string] | true | none | Shows which technical objects with the Provider on the BANKS/Connect Customer API are available |
»»» channels | [ProductCategories] | false | none | Shows which product categories are queried by BANKSapi to the bank through which channel. Items in the same array are queried through the same channel, e.g. FinTS. If you are requesting products that are listed in the same array (going through the same channel), you might save on a number of SCA processes, because there will be at least one SCA per channel at least every 180 days. |
»»»» ProductCategories | [ProductCategory] | false | none | A list of product categories |
»»»»» ProductCategory | ProductCategory | false | none | Categories:GIROKONTO - Checking account: Account for payment transactions, as well as for the settlement / processing of eg deposit-related bookings, fees, interest, etc.SPARKONTO - Savings account: Interest-bearing account with an unlimited term and fixed period of notice, as a rule an immediate withdrawal is limited to a maximum valueFESTGELDKONTO - Fixed deposit account: Interest-bearing account with a contractually agreed termKREDITKONTO - Credit account: Account for managing the loan balanceTAGESGELDKONTO - Overnight money account: Interest-based account for an investment with daily availabilityBAUSPARVERTRAG - Building loan account: Savings and possibly loan account for a home savings contractSONSTIGESKONTO - Account that can not be assigned by the provider or our product heuristicKREDITKARTE - Credit card: Payment card with credit line, billing takes place via an agreed current account / clearing accountKREDITKARTENKONTO - Credit card acount: SONSTIGEKARTE - Other card: Payment card that can not be assigned by the provider or our product heuristicDEPOT - Brokerage accountSONSTIGESPRODUKT - Bank product that can not be assigned by the provider or our product heuristic |
»»»» authenticationInfo | AuthenticationInfo | true | none | The AuthenticationInfo object provides detailed information about the sign-in process to the provider. With the included data, it is possible to optimize the user experience of the own application in the provider system, which on the one hand reduce the nerve factor for the user but can also minimize their own support expenses due to login problems. |
»»»»» loginHint | string | false | none | Note text for the registration process, which applies to the complete registration process |
»»»»» fields | [Field] | true | none | Array with login parameters |
»»»»»» Field | Field | false | none | none |
»»»»»»» fieldkey | string | true | none | Name of the parameter in the Credentials object |
»»»»»»» label | string | true | none | Name of the field for the ad |
»»»»»»» secret | boolean | true | none | Specifies whether the field contains a secret, for example, should be hidden or only optionally stored |
»»»»»»» hint | string | false | none | An explanation text for display next to the field |
»»»»»»» format | string | true | none | A regular expression (regex) pattern specifying the format for the input field |
Enumerated Values
Property | Value |
---|---|
ProductCategory | GIROKONTO |
ProductCategory | SPARKONTO |
ProductCategory | FESTGELDKONTO |
ProductCategory | KREDITKONTO |
ProductCategory | TAGESGELDKONTO |
ProductCategory | BAUSPARVERTRAG |
ProductCategory | SONSTIGESKONTO |
ProductCategory | KREDITKARTE |
ProductCategory | KREDITKARTENKONTO |
ProductCategory | SONSTIGEKARTE |
ProductCategory | DEPOT |
ProductCategory | SONSTIGESPRODUKT |
Get Providers core data
Code samples
## You can also use wget
curl -X GET https://banksapi.io/providers/v2/coredata \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /providers/v2/coredata
Retrieve a list of core data for all providers.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
capability | query | string | false | Filter providers by capability |
iban | query | string | false | Filter providers by iban |
useCache | query | boolean | false | Flag to control cache usage |
Enumerated Values
Parameter | Value |
---|---|
capability | KONTEN |
capability | KARTEN |
capability | DEPOTS |
capability | BAUSPAR |
Example responses
200 Response
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Demo Provider",
"group": "demo",
"blz": "12345678",
"bic": "DEMO1234",
"logo": "https://banksapi.io/providers/v2/demo.svg"
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of core data for providers. | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [ProviderCoreData] | false | none | [Provider core information] |
» ProviderCoreData | ProviderCoreData | false | none | Provider core information |
»» id | string | true | none | Unique key for this provider in BANKSapi Banks/Connect |
»» name | string | true | none | Name for the provider, not unique |
»» group | string | false | none | Grouping term for providers. If several providers have the same group the same logo could be displayed, e.g. |
»» blz | string | false | none | The bank code of the bank was the primary key for banks in Germany before SEPA |
»» bic | string | false | none | The BIC (Business Identifier Code) of the bank |
»» logo | string | false | none | Returns the path to the provider logo in SVG-format |
Get Providers job statistics
Code samples
## You can also use wget
curl -X GET https://banksapi.io/providers/v2/statistics/jobs \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /providers/v2/statistics/jobs
Retrieve a list of provider logos with statistical data about the data jobs. If there were no successful data jobs or no data jobs at all in the specified time period, no entry is returned for the corresponding logo.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
days | query | integer(int32) | false | Specifies the number of past days for fetching job statistics. When used together with "hours", their values are summed. If none of the parameters are specified, 2 hours are fetched. |
hours | query | integer(int32) | false | Specifies the number of past hours for fetching job statistics. When used together with "days", their values are summed. If none of the parameters are specified, 2 hours are fetched. |
ebics | query | boolean | false | If only EBICS jobs should be considered for the response. |
sca | query | boolean | false | If only provider logos with at least one job including a strong customer authentication (SCA) should be considered for the response. In case of false it will not be checked whether there was an SCA or not. |
Example responses
200 Response
[
{
"logo": "demo",
"latestSuccessDate": "2023-09-20 11:21:02",
"averageDuration": 29962,
"successRate": 1
},
{
"logo": "sparkasse",
"latestSuccessDate": "2023-09-20 11:28:57",
"averageDuration": 54186,
"successRate": 0.99
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a list of job statistics for providers. | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [ProviderJobStatistics] | false | none | [Provider job statistics] |
» ProviderJobStatistics | ProviderJobStatistics | false | none | Provider job statistics |
»» logo | string | true | none | Logo of the provider. |
»» latestSuccessDate | string(YYYY-MM-DD hh:mm:ss) | true | none | Date of the latest successful data job for providers with the corresponding logo. |
»» averageDuration | number | true | none | The average duration of data jobs in ms for providers with the corresponding logo. |
»» successRate | number | true | none | The success rate of data jobs for providers with the corresponding logo. |
Get Provider
Code samples
## You can also use wget
curl -X GET https://banksapi.io/providers/v2/{provider-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /providers/v2/{provider-id}
Retrieve information for a specific provider.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
Example responses
200 Response
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Demo Provider",
"consumerRelevant": true,
"group": "demo",
"blz": "12345678",
"bic": "DEMO1234",
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/providers/v2/00000000-0000-0000-0000-000000000000"
},
{
"rel": "logo",
"href": "https://banksapi.io/providers/v2/demo.svg"
}
],
"capabilities": [
"KONTEN",
"KARTEN",
"DEPOTS"
],
"channels": [
[
"GIROKONTO"
],
[
"KREDITKARTE",
"TAGESGELDKONTO"
]
],
"authenticationInfo": {
"loginHint": "Der Demo Provider bietet drei Zugänge demo1/demo1, demo2/demo2 und demo3/demo3",
"fields": [
{
"fieldkey": "userid",
"label": "Demo-User",
"secret": false,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
},
{
"fieldkey": "pin",
"label": "Demo-Passwort",
"secret": true,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a single provider object. | Provider | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) logo: Provider logo in SVG format |
404 | Not Found | If the URL does not point to a provider, you will get the HTTP status 404 (Not found). | None | none |
Get Provider EBICS Info
Code samples
## You can also use wget
curl -X GET https://banksapi.io/providers/v2/{provider-id}/ebics \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /providers/v2/{provider-id}/ebics
Retrieve EBICS information for a specific provider (if available).
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
Example responses
200 Response
{
"hostId": "HOSTIDXY",
"hostUrl": "https://ebics.bank.com/ebics"
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an EBICS info object for a specific provider. | ProviderEbicsInfo | none |
404 | Not Found | If the URL does not point to a provider, you will get the HTTP status 404 (Not found). | None | none |
Check Instant Payment Support
Code samples
## You can also use wget
curl -X POST https://banksapi.io/providers/v2/{provider-id}/instant-payment-supported \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /providers/v2/{provider-id}/instant-payment-supported
Determines whether instant payments from a specific provider are supported based on the
recipient IBANs and the transfer type.
If the recipientIbans
are not provided, it will only be determined if the provider
supports sending instant payments.
Body parameter
{
"type": "object",
"properties": {
"recipientIbans": {
"type": "array",
"description": "The recipient's IBANs. If not provided, it will only be determined if the provider supports sending instant payments.",
"items": {
"type": "string"
},
"example": [
"DE92123456789876543210"
]
},
"transferType": {
"type": "string",
"description": "The type of transfer. This type is required if `recipientIbans` is not provided.",
"enum": [
"SINGLE",
"BULK"
],
"example": "SINGLE"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
body | body | CheckInstantPaymentSupport | true | none |
Example responses
200 Response
{
"type": "object",
"required": [
"senderProviderId",
"transferType",
"instantPaymentSupported"
],
"properties": {
"senderProviderId": {
"type": "string",
"description": "The ID of the provider sending the instant payment.",
"example": "00000000-0000-0000-0000-000000000000"
},
"recipientIbans": {
"type": "array",
"description": "The IBANs of the recipients.",
"items": {
"type": "string"
},
"example": [
"DE92123456789876543210"
]
},
"transferType": {
"type": "string",
"description": "The type of transfer.",
"enum": [
"SINGLE",
"BULK"
],
"example": "SINGLE"
},
"instantPaymentSupported": {
"type": "boolean",
"description": "Indicates if instant payment is supported.",
"example": true
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns information about whether instant payments are supported. | InstantPaymentSupportResult | none |
400 | Bad Request | Bad request if the input parameters are incorrect. | None | none |
404 | Not Found | If the URL does not point to a provider, you will get the HTTP status 404 (Not found). | None | none |
Customer
Get Customer
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2
Retrieves the customer object for the authenticated user. It is also the entry point to the deeper functions of the interface.
Example responses
200 Response
{
"bankzugaenge": {
"4000fda7-18af-463f-b694-bbafe5d23a48": {
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"sicherheitsverfahren": [
{
"kodierung": 980,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"name": "SMS_OTP",
"kodierung": "942",
"hinweis": "SMS OTP"
}
],
"relations": [
{
"rel": "startSCA",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}
]
}
},
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2"
},
{
"rel": "get_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
},
{
"rel": "add_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
},
{
"rel": "delete_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns customer object of the user. | Customer | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_bankzugaenge: Lists all bank accesses of the user add_bankzugaenge: adds a new bank access to the user delete_bankzugaenge: Delete all bank accesses of the user delete_regprotect_sessions: Deletes all current REG/Protect sessions for the user get_contracts: Returns the contracts of the user get_sales_triggers: Returns the sales trigger of the user get_life_events: Returns the life events of the user get_life_stages: Returns the life stages of the user get_cashflow: Returns the cashflow of the user get_credit_check: Returns the credit check of the user get_disposable_money: Returns the disposable money of the user get_affinities: Returns the affinities of the user get_credit_attributes: Returns the credit attributes of the user get_tagging_rules: Returns the manually created tagging rules of the user delete_tagging_rules: Deletes all tagging rules of the user add_tagging_rules: Adds a new tagging rule to the user |
Customer Bank Access
Add Bank Access
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge
Adds a bank access for the given user and set of credentials.
Body parameter
{
"d48744c0-132c-4ae4-a909-1ff771f61503": {
"providerId": "00000000-0000-0000-0000-000000000000",
"credentials": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
},
"sync": true,
"selectedBankProducts": [
"DE00123456789012345679"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
callbackUrl | query | string(url) | true | A callback URL. |
refresh | query | boolean | false | If the bank access already exists, regardless of the background update, all revenues and information are retrieved by the provider, if true |
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
headOnly | query | boolean | false | Flag to solely fetch header data of the account without balances and transactions (e.g. to get the list of selectable bank products). If this flag is true the flag sync in the request payload has to be false and no selectedBankProducts can be specified. |
maxTransactions | query | MaxTransactions | false | Indicator if transactions older than 90 days should be fetched. |
paymentAccountsOnly | query | boolean | false | Flag to solely fetch payment accounts. Other accounts will be ignored, which can result in fewer SCAs. |
body | body | CreateBankAccess | true | The body contains information about the bank access. REG/Hosting tenants need to provide credentials in case this is not a "refresh"-request. In case of a REG/Protect tenant or a "refresh"-request the value for the access-id-key should be an empty object. |
Enumerated Values
Parameter | Value |
---|---|
maxTransactions | none |
maxTransactions | all |
maxTransactions | paymentAccounts |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
201 | Created | HTTP status 201 (Created) is returned together with the HTTP header Location. Under the URL specified in the header, the added bank accesses can be queried analogously by means of an HTTP GET call. | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | none |
504 | Gateway Time-out | The started request could not be answered in the given time | None | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to get the created bank access using GET method | |
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Get Bank Accesses
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge
Retrieves all bank accesses for this user.
Example responses
200 Response
{
"0b7f4783-4c93-4820-8e73-354a0f1c469e": {
"id": "0b7f4783-4c93-4820-8e73-354a0f1c469e",
"providerId": "00000000-0000-0000-0000-000000000000",
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"tanMedien": [
{
"name": "Mobil",
"medienklasse": "MOBIL",
"gueltigVon": "2021-10-15 09:13:44",
"gueltigBis": "2021-10-15 09:13:44"
}
],
"sicherheitsverfahren": [
{
"kodierung": 1,
"name": "mockTAN",
"hinweis": "Gib eine durch 2 teilbare Zahl ein"
},
{
"kodierung": 999,
"name": "iTAN",
"hinweis": "Gib die TAN \"12\" an."
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 999,
"name": "iTAN",
"hinweis": "Gib die TAN \"12\" an."
},
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e"
},
{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e"
}
],
"status": "VOLLSTAENDIG",
"bankprodukte": [
{
"id": "DE00123456789012345679",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE00123456789012345679",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller",
"transferSupport": true,
"relations": [
{
"rel": "get_kontoumsaetze",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e/DE00123456789012345679/kontoumsaetze"
},
{
"rel": "initiate_single_transfer",
"href": "https://banksapi.io/customer/v2/payment/single-transfer"
},
{
"rel": "initiate_bulk_transfer",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer"
}
],
"messages": [],
"verfuegungsrahmen": 27365.56,
"verfuegterBetrag": 0
}
],
"sync": true
},
"4000fda7-18af-463f-b694-bbafe5d23a48": {
"status": "VOLLSTAENDIG",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"messages": [],
"bankprodukte": [],
"relations": [],
"sync": false
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | The success response contains an collection of bank accesses. | ListOfBankAccesses | none |
401 | Unauthorized | The bearer authorization header was not sent or the value was incorrect. | None | none |
Delete All Bank Accesses
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/customer/v2/bankzugaenge \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
DELETE /customer/v2/bankzugaenge
Removes all bank accesses of the authenticated user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | The HTTP status 200 returns without any further response body. | None | none |
Get Bank Access
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}
Retrieves a specific bank access for this user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Example responses
200 Response
{
"status": "VOLLSTAENDIG",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"messages": [],
"bankprodukte": [],
"relations": [],
"sync": false
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a bank access object | BankAccess | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) delete_bankzugang: Deletes a bank access of the user get_issues: Shows issues for the given bank access get_challenge_pdf: Returns the PDF file from the challenge if available set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it redirect_url: Contains link to the website, that the user needs to follow for the completion of the SCA refresh_bankzugang: refreshes an existing bank access |
504 | Gateway Time-out | The started request could not be answered in the given time | None | none |
Delete Bank Access
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/customer/v2/bankzugaenge/{access-id} \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
DELETE /customer/v2/bankzugaenge/{access-id}
Deletes a specific bank access.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns without any further response body. | None | none |
404 | Not Found | The bank access with the given access-id was not found / does not exist. | None | none |
Get Bank Access Issues
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/issues \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/issues
Retrieves last known issues for a specific bank access for this user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Example responses
200 Response
{
"id": "815251d6-c062-4f61-bec0-182bc14a48fb",
"providerId": "00000000-0000-0000-0000-000000000000",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"challenge": {
"name": "Mock-TAN-Verfahren",
"content": {
"instructions": "Enter a TAN that is divisible by 2"
},
"decoupled": false,
"redirect": false
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a bank access issues object | BankAccessIssues | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) delete_bankzugang: Deletes a bank access of the user get_issues: Shows issues for the given bank access set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it redirect_url: Contains link to the website, that the user needs to follow for the completion of the SCA |
Get Bank Access Challenge PDF
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/challenge/pdf \
-H 'Accept: application/pdf' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/challenge/pdf
Retrieves the PDF file from the bank access challenge if available.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the PDF file from the bank access challenge if available. | string | none |
404 | Not Found | The PDF file for the given access-id was not found / does not exist. | None | none |
Get Bank Product
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/{product-id}
Retrieve information for a single bank product.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
Example responses
200 Response
{
"kategorie": "GIROKONTO",
"produktbezeichnung": "Demo-Girokonto",
"produktId": "DE1235233452324553423442A",
"inhaber": "Dan Cooper",
"aktualisierungsdatum": "2016-05-23 13:37:00",
"saldo": "200000.00",
"waehrung": "USD",
"saldoDatum": "2016-05-23 13:37:00",
"kontonummer": "0123456789",
"iban": "DE1235233452324553423442",
"bic": "BICIS133742",
"blz": "12345678",
"kreditinstitut": "Demo-Bank",
"messages": [],
"relations": [
{
"rel": "get_kontoumsaetze",
"href": "https://test.banksapi.io/customer/v2/bankzugaenge/cba09da4-57fb-4262-b11c-3192b3438265/DE00123456789012345679/kontoumsaetze"
},
{
"rel": "initiate_single_transfer",
"href": "https://banksapi.io/customer/v2/payment/single-transfer"
},
{
"rel": "initiate_bulk_transfer",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns data of the bank product. | Product | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_kontoumsaetze: Lists all transactions of the given banking product, default are transactions of the last 90 days, available if product has transactions initiate_single_transfer: Initiates a single transfer initiate_bulk_transfer: Initiates a bulk transfer initiate_single_transfer_with_saved_credentials: Initiates a single transfer with previously saved credentials initiate_bulk_transfer_with_saved_credentials: Initiates a bulk transfer with previously saved credentials get_depotpositionen: Lists all depot positions of the given banking product, available if product has kategorie set to DEPOT and if depot positions are availableget_kontoumsaetze_categories: Acts the same as get_kontoumsaetze , but with added category tag sget_kontoumsaetze_business_partners: Acts the same as get_kontoumsaetze , but with added business partner tag sget_kontoumsaetze_periods: Acts the same as get_kontoumsaetze , but with added period tag sget_kontoumsaetze_insurance_types: Acts the same as get_kontoumsaetze , but with added insurance type tag sget_kontoumsaetze_freelancer_categories: Acts the same as get_kontoumsaetze , but with added freelancer category tag s |
504 | Gateway Time-out | The started request could not be answered in the given time | None | none |
Get Transactions
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze
Retrieves all transactions for a specific product of a specific access of this user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
from | query | string(date-time) | false | Only return transactions with a booking date after this Date/Time (ISO 8601 formatted timestamp); may be used with to to specify a time window |
to | query | string(date-time) | false | Only return transactions with a booking date before this Date/Time (ISO 8601 formatted timestamp); may be used with from to specify a time window |
tag | query | any | false | The resulting transactions will each contain Categorization objects of the corresponding tag type |
filter | query | string | false | Filter to apply to result set. Filter expression must be URL-encoded. Filter expression must be in the form <field-selector><predicate><value> . |
Enumerated Values
Parameter | Value |
---|---|
tag | categories |
tag | business-partners |
tag | periods |
tag | insurance-types |
tag | freelancer-categories |
tag | custom-categories |
Example responses
200 Response
[
{
"betrag": -70,
"verwendungszweck": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280",
"buchungsdatum": "2016-11-17 00:00:00",
"wertstellungsdatum": "2016-11-15 00:00:00",
"gegenkontoInhaber": "La Sopia GmbH München",
"gegenkontoIban": "DE00123456789012345679",
"gegenkontoBic": "XXX12345678",
"primanotaNummer": "421337"
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of transactions. | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [allOf] | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | object | false | none | none |
»» id | string(uuid) | false | none | The unique id of this transaction. |
»» hash | string(uuid) | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | TransactionData | false | none | none |
»» betrag | number | true | none | Amount with two decimal places. |
»» waehrung | string | false | none | Currency of the transaction. |
»» verwendungszweck | string | true | none | The purpose of the transaction. |
»» buchungstext | string | false | none | A text for the entry of the transaction |
»» buchungsdatum | string(YYYY-MM-DD hh:mm:ss) | true | none | The date of the entry of the transaction |
»» wertstellungsdatum | string(YYYY-MM-DD hh:mm:ss) | false | none | Date of booking |
»» gegenkontoInhaber | string | false | none | Owner of the counter account |
»» gegenkontoIban | string | false | none | IBAN of the counter account |
»» gegenkontoBic | string | false | none | BIC of the counter account |
»» gegenkontoInhaberAbweichend | string | false | none | Ultimate owner of the counter account |
»» primanotaNummer | string | false | none | Primanota number of sales |
»» gvCode | string | false | none | Provider specific code, that denotes transaction use cases |
»» identifier | object | false | none | none |
»»» endToEndId | string | false | none | none |
»»» proprietaryCode | string | false | none | Used for example for PayPal's proprietary transaction ID |
»»» entryReference | string | false | none | none |
»»» ownerRef | string | false | none | none |
»»» bookingRef | string | false | none | none |
»»» balance | number | false | none | none |
»»» mandateId | string | false | none | Contains the SEPA mandate reference |
»»» batchId | string | false | none | none |
»» tags | [TagInstanceSchema] | false | none | none |
»»» entity | EntitySchema | true | none | none |
»»»» displayName | string | true | none | Display name of the entity |
»»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»»» id | string | true | none | Transaction UUID or USER UUID. |
»»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»»» id | string | true | none | Unique Universal Identifier (UUID) |
»»» relations | [RelationSchema] | false | none | List of relations |
»»»» href | string | true | none | Link of the relation |
»»»» rel | string | true | none | Name of the relation |
»»» tagTreeItem | TagTreeItemSchema | true | none | none |
»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»» displayName | string | false | none | User-friendly name shown to the end-users |
»»»» relations | [RelationSchema] | false | none | List of relations |
»»»» systemId | integer | false | none | Unique internal id of the tag tree item |
»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»»» tagTree | BusinessPartnerTagTreeItemSchemaTagTree | true | none | tagTree that the tagTreeItem belongs to |
»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»» displayName | string | false | none | User-friendly name shown to the end-users |
»»»»» isTenantGenerated | boolean | false | none | Boolean flag, set TRUE if the tag was manually set |
»»»»» relations | [RelationSchema] | false | none | List of relations |
»»»»» systemId | integer | false | none | Unique internal id of the tag tree |
»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»» version | number | false | none | Version of the tag tree |
modify categorisation of transactions
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze/{transaction-id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze/{transaction-id}
This method applies corrections to the categorization of transactions. Initial categorization is required before recategorization.
Input contains the tag tree item that should be used for recategorization. A valid tag tree item has to be provided.
The flag createRule creates a user specific rule that automatically categorizes this counterparty with the provided tag tree item in all future transactions. This is a smart solution to eradicate a recurring recategorization process.
The flag changeExisting recategorizes all existing transactions of the same counterparty.
The tagTreeItem has to include a tagTree and has to be wrapped in tags: [].
The recategorization currently relies on the systemName value of tagTreeItem and tagTree, but as this might change in the future, both systemName and systemId should be included in the payload, all other fields are ignored.
To get a full list of tag tree items, use: GET https://banksapi.io/tags/v1/tags/tag_trees/1/tag_tree_items/
Body parameter
{
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
transaction-id | path | string(uuid) | true | ID of a transaction |
changeExisting | query | boolean | false | none |
createRule | query | boolean | false | none |
body | body | WrappedTags | true | none |
Example responses
400 Response
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "HTTP Code",
"example": "400"
},
"message": {
"type": "string",
"description": "error message",
"example": "Tag with system name INSURANCE_LIF does not exist for tag tree CATEGORIES"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | transaction was successfully modified | None | none |
400 | Bad Request | error in request body | ErrorMessage | none |
404 | Not Found | transaction was not found | None | none |
Get Portfolio
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/depotpositionen \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/{product-id}/depotpositionen
Retrieves all investments in a specific banking product of type brokerage account (portfolio depot) for this user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
Example responses
200 Response
[
{
"name": "Aberdeen Global - Emer. Markets Equity E2",
"menge": 210.819609,
"handelseinheit": "STUECK",
"isin": "LU0498181733",
"wkn": "A1C5UV",
"kurs": 15.4117,
"kursDatum": "2021-10-15 15:50:20",
"waehrung": "EUR",
"waehrungskurs": 1,
"handelsplatz": "KAG",
"gesamtwert": 3249.09
}
]
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns an array of investments, e.g. stocks, bonds and other positions. | Inline | none |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Investment] | false | none | [A securities account item corresponds to a security position of a securities account.] |
» Investment | Investment | false | none | A securities account item corresponds to a security position of a securities account. |
»» name | string | false | none | Name of the deposit position, usually the name of the financial instrument |
»» menge | number | false | none | Amount with decimal places |
»» handelseinheit | string | false | none | Trade item, STUECK or NOMINAL |
»» isin | string | false | none | ISIN of the financial instrument |
»» wkn | string | false | none | WKN of the financial instrument |
»» kurs | number | false | none | Price in trading currency |
»» kursDatum | string(YYYY-MM-DD hh:mm:ss) | false | none | The quote date |
»» waehrung | string | false | none | Trading currency (Alphabetic Code ISO 4217) |
»» waehrungskurs | number | false | none | Conversion rate from EUR to the trading currency |
»» handelsplatz | string | false | none | Trading place of the price determination |
»» gesamtwert | number | false | none | Total value of the stock in the currency given in 'waehrung' as at the end of the financial statements |
Enumerated Values
Property | Value |
---|---|
handelseinheit | STUECK |
handelseinheit | NOMINAL |
Customer Bank Access Consent
Start SCA
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/consent?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/consent
Starts the SCA renewal process
Body parameter
{
"d48744c0-132c-4ae4-a909-1ff771f61503": {
"providerId": "00000000-0000-0000-0000-000000000000",
"credentials": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
},
"sync": true,
"selectedBankProducts": [
"DE00123456789012345679"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
callbackUrl | query | string(url) | true | A callback URL. |
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
maxTransactions | query | MaxTransactions | false | Indicator if transactions older than 90 days should be fetched. |
body | body | CreateBankAccess | false | Login data for the access. Only needed if access is not being automatically synchronized with the provider (sync=false ). |
Enumerated Values
Parameter | Value |
---|---|
maxTransactions | none |
maxTransactions | all |
maxTransactions | paymentAccounts |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
201 | Created | HTTP status 201 (Created) is returned together with the HTTP header Location. Under the URL specified in the header, the added bank accesses can be queried analogously by means of an HTTP GET call. | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to get the created bank access using GET method | |
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Update Bank Access Consent
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/consent/{consent-id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/consent/{consent-id}
Submits a SCA method, medium or authentication data for the current SCA (e.g. when creating a bank access).
Body parameter
{
"chosenScaMethodId": "942"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
consent-id | path | string(uuid) | true | ID of the consent |
body | body | SubmitScaData | true | none |
Example responses
200 Response
{
"status": "VOLLSTAENDIG",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"messages": [],
"bankprodukte": [],
"relations": [],
"sync": false
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a bank access object | BankAccess | set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
Poll Bank Access Consent
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{access-id}/consent/{consent-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{access-id}/consent/{consent-id}
Can be used for the decoupled SCA approach to check if the SCA has already been confirmed.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
consent-id | path | string(uuid) | true | ID of the consent |
Example responses
200 Response
{
"status": "VOLLSTAENDIG",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"messages": [],
"bankprodukte": [],
"relations": [],
"sync": false
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a bank access object | BankAccess | set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
Cancel Bank Access Consent
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/consent/{consent-id}/cancel \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/consent/{consent-id}/cancel
Cancels an SCA redirect and stops the corresponding access synchronization. This request is permitted only for the redirect SCA approach.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
consent-id | path | string(uuid) | true | ID of the consent |
Example responses
200 Response
{
"id": "815251d6-c062-4f61-bec0-182bc14a48fb",
"providerId": "00000000-0000-0000-0000-000000000000",
"aktualisierungszeitpunkt": "2022-02-02 22:22:22",
"messages": [
{
"level": "ERROR",
"code": "BA3040",
"message": "SCA fehlgeschlagen",
"details": "Redirect-SCA wurde abgebrochen"
},
{
"level": "INFO",
"code": "BA3000",
"message": "SCA notwendig"
}
],
"tanMedien": [],
"sicherheitsverfahren": [],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/815251d6-c062-4f61-bec0-182bc14a48fb"
},
{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/815251d6-c062-4f61-bec0-182bc14a48fb"
},
{
"rel": "get_issues",
"href": "https://banksapi.io/customer/v2/bankzugaenge/815251d6-c062-4f61-bec0-182bc14a48fb/issues"
},
{
"rel": "start_sca",
"href": "https://banksapi.io/customer/v2/bankzugaenge/815251d6-c062-4f61-bec0-182bc14a48fb/consent"
}
],
"status": "VOLLSTAENDIG",
"bankprodukte": [],
"sync": false
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns a bank access object | BankAccess | none |
Customer Bank Access Payment
Initiate a single transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/payment/single-transfer?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Rejection-NoFunds-Preferred: true' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/{product-id}/payment/single-transfer
Initiates a payment for the given bank access, without providing access credentials
Body parameter
{
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Rejection-NoFunds-Preferred | header | boolean | false | If set to "true", the bank should reject the payment if there are insufficient funds. If set to "false", the bank may wait for a certain period for funds to arrive. This parameter may be ignored by the bank. |
callbackUrl | query | string(url) | true | A callback URL. |
editableDetails | query | boolean | false | Flag for REG/Protect to control whether fields on the frontend are editable |
autoConfirm | query | boolean | false | Flag for REG/Protect to control whether transfers can be entered without interaction |
body | body | BasicSingleTransferData | false | The request body object carries the data for a payment. It is expected when creating a payment. It is not required for REG/Protect tenants when requesting with editableDetails=true . |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | SingleTransferResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
404 | Not Found | Bank Access Credentials could not be found | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Initiate a bulk transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/payment/bulk-transfer?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Rejection-NoFunds-Preferred: true' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/{product-id}/payment/bulk-transfer
Initiates a payment for the given bank access, without providing access credentials
Body parameter
{
"description": "Request data to start a transfer",
"required": [
"transferDetails"
],
"title": "BulkTransferData",
"type": "object",
"properties": {
"instant": {
"type": "boolean",
"description": "If set to true, the transfer will be executed as an instant payment.\nPlease note that instant payments may not be supported\nor may incur additional costs depending on the bank.\n"
},
"requestedExecutionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested execution date of the transfer.\nPlease note that transfers with execution date may not be supported depending on the bank.\n"
},
"transferDetails": {
"type": "array",
"items": {
"title": "TransferDetails",
"required": [
"recipient",
"purpose",
"iban",
"amount",
"currency"
],
"type": "object",
"properties": {
"recipient": {
"type": "string",
"description": "Receiver of the transfer"
},
"purpose": {
"type": "string",
"description": "Purpose of the transfer"
},
"iban": {
"type": "string",
"description": "IBAN of the recipient account"
},
"bic": {
"type": "string",
"description": "BIC of the recipient account"
},
"currency": {
"type": "string",
"description": "Currency of the transfer (Alphabetic Code ISO 4217)"
},
"amount": {
"type": "number",
"description": "Transfer amount"
},
"endToEndId": {
"type": "string",
"description": "End-to-end identification of the transfer"
},
"purposeCode": {
"type": "string",
"description": "Code to further classify payment using an [ISO20022 External Code](https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets)",
"example": "SALA, DIVD, PENS, LOAN, ..."
},
"ultimateDebtor": {
"type": "string",
"description": "Ultimate debtor if deviating from account holder"
},
"ultimateCreditor": {
"type": "string",
"description": "Ultimate creditor if deviating from recipient"
}
},
"description": "TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Rejection-NoFunds-Preferred | header | boolean | false | If set to "true", the bank should reject the payment if there are insufficient funds. If set to "false", the bank may wait for a certain period for funds to arrive. This parameter may be ignored by the bank. |
callbackUrl | query | string(url) | true | A callback URL. |
autoConfirm | query | boolean | false | Flag for REG/Protect to control whether transfers can be entered without interaction |
body | body | object | true | The request body object carries the data for a payment. It is expected when creating a payment. |
» instant | body | boolean | false | If set to true, the transfer will be executed as an instant payment. |
» requestedExecutionDate | body | string(YYYY-MM-DD) | false | The requested execution date of the transfer. |
» transferDetails | body | [TransferDetails] | true | [TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer] |
»» TransferDetails | body | TransferDetails | false | TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer |
»»» recipient | body | string | true | Receiver of the transfer |
»»» purpose | body | string | true | Purpose of the transfer |
»»» iban | body | string | true | IBAN of the recipient account |
»»» bic | body | string | false | BIC of the recipient account |
»»» currency | body | string | true | Currency of the transfer (Alphabetic Code ISO 4217) |
»»» amount | body | number | true | Transfer amount |
»»» endToEndId | body | string | false | End-to-end identification of the transfer |
»»» purposeCode | body | string | false | Code to further classify payment using an ISO20022 External Code |
»»» ultimateDebtor | body | string | false | Ultimate debtor if deviating from account holder |
»»» ultimateCreditor | body | string | false | Ultimate creditor if deviating from recipient |
Detailed descriptions
» instant: If set to true, the transfer will be executed as an instant payment. Please note that instant payments may not be supported or may incur additional costs depending on the bank.
» requestedExecutionDate: The requested execution date of the transfer. Please note that transfers with execution date may not be supported depending on the bank.
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | BulkTransferResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
404 | Not Found | Bank Access Credentials could not be found | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Initiate a single debit
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/payment/single-debit \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/{product-id}/payment/single-debit
Initiates a payment for the given bank access, without providing access credentials
Body parameter
{
"allOf": [
{
"required": [
"creditorSchemeIdentification",
"requestedCollectionDate"
],
"type": "object",
"properties": {
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
},
"creditorSchemeIdentification": {
"type": "string",
"description": "The scheme identification of the creditor."
},
"requestedCollectionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested collection date of the debit."
}
}
},
{
"description": "Request data to start a single debit",
"required": [
"debitDetails"
],
"title": "SingleDebitDataBankAccess",
"type": "object",
"properties": {
"debitDetails": {
"allOf": [
{
"title": "DebitDetails",
"required": [
"amount",
"currency",
"purpose",
"endToEndId",
"debtorName",
"debtorIban",
"mandateIdentification",
"mandateDateOfSignature"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Debit amount"
},
"currency": {
"type": "string",
"description": "Currency of the debit"
},
"purpose": {
"type": "string",
"description": "Purpose of the debit."
},
"endToEndId": {
"type": "string",
"description": "End to End Identification of the debit."
},
"debtorName": {
"type": "string",
"description": "Name of the debtor."
},
"debtorIban": {
"type": "string",
"description": "IBAN of the debtor."
},
"debtorAccountNumber": {
"type": "string",
"description": "Account number of the debtor."
},
"debtorBankCode": {
"type": "string",
"description": "Bank code of the debtor."
},
"debtorBic": {
"type": "string",
"description": "BIC of the debtor."
},
"mandateIdentification": {
"type": "string",
"description": "Identification of the mandate."
},
"mandateDateOfSignature": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The signature date of the mandate."
},
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> The mixing of true / false is not allowed in the same request.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
},
"description": "DebitDetails are used in InitiateSingleDebit and InitiateBulkDebit"
}
]
}
}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
body | body | SingleDebitDataBankAccess | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-debit/07788639-abd7-4009-9c9d-2d79079f3f26"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/07788639-abd7-4009-9c9d-2d79079f3f26"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | SingleDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
404 | Not Found | Bank Access Credentials could not be found | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Initiate a bulk debit
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/payment/bulk-debit \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/{product-id}/payment/bulk-debit
Initiates a payment for the given bank access, without providing access credentials
Body parameter
{
"allOf": [
{
"required": [
"creditorSchemeIdentification",
"requestedCollectionDate"
],
"type": "object",
"properties": {
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
},
"creditorSchemeIdentification": {
"type": "string",
"description": "The scheme identification of the creditor."
},
"requestedCollectionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested collection date of the debit."
}
}
},
{
"description": "Request data to start a bulk debit",
"required": [
"debitDetails"
],
"title": "BulkDebitDataBankAccess",
"type": "object",
"properties": {
"debitDetails": {
"type": "array",
"items": {
"allOf": [
{
"title": "DebitDetails",
"required": [
"amount",
"currency",
"purpose",
"endToEndId",
"debtorName",
"debtorIban",
"mandateIdentification",
"mandateDateOfSignature"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Debit amount"
},
"currency": {
"type": "string",
"description": "Currency of the debit"
},
"purpose": {
"type": "string",
"description": "Purpose of the debit."
},
"endToEndId": {
"type": "string",
"description": "End to End Identification of the debit."
},
"debtorName": {
"type": "string",
"description": "Name of the debtor."
},
"debtorIban": {
"type": "string",
"description": "IBAN of the debtor."
},
"debtorAccountNumber": {
"type": "string",
"description": "Account number of the debtor."
},
"debtorBankCode": {
"type": "string",
"description": "Bank code of the debtor."
},
"debtorBic": {
"type": "string",
"description": "BIC of the debtor."
},
"mandateIdentification": {
"type": "string",
"description": "Identification of the mandate."
},
"mandateDateOfSignature": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The signature date of the mandate."
},
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> The mixing of true / false is not allowed in the same request.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
},
"description": "DebitDetails are used in InitiateSingleDebit and InitiateBulkDebit"
}
]
}
}
}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
body | body | BulkDebitDataBankAccess | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-debit/0b1937c7-82eb-49d4-99cb-6fdca765c450"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/0b1937c7-82eb-49d4-99cb-6fdca765c450"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | BulkDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
404 | Not Found | Bank Access Credentials could not be found | None | none |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Customer Ueberweisung
Legacy endpoints, that will be replaced by the endpoints in 'Customer Payment'
Create Transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/ueberweisung/{provider-id}/{product-id}?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/ueberweisung/{provider-id}/{product-id}
Creates a payment (i.e. initializes a SEPA transfer).
Body parameter
{
"allOf": [
{
"allOf": [
{
"title": "UeberweisungDetails",
"required": [
"empfaenger",
"verwendungszweck",
"iban",
"betrag",
"waehrung"
],
"type": "object",
"properties": {
"empfaenger": {
"type": "string",
"description": "Receiver of the transfer"
},
"verwendungszweck": {
"type": "string",
"description": "Purpose of the transfer."
},
"iban": {
"type": "string",
"description": "IBAN of the recipient account"
},
"bic": {
"type": "string",
"description": "BIC of the recipient account"
},
"waehrung": {
"type": "string",
"description": "Currency of the transfer (Alphabetic Code ISO 4217)"
},
"betrag": {
"type": "number",
"description": "Transfer amount"
}
},
"description": "UeberweisungDetails are used in CreateTransfer and CreateBulkTransfer"
}
]
},
{
"title": "CreateTransfer",
"required": [
"empfaenger",
"verwendungszweck",
"iban",
"betrag",
"bic",
"waehrung"
],
"type": "object",
"properties": {
"credentials": {
"title": "Credentials",
"description": "The Credentials object is a map of encrypted and Base64-encoded access data, corresponding\nto the provider's authentication fields. The Base64 encoding must not use line wrapping.\n\nThe encryption method used is described in the chapter Encryption.\n\nThe Credentials object is not required for REG/Protect tenants only.",
"required": [
"userid",
"pin"
],
"type": "object",
"properties": {
"userid": {
"type": "string",
"example": "cust0815",
"description": "Encrypted and Base64-encoded username of the user at the bank, e.g. used in his online banking.<br/>EBICS: The User-ID (Teilnehmer-ID) as provided by the bank must be transmitted."
},
"pin": {
"type": "string",
"example": "verySecret",
"description": "Encrypted and Base64-encoded pin / password of the user at the bank, e.g. used in his online banking.<br/>EBICS: A pin must not be transmitted."
},
"partnerid": {
"type": "string",
"example": "PID0001",
"description": "Encrypted and Base64-encoded partner id (Kunden-ID) only required for EBICS."
},
"corporateid": {
"type": "string",
"example": 123456,
"description": "Encrypted and Base64-encoded corporate id required by some banks for business accounts."
}
},
"example": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
}
},
"sicherheitsverfahrenKodierung": {
"type": "integer",
"description": "Coding of the security procedure to use , see Bank product",
"format": "int32"
},
"ausfuehrungsdatum": {
"title": "DateTime",
"description": "This object represents a timestamp. Format: `YYYY-MM-DD hh:mm:ss`. Data will be interpreted according to the time zone Europe/Berlin.",
"type": "string",
"example": "2019-12-04 13:37:00"
},
"tanMediumName": {
"type": "string",
"description": "The TAN medium to be used"
}
},
"description": "Request data to start a transfer",
"example": {
"credentials": {
"userid": "mXlkGe+ukA ... MOfGsd8HY=",
"pin": "XO2jg ... 5GfhKpZmw="
},
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 1337.42,
"ausfuehrungsdatum": "2016-12-24",
"sicherheitsverfahrenKodierung": "1",
"tanMediumName": "Mobil"
}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
product-id | path | string | true | ID of a banking product |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
callbackUrl | query | string(url) | true | A callback URL. |
editableDetails | query | boolean | false | Flag for REG/Protect to control whether fields on the frontend are editable |
body | body | CreateTransfer | false | The request body object carries the data for a payment. It is expected when creating a payment. It is not required for REG/Protect tenants when requesting with editableDetails=true . |
Example responses
200 Response
{
"ueberweisung": {
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 1337.42
},
"ausfuehrungsdatum": "2016-12-24",
"tanMediumName": "Mobil",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/ueberweisung/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | ScaInteraction | set_method: Set SCA method |
Create Bulk Transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/ueberweisung/bulk/{provider-id}/{product-id}?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/ueberweisung/bulk/{provider-id}/{product-id}
Creates a bulk payment (i.e. initializes a SEPA transfer).
Body parameter
{
"payments": [
{
"empfaenger": "UNICEF",
"verwendungszweck": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"waehrung": "EUR",
"betrag": 150
},
{
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 75
}
],
"ausfuehrungsdatum": "2016-12-24",
"sicherheitsverfahrenKodierung": "1",
"tanMediumName": "Mobil",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/ueberweisung/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
product-id | path | string | true | ID of a banking product |
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
callbackUrl | query | string(url) | true | A callback URL. |
body | body | CreateBulkTransferLegacy | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"payments": [
{
"empfaenger": "UNICEF",
"verwendungszweck": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"waehrung": "EUR",
"betrag": 150
},
{
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 75
}
],
"ausfuehrungsdatum": "2016-12-24",
"tanMediumName": "Mobil",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/ueberweisung/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | ScaInteraction | set_method: Set SCA method |
Submit TAN
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/ueberweisung/{provider-id}/{product-id}/{payment-id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/ueberweisung/{provider-id}/{product-id}/{payment-id}
Submits a TAN for a previously created payment.
Body parameter
{
"tan": "4103582"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
product-id | path | string | true | ID of a banking product |
payment-id | path | string(uuid) | true | ID of the payment |
body | body | CreateTextTan | true | Object required to submit a TAN. |
Example responses
200 Response
{
"hinweis": "Bitte geben Sie die SMS-TAN ein",
"timeout": "2016-12-24 20:00:00",
"relations": [
{
"rel": "submit_text_tan",
"href": "https://banksapi.io/customer/v2/ueberweisung/DE1235233452324553423442/9b90127c-9b85-11e6-82d8-480fcfb9550f"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the transfer status. If the TAN was wrong, the hint has changed accordingly and there is still a timeout and the relation submit_text_tan . If the TAN was correct then Timeout and the Relations disappear. |
Interaction | submit_text_tan: Submit TAN |
Submit TAN (Bulk)
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/ueberweisung/bulk/{provider-id}/{product-id}/{payment-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/ueberweisung/bulk/{provider-id}/{product-id}/{payment-id}
Submits a TAN for a previously created bulk payment. Confer Submit TAN for details.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
provider-id | path | string(uuid) | true | ID of a provider |
product-id | path | string | true | ID of a banking product |
payment-id | path | string(uuid) | true | ID of the payment |
Example responses
200 Response
{
"messages": [
{
"code": "BA1110",
"level": "INFO",
"message": "TAN-Eingabe nötig",
"details": "Bitte geben Sie die TAN ein"
}
],
"timeout": "2017-08-31 16:08:55",
"relations": [
{
"rel": "submit_text_tan",
"href": "https://banksapi.io/customer/v2/ueberweisung/00000000-0000-0000-0000-000000000000/DE00123456789012345679/c612b2f3-f797-4f66-bec4-2064812c8736"
}
],
"challenge": {
"name": "chipTAN optisch",
"content": {
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
},
"decoupled": false,
"redirect": false
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the transfer status. If the TAN was wrong, the hint has changed accordingly and there is still a timeout and the relation submit_text_tan . If the TAN was correct then Timeout and the Relations disappear. |
Interaction | none |
Customer Payment
Initiate Single Transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/payment/single-transfer?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Rejection-NoFunds-Preferred: true' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/payment/single-transfer
Initiates a single transfer (e.g. a SEPA transfer).
Body parameter
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Rejection-NoFunds-Preferred | header | boolean | false | If set to "true", the bank should reject the payment if there are insufficient funds. If set to "false", the bank may wait for a certain period for funds to arrive. This parameter may be ignored by the bank. |
callbackUrl | query | string(url) | true | A callback URL. |
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
editableDetails | query | boolean | false | Flag for REG/Protect to control whether fields on the frontend are editable |
body | body | SingleTransferData | true | The request body object carries the data for a payment. It is expected when creating a payment. It is not required for REG/Protect tenants when requesting with editableDetails=true . |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | SingleTransferResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Get Single Transfer
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/payment/single-transfer/{payment-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/payment/single-transfer/{payment-id}
Get the current status of the single transfer.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
payment-id | path | string(uuid) | true | ID of the payment |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the single transfer. | SingleTransferResult | none |
Initiate Bulk Transfer
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/payment/bulk-transfer?callbackUrl=https%3A%2F%2Fdemo-tenant.com%2Fcallback%3Fstate%3D123 \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Customer-IP-Address: 154.25.45.133' \
-H 'Rejection-NoFunds-Preferred: true' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/payment/bulk-transfer
Initiates a bulk transfer (e.g. a SEPA bulk transfer).
Body parameter
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH... D/MOfGsd8HY=",
"pin": "XO2jgZ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Customer-IP-Address | header | string | true | The IP address of the customer. Must be a public IP address (IPv4, IPv6) |
Rejection-NoFunds-Preferred | header | boolean | false | If set to "true", the bank should reject the payment if there are insufficient funds. If set to "false", the bank may wait for a certain period for funds to arrive. This parameter may be ignored by the bank. |
callbackUrl | query | string(url) | true | A callback URL. |
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
body | body | BulkTransferData | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the transfer status | BulkTransferResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Get Bulk Transfer
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/payment/bulk-transfer/{payment-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/payment/bulk-transfer/{payment-id}
Get the current status of the bulk transfer.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
payment-id | path | string(uuid) | true | ID of the payment |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce/consent"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the bulk transfer. | BulkTransferResult | none |
Initiate Single Debit
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/payment/single-debit \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/payment/single-debit
Initiates a single debit (e.g. a SEPA debit).
Body parameter
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
body | body | SingleDebitData | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-debit/07788639-abd7-4009-9c9d-2d79079f3f26"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/07788639-abd7-4009-9c9d-2d79079f3f26"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | SingleDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Get Single Debit
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/payment/single-debit/{payment-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/payment/single-debit/{payment-id}
Get the current status of the single debit.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
payment-id | path | string(uuid) | true | ID of the payment |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-debit/07788639-abd7-4009-9c9d-2d79079f3f26"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/07788639-abd7-4009-9c9d-2d79079f3f26"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | SingleDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
Initiate Bulk Debit
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/payment/bulk-debit \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/payment/bulk-debit
Initiates a bulk debit (e.g. a SEPA debit).
Body parameter
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
queryTanSettings | query | boolean | false | Flag to ignore saved TAN-settings and query them. |
body | body | BulkDebitData | true | The request body object carries the data for a payment. It is expected when creating a payment. |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-debit/0b1937c7-82eb-49d4-99cb-6fdca765c450"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/0b1937c7-82eb-49d4-99cb-6fdca765c450"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | BulkDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) get_webform: Contains link to the REG/Protect web application |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Get Bulk Debit
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/payment/bulk-debit/{payment-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/payment/bulk-debit/{payment-id}
Get the current status of the bulk debit.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
payment-id | path | string(uuid) | true | ID of the payment |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-debit/0b1937c7-82eb-49d4-99cb-6fdca765c450"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/0b1937c7-82eb-49d4-99cb-6fdca765c450"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "5208b5cb-2f88-4bba-87a5-c5e0356c460c",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns object with the debit status | BulkDebitResult | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it |
Customer Consent
Get Consent
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/consent/{consent-id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/consent/{consent-id}
Get the current status of the consent, without polling the provider
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent-id | path | string(uuid) | true | ID of the consent |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3020",
"message": "SCA Medium auswählen",
"details": "Bitte wählen Sie ein SCA-Medium aus"
}
],
"scaMediums": [
{
"name": "Handy Eins",
"mediaClass": "MOBILE"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_medium",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the consent. | Consent | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it get_single_transfer: Returns the corresponding single transfer, if available get_bulk_transfer: Returns the corresponding bulk transfer, if available get_single_debit: Returns the corresponding single debit, if available get_bulk_debit: Returns the corresponding bulk debit, if available |
Update Consent
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/consent/{consent-id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/consent/{consent-id}
Submits a SCA method, medium or authentication data for the current SCA.
Body parameter
{
"chosenScaMethodId": "942"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent-id | path | string(uuid) | true | ID of the consent |
body | body | SubmitScaData | true | none |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3020",
"message": "SCA Medium auswählen",
"details": "Bitte wählen Sie ein SCA-Medium aus"
}
],
"scaMediums": [
{
"name": "Handy Eins",
"mediaClass": "MOBILE"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_medium",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the consent. | Consent | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it get_single_transfer: Returns the corresponding single transfer, if available get_bulk_transfer: Returns the corresponding bulk transfer, if available get_single_debit: Returns the corresponding single debit, if available get_bulk_debit: Returns the corresponding bulk debit, if available |
Poll Consent
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/consent/{consent-id}/poll \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/consent/{consent-id}/poll
Can be used for the decoupled SCA approach to check if the SCA has already been confirmed.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent-id | path | string(uuid) | true | ID of the consent |
Example responses
200 Response
{
"messages": [
{
"level": "INFO",
"code": "BA3030",
"message": "SCA Challenge",
"details": "Bitte autorisieren Sie den Vorgang"
}
],
"challenge": {
"name": "Entkoppelte Authentifizierung",
"content": {
"instructions": "Bitte führen Sie die entkoppelte Authentifizierung durch."
},
"decoupled": true,
"redirect": false
},
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "authenticate",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "authenticate_decoupled",
"href": "https://banksapi.io/customer/v2/consent/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/poll"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the consent. | Consent | self: Returns the corresponding entity (e.g. bank access, single transfer, consent...) set_method: Sets chosenScaMethodId , available if current SCA requires itset_medium: Sets chosenScaMedia , available if current SCA requires itauthenticate: Sends scaAuthenticationData , available if current SCA requires itauthenticate_decoupled: Polls current authentication status, available if current SCA requires to be completed on a different device or app cancel: Cancels current SCA, available if current SCA allows it get_single_transfer: Returns the corresponding single transfer, if available get_bulk_transfer: Returns the corresponding bulk transfer, if available get_single_debit: Returns the corresponding single debit, if available get_bulk_debit: Returns the corresponding bulk debit, if available |
Cancel a Consent
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/consent/{consent-id}/cancel \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/consent/{consent-id}/cancel
Cancels an SCA redirect and stops the corresponding access synchronization. This request is permitted only for the redirect SCA approach.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent-id | path | string(uuid) | true | ID of the consent |
Example responses
200 Response
{
"messages": [
{
"level": "ERROR",
"code": "BA3040",
"message": "SCA fehlgeschlagen",
"details": "Redirect-SCA wurde abgebrochen"
}
]
}
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Returns the current status of the consent. | Consent | none |
Customer REG/Protect
Delete all REG/Protect sessions
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/customer/v2/regprotect/sessions \
-H 'Authorization: Bearer {access-token}'
DELETE /customer/v2/regprotect/sessions
Invalidates all REG/Protect sessions of the authenticated user.
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | The HTTP status 200 returns without any further response body. | None | none |
Change bank product selection
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/bankzugaenge/{access-id}/selectedbankproducts \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/bankzugaenge/{access-id}/selectedbankproducts
Change the selected products of the given bank access
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
451 | Unavailable For Legal Reasons | This response is for REG/Protect tenants. It contains a link to the REG/Protect application in the HTTP header Location | None | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
451 | Location | string | Link to the REG/Protect application. Append a callbackUrl query-parameter to the URL |
Encrypt
Encrypt plaintexts
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/encrypt \
-H 'Content-Type: application/octet-stream+base64' \
-H 'Accept: application/octet-stream+base64' \
-H 'Authorization: Bearer {access-token}'
PUT /encrypt
Encrypt a given plaintext for the tenant identified by the given bearer token.
Body parameter
type: string
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | string | true | Plaintext to encrypt encoded in Base64 |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
200 | OK | Ciphertext (encrypted plaintext) encoded in Base64 | string | none |
Customer Bank Access Builder
Push transactions for the given product
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/bankzugaenge/{access-id}/{product-id}/kontoumsaetze
Pushes transactions for the given product identified by an access and a product ID
Body parameter
{
"type": "array",
"items": {
"title": "Transaction Data",
"required": [
"betrag",
"verwendungszweck",
"buchungsdatum"
],
"type": "object",
"properties": {
"betrag": {
"type": "number",
"description": "Amount with two decimal places.",
"example": -64.55
},
"waehrung": {
"type": "string",
"description": "Currency of the transaction.",
"example": "EUR"
},
"verwendungszweck": {
"type": "string",
"description": "The purpose of the transaction.",
"example": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280"
},
"buchungstext": {
"type": "string",
"description": "A text for the entry of the transaction"
},
"buchungsdatum": {
"type": "string",
"description": "The date of the entry of the transaction",
"format": "YYYY-MM-DD hh:mm:ss",
"example": "2016-05-23 13:37:00"
},
"wertstellungsdatum": {
"type": "string",
"description": "Date of booking",
"format": "YYYY-MM-DD hh:mm:ss",
"example": "2016-11-15 00:00:00"
},
"gegenkontoInhaber": {
"type": "string",
"description": "Owner of the counter account",
"example": "La Sopia GmbH München"
},
"gegenkontoIban": {
"type": "string",
"description": "IBAN of the counter account",
"example": "DE00123456789012345679"
},
"gegenkontoBic": {
"type": "string",
"description": "BIC of the counter account",
"example": "XXX12345678"
},
"gegenkontoInhaberAbweichend": {
"type": "string",
"description": "Ultimate owner of the counter account",
"example": "La Sopia GmbH München"
},
"primanotaNummer": {
"type": "string",
"description": "Primanota number of sales",
"example": "421337"
},
"gvCode": {
"type": "string",
"description": "Provider specific code, that denotes transaction use cases",
"example": "302"
},
"identifier": {
"type": "object",
"properties": {
"endToEndId": {
"type": "string"
},
"proprietaryCode": {
"type": "string",
"description": "Used for example for PayPal's proprietary transaction ID"
},
"entryReference": {
"type": "string"
},
"ownerRef": {
"type": "string"
},
"bookingRef": {
"type": "string"
},
"balance": {
"type": "number"
},
"mandateId": {
"type": "string",
"description": "Contains the SEPA mandate reference"
},
"batchId": {
"type": "string"
}
}
},
"tags": {
"type": "array",
"items": {
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
}
},
"example": {
"betrag": -70,
"verwendungszweck": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280",
"buchungsdatum": "2016-11-17 00:00:00",
"wertstellungsdatum": "2016-11-15 00:00:00",
"gegenkontoInhaber": "La Sopia GmbH München",
"gegenkontoIban": "DE00123456789012345679",
"gegenkontoBic": "XXX12345678",
"primanotaNummer": "421337"
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
access-id | path | string(uuid) | true | ID of the bank access |
product-id | path | string | true | ID of a banking product |
body | body | array[object] | true | List of transactions for this product |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
201 | Created | Created | None | none |
Create Bank Access Builder
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/bankzugaenge/builder \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/bankzugaenge/builder
Creates a builder instance for a bank access.
Body parameter
{
"id": "815251d6-c062-4f61-bec0-182bc14a48fb",
"providerId": "00000000-0000-0000-0000-000000000000",
"bankprodukte": [
{
"id": "DE89370400440532013000",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE89370400440532013000",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateBankAccessBuilder | true | The body contains information about the bank access to create the builder for. |
Responses
Status | Meaning | Description | Schema | Possible relations |
---|---|---|---|---|
201 | Created | HTTP status 201 (Created) is returned together with the HTTP header Location. Under the URL specified in the header, the added bank accesses can be queried analogously by means of an HTTP GET call. | None | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to get the created bank access using GET method |
Schemas
AuthenticationInfo
{
"loginHint": "Die User-ID setzt sich aus Ihrer 8-stelligen Hauptkontonummer und der 2-stelligen Unterkontonummer zusammen.",
"fields": [
{
"fieldkey": "userid",
"label": "KOMnet-Key",
"secret": false,
"hint": "Der DEMOnet-Key ist ist auf Ihrer DEMO-EC-Karte aufgedruckt",
"format": "^.{1,50}$"
},
{
"fieldkey": "pin",
"label": "Demo-Passwort",
"secret": true,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
}
]
}
AuthenticationInfo
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
loginHint | string | false | none | Note text for the registration process, which applies to the complete registration process |
fields | [Field] | true | none | Array with login parameters |
Backends
{
"scraperName": "mock",
"defaultProcess": "SCRAPER",
"accountsAccess": "SCRAPER",
"loginAccess": "SCRAPER",
"saldoAccess": "SCRAPER",
"turnoverAccess": "SCRAPER",
"transactionAccess": "SCRAPER",
"bausparListAccess": "SCRAPER",
"bausparDetailAccess": "SCRAPER",
"bausparTurnoverAccess": "SCRAPER",
"creditcardsListAccess": "SCRAPER",
"creditcardsDetailAccess": "SCRAPER",
"creditcardsTurnoverAccess": "SCRAPER",
"depotsListAccess": "SCRAPER",
"depotsDetailAccess": "SCRAPER",
"depotsSecuritiesAccess": "SCRAPER",
"tanmethodAccess": "SCRAPER",
"maxSyncsPerDayAndUser": 4
}
Backends
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scraperName | string | true | none | none |
defaultProcess | string | true | none | none |
accountsAccess | string | true | none | none |
loginAccess | string | true | none | none |
saldoAccess | string | true | none | none |
turnoverAccess | string | true | none | none |
transactionAccess | string | true | none | none |
bausparListAccess | string | true | none | none |
bausparDetailAccess | string | true | none | none |
bausparTurnoverAccess | string | true | none | none |
creditcardsListAccess | string | true | none | none |
creditcardsDetailAccess | string | true | none | none |
creditcardsTurnoverAccess | string | true | none | none |
depotsListAccess | string | true | none | none |
depotsDetailAccess | string | true | none | none |
depotsSecuritiesAccess | string | true | none | none |
tanmethodAccess | string | true | none | none |
maxSyncsPerDayAndUser | integer(int32) | true | none | none |
Balance
{
"title": "Balance",
"type": "object",
"properties": {
"saldo": {
"type": "number",
"description": "Balance/value of bank product",
"example": "200000.13"
},
"waehrung": {
"type": "string",
"description": "Currency in which the bank product is valued/managed (Alphabetic Code ISO 4217)",
"example": "EUR"
},
"saldoDatum": {
"type": "string",
"format": "YYYY-MM-DD hh:mm:ss",
"description": "Balance/value date as reported by the bank/service provider",
"example": "2023-02-23 13:37:00"
}
}
}
Balance
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
saldo | number | false | none | Balance/value of bank product |
waehrung | string | false | none | Currency in which the bank product is valued/managed (Alphabetic Code ISO 4217) |
saldoDatum | string(YYYY-MM-DD hh:mm:ss) | false | none | Balance/value date as reported by the bank/service provider |
BankAccess
{
"status": "VOLLSTAENDIG",
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"bankprodukte": [],
"sync": false,
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/v2/customer/bankzugaenge/4c45b12f-ae68-4933-86df-ff2578a7a203/consent/0dd14633-1853-4d22-92f9-776429850a6b"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | true | none | The id of the bank access in UUID format. |
providerId | string(uuid) | true | none | The id of the provider the bank access belongs to, in UUID format. |
aktualisierungszeitpunkt | string(YYYY-MM-DD hh:mm:ss) | true | none | Date and time of the last query at the bank / service provider |
messages | [Message] | false | none | List of messages that show which steps are required to continue further. |
tanMedien | [TanMedium] | false | none | Lis tof available TAN media. |
sicherheitsverfahren | [SecurityProcedure] | false | none | List of possible security procedures for this account. |
aktivesSicherheitsverfahren | SecurityProcedure | false | none | The security procedure determines how end users authenticate their transaction(s). |
challenge | Challenge | false | none | Contains information about TAN generation |
relations | [Relation] | true | none | List of relations that are available as next steps. |
type | string | false | none | Type of the bank access. This field will not be returned if the value is 'DEFAULT'. Type list: DEFAULT EBICS BUILDER |
status | string | true | none | Retrieval status of the bank account Status list: INTERAKTION - Interaction: User intervention required, e.g. SCA required, see messages and relationsVOLLSTAENDIG - Finished: The data retrieval is completed |
timeout | string(YYYY-MM-DD hh:mm:ss) | false | none | Lifetime of the data in seconds from the time of the update. |
bankprodukte | [Product] | true | none | The banking products available in the access. |
sync | boolean | true | none | Whether the bank account is automatically updated in the background or not. |
Enumerated Values
Property | Value |
---|---|
type | DEFAULT |
type | EBICS |
type | BUILDER |
status | INTERAKTION |
status | VOLLSTAENDIG |
BankAccessIssues
{
"id": "815251d6-c062-4f61-bec0-182bc14a48fb",
"providerId": "00000000-0000-0000-0000-000000000000",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"challenge": {
"name": "Mock-TAN-Verfahren",
"content": {
"instructions": "Enter a TAN that is divisible by 2"
},
"decoupled": false,
"redirect": false
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ScaInteraction | false | none | BankAccess and Transfer inherit from this object. It indicates that in some cases, SCA may be needed to interact with the inheriting object. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | The issues endpoint holds the last known issues for a bank access (useful to retrieve the reason for delayed / failed background or manual sync) This method communicates all messages, also errors, that are not displayed in the stable bank access |
» aktivesSicherheitsverfahren | SecurityProcedure | false | none | The security procedure determines how end users authenticate their transaction(s). |
» aktualisierungszeitpunkt | any | false | none | Time of the last query at the bank / service provider |
» id | string | false | none | ID of the bank access |
» providerId | string | false | none | ID of the provider |
» challenge | Challenge | false | none | Contains information about TAN generation |
BankProductStatus
"VOLLSTAENDIG"
BankProductStatus
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BankProductStatus | string | false | none | Retrieval status of the bank product, which always equals the status of the corresponding bank access Status list : INTERAKTION - Interaction: User intervention required, e.g. SCA required, see messages and relationsVOLLSTAENDIG - Finished: The data retrieval is completed |
Enumerated Values
Property | Value |
---|---|
BankProductStatus | INTERAKTION |
BankProductStatus | VOLLSTAENDIG |
BulkDebitData
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | PaymentInitializationDetails | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request data to start a debit |
» debitDetails | [DebitDetails] | true | none | none |
BulkDebitDataBankAccess
{
"allOf": [
{
"required": [
"creditorSchemeIdentification",
"requestedCollectionDate"
],
"type": "object",
"properties": {
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
},
"creditorSchemeIdentification": {
"type": "string",
"description": "The scheme identification of the creditor."
},
"requestedCollectionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested collection date of the debit."
}
}
},
{
"description": "Request data to start a bulk debit",
"required": [
"debitDetails"
],
"title": "BulkDebitDataBankAccess",
"type": "object",
"properties": {
"debitDetails": {
"type": "array",
"items": {
"allOf": [
{
"title": "DebitDetails",
"required": [
"amount",
"currency",
"purpose",
"endToEndId",
"debtorName",
"debtorIban",
"mandateIdentification",
"mandateDateOfSignature"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Debit amount"
},
"currency": {
"type": "string",
"description": "Currency of the debit"
},
"purpose": {
"type": "string",
"description": "Purpose of the debit."
},
"endToEndId": {
"type": "string",
"description": "End to End Identification of the debit."
},
"debtorName": {
"type": "string",
"description": "Name of the debtor."
},
"debtorIban": {
"type": "string",
"description": "IBAN of the debtor."
},
"debtorAccountNumber": {
"type": "string",
"description": "Account number of the debtor."
},
"debtorBankCode": {
"type": "string",
"description": "Bank code of the debtor."
},
"debtorBic": {
"type": "string",
"description": "BIC of the debtor."
},
"mandateIdentification": {
"type": "string",
"description": "Identification of the mandate."
},
"mandateDateOfSignature": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The signature date of the mandate."
},
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> The mixing of true / false is not allowed in the same request.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
},
"description": "DebitDetails are used in InitiateSingleDebit and InitiateBulkDebit"
}
]
}
}
}
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request data to start a bulk debit |
» debitDetails | [DebitDetails] | true | none | none |
BulkDebitResult
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-debit/0b1937c7-82eb-49d4-99cb-6fdca765c450"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/bulk-debit/0b1937c7-82eb-49d4-99cb-6fdca765c450/consent"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": [
{
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
},
{
"amount": 42,
"currency": "EUR",
"purpose": "Verwendungszweck 2",
"endToEndId": "124",
"debtorName": "Maxi Mustermann",
"debtorIban": "DE00123456789012345678",
"debtorAccountNumber": "9012345678",
"debtorBankCode": "12345678",
"debtorBic": "SSKMDEMMXXX",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
]
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Current status of debit |
» debit | any | true | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» provider | string(uuid) | true | none | none |
»»» product | string | true | none | none |
»»» paymentId | string(uuid) | true | none | Unique id generated for each payment. |
»»» ebics | boolean | true | none | Whether this debit was submitted via EBICS or not. |
»»» debitDetails | [DebitDetails] | true | none | none |
BulkTransferData
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH... D/MOfGsd8HY=",
"pin": "XO2jgZ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | PaymentInitializationDetails | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | BasicBulkTransferData | false | none | none |
TransferDataBase
{
"type": "object",
"required": [
"transferDetails"
],
"properties": {
"instant": {
"type": "boolean",
"description": "If set to true, the transfer will be executed as an instant payment.\nPlease note that instant payments may not be supported\nor may incur additional costs depending on the bank.\n"
},
"requestedExecutionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested execution date of the transfer.\nPlease note that transfers with execution date may not be supported depending on the bank.\n"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
instant | boolean | false | none | If set to true, the transfer will be executed as an instant payment. Please note that instant payments may not be supported or may incur additional costs depending on the bank. |
requestedExecutionDate | string(YYYY-MM-DD) | false | none | The requested execution date of the transfer. Please note that transfers with execution date may not be supported depending on the bank. |
BasicBulkTransferData
{
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | TransferDataBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request payload to start a bulk transfer |
» transferDetails | [TransferDetails] | false | none | [TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer] |
BasicSingleTransferData
{
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | TransferDataBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request payload to start a single transfer |
» transferDetails | TransferDetails | false | none | TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer |
BulkTransferResult
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer/fdc61bcd-d0ee-4999-9c77-eff3ba8db0ce/consent"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "df5afff2-43e7-4fca-95fa-0d06251c9ce9",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": [
{
"recipient": "UNICEF",
"purpose": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"currency": "EUR",
"amount": 150,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
},
{
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 75,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
]
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Current status of transfer |
» transfer | object | true | none | none |
»» provider | string(uuid) | true | none | none |
»» product | string | true | none | none |
»» paymentId | string(uuid) | true | none | Unique id generated for each payment. |
»» ebics | boolean | true | none | Whether this transfer was submitted via EBICS or not. |
»» instant | boolean | false | none | Whether this transfer was initiated as an instant payment or not. |
»» requestedExecutionDate | string(YYYY-MM-DD) | false | none | The requested execution date of the transfer. Please note that transfers with execution date may not be supported depending on the bank. |
»» transferDetails | [TransferDetails] | true | none | [TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer] |
Challenge
{
"challenge": {
"name": "chipTAN optisch",
"content": {
"instructions": "Nutzen sie Ihren TAN-Generator und geben sie anschließend Ihre TAN ein.",
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
},
"decoupled": false,
"redirect": false
}
}
Challenge
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | Name of the TAN procedure |
content | ChallengeContent | true | none | Challenge data needed to perform the authentication with the chosen authentication method |
decoupled | boolean | false | none | Indicates whether the SCA approach is decoupled, thus not expecting scaAuthenticationData within Submit SCA Data, but just an empty object to confirm the user indicated that he meanwhile confirmed the activity, e.g. through the bank app, independently. |
redirect | boolean | false | none | Indicates whether the SCA approach is redirect. |
ChallengeContent
{
"instructions": "Nutzen sie Ihren TAN-Generator und geben sie anschließend Ihre TAN ein.",
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
}
ChallengeContent
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
instructions | string | false | none | Textual description on how to perform authentication |
HHD | string | false | none | Textual representation of flicker code when using optical ChipTAN |
HHDUC | string | false | none | Textual representation of code when using FlickerTAN |
photo | string | false | none | Base64-encoded png of the mosaic photo to be displayed to the user when using PhotoTAN |
string | false | none | Base64-encoded PDF needed for the challenge |
Categorization
{
"category": "bills_electricity",
"parentCategory": "bills",
"displayName": "Strom",
"confidenceLevel": 0.8
}
Categorization
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | true | none | Unique category name of sales category |
systemName | string | false | none | Unique system name of sales category |
displayName | string | true | none | User friendly name of sales category |
parentCategory | string | false | none | If it is a subcategory, this field includes the name of the main category |
parent | string | false | none | If it is a subcategory, this field includes the system name of the main category |
tagScope | string | false | none | The scope of the tag |
tagType | string | false | none | The type of the tag |
tagId | string | false | none | Unique id of the tag |
tagVersion | string | false | none | The version of the tag |
ChangeUserDetails
{
"username": "demouser",
"firstname": "demo",
"lastname": "user"
}
ChangeUserDetails
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
username | string | false | none | The unique username |
firstname | string | false | none | The first name |
lastname | string | false | none | Last name |
CreateBankAccess
{
"d48744c0-132c-4ae4-a909-1ff771f61503": {
"providerId": "00000000-0000-0000-0000-000000000000",
"credentials": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
},
"sync": true,
"selectedBankProducts": [
"DE00123456789012345679"
]
}
}
CreateBankAccess
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additionalProperties | CreateBankAccessData | false | none | none |
CreateBankAccessBuilder
{
"id": "815251d6-c062-4f61-bec0-182bc14a48fb",
"providerId": "00000000-0000-0000-0000-000000000000",
"bankprodukte": [
{
"id": "DE89370400440532013000",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE89370400440532013000",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller"
}
]
}
CreateBankAccessBuilder
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | true | none | The ID of the access to create |
providerId | string(uuid) | true | none | The ID of the access provider (bank or service provider) according to the provider list |
bankprodukte | [SimpleProduct] | true | none | The banking products available in the access. |
CreateBankAccessData
{
"815251d6-c062-4f61-bec0-182bc14a48fb": {
"providerId": "00000000-0000-0000-0000-000000000000",
"credentials": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
},
"sync": true,
"selectedBankProducts": [
"DE00123456789012345679"
]
}
}
Create Bank Access Data
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
providerId | string(uuid) | false | none | The ID of the access provider (bank or service provider) according to the provider list |
credentials | Credentials | false | none | The Credentials object is a map of encrypted and Base64-encoded access data, corresponding to the provider's authentication fields. The Base64 encoding must not use line wrapping. The encryption method used is described in the chapter Encryption. The Credentials object is not required for REG/Protect tenants only. |
sync | boolean | false | none | Whether an automatic regular background update is to be performed or not |
selectedBankProducts | [string] | false | none | The set of selected bank products that should be fetched. |
ebics | boolean | false | none | Whether this credentials are for EBICS or not. |
hostId | string | false | none | Host-ID for EBICS as provided by the bank |
hostUrl | string | false | none | Host-URL for EBICS as provided by the bank |
CreateBulkTransferLegacy
{
"payments": [
{
"empfaenger": "UNICEF",
"verwendungszweck": "Spende UNICEF",
"iban": "DE57370205000000300000",
"bic": "BFSWDE33XXX",
"waehrung": "EUR",
"betrag": 150
},
{
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 75
}
],
"ausfuehrungsdatum": "2016-12-24",
"sicherheitsverfahrenKodierung": "1",
"tanMediumName": "Mobil",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/ueberweisung/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
credentials | Credentials | false | none | The Credentials object is a map of encrypted and Base64-encoded access data, corresponding to the provider's authentication fields. The Base64 encoding must not use line wrapping. The encryption method used is described in the chapter Encryption. The Credentials object is not required for REG/Protect tenants only. |
sicherheitsverfahrenKodierung | integer(int32) | false | none | Coding of the security procedure to use , see Bank product |
ausfuehrungsdatum | DateTime | false | none | This object represents a timestamp. Format: YYYY-MM-DD hh:mm:ss . Data will be interpreted according to the time zone Europe/Berlin. |
tanMediumName | string | false | none | The TAN medium to be used |
payments | [UeberweisungDetails] | true | none | none |
CreateTextTan
{
"tan": "4103582"
}
CreateTextTan
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tan | string | true | none | The TAN to confirm the transfers |
CreateToken
{
"grant_type": "client_credentials",
"scope": "http://banksapi.io/provider/read"
}
CreateToken
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
grant_type | string | true | none | Must be one of the following:
|
username | string | false | none | Username of user. REQUIRED if 'grant_type' is 'password'! |
password | string | false | none | Password of user. REQUIRED if 'grant_type' is 'password'! |
scope | string | false | none | Space-separated list of desired scopes. A scope names a class of access rules. It is a string, usually in the form of a (fictitious) URL. The available scopes depend on the scope of services booked. You therefore receive the scope list together with your cooperation agreement. |
Enumerated Values
Property | Value |
---|---|
grant_type | password |
grant_type | client_credentials |
CreateTransfer
{
"allOf": [
{
"allOf": [
{
"title": "UeberweisungDetails",
"required": [
"empfaenger",
"verwendungszweck",
"iban",
"betrag",
"waehrung"
],
"type": "object",
"properties": {
"empfaenger": {
"type": "string",
"description": "Receiver of the transfer"
},
"verwendungszweck": {
"type": "string",
"description": "Purpose of the transfer."
},
"iban": {
"type": "string",
"description": "IBAN of the recipient account"
},
"bic": {
"type": "string",
"description": "BIC of the recipient account"
},
"waehrung": {
"type": "string",
"description": "Currency of the transfer (Alphabetic Code ISO 4217)"
},
"betrag": {
"type": "number",
"description": "Transfer amount"
}
},
"description": "UeberweisungDetails are used in CreateTransfer and CreateBulkTransfer"
}
]
},
{
"title": "CreateTransfer",
"required": [
"empfaenger",
"verwendungszweck",
"iban",
"betrag",
"bic",
"waehrung"
],
"type": "object",
"properties": {
"credentials": {
"title": "Credentials",
"description": "The Credentials object is a map of encrypted and Base64-encoded access data, corresponding\nto the provider's authentication fields. The Base64 encoding must not use line wrapping.\n\nThe encryption method used is described in the chapter Encryption.\n\nThe Credentials object is not required for REG/Protect tenants only.",
"required": [
"userid",
"pin"
],
"type": "object",
"properties": {
"userid": {
"type": "string",
"example": "cust0815",
"description": "Encrypted and Base64-encoded username of the user at the bank, e.g. used in his online banking.<br/>EBICS: The User-ID (Teilnehmer-ID) as provided by the bank must be transmitted."
},
"pin": {
"type": "string",
"example": "verySecret",
"description": "Encrypted and Base64-encoded pin / password of the user at the bank, e.g. used in his online banking.<br/>EBICS: A pin must not be transmitted."
},
"partnerid": {
"type": "string",
"example": "PID0001",
"description": "Encrypted and Base64-encoded partner id (Kunden-ID) only required for EBICS."
},
"corporateid": {
"type": "string",
"example": 123456,
"description": "Encrypted and Base64-encoded corporate id required by some banks for business accounts."
}
},
"example": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
}
},
"sicherheitsverfahrenKodierung": {
"type": "integer",
"description": "Coding of the security procedure to use , see Bank product",
"format": "int32"
},
"ausfuehrungsdatum": {
"title": "DateTime",
"description": "This object represents a timestamp. Format: `YYYY-MM-DD hh:mm:ss`. Data will be interpreted according to the time zone Europe/Berlin.",
"type": "string",
"example": "2019-12-04 13:37:00"
},
"tanMediumName": {
"type": "string",
"description": "The TAN medium to be used"
}
},
"description": "Request data to start a transfer",
"example": {
"credentials": {
"userid": "mXlkGe+ukA ... MOfGsd8HY=",
"pin": "XO2jg ... 5GfhKpZmw="
},
"empfaenger": "netzpolitik.org e. V.",
"verwendungszweck": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"waehrung": "EUR",
"betrag": 1337.42,
"ausfuehrungsdatum": "2016-12-24",
"sicherheitsverfahrenKodierung": "1",
"tanMediumName": "Mobil"
}
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | UeberweisungDetails | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request data to start a transfer |
» credentials | Credentials | false | none | The Credentials object is a map of encrypted and Base64-encoded access data, corresponding to the provider's authentication fields. The Base64 encoding must not use line wrapping. The encryption method used is described in the chapter Encryption. The Credentials object is not required for REG/Protect tenants only. |
» sicherheitsverfahrenKodierung | integer(int32) | false | none | Coding of the security procedure to use , see Bank product |
» ausfuehrungsdatum | DateTime | false | none | This object represents a timestamp. Format: YYYY-MM-DD hh:mm:ss . Data will be interpreted according to the time zone Europe/Berlin. |
» tanMediumName | string | false | none | The TAN medium to be used |
CreateUser
{
"username": "demouser",
"password": "secret",
"firstname": "demo",
"lastname": "user"
}
CreateUser
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
username | string | true | none | The unique username |
password | string | true | none | The password of the user. The password policy is as follows: |
firstname | string | false | none | The first name |
lastname | string | false | none | Last name |
Credentials
{
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
}
Credentials
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
userid | string | true | none | Encrypted and Base64-encoded username of the user at the bank, e.g. used in his online banking. EBICS: The User-ID (Teilnehmer-ID) as provided by the bank must be transmitted. |
pin | string | true | none | Encrypted and Base64-encoded pin / password of the user at the bank, e.g. used in his online banking. EBICS: A pin must not be transmitted. |
partnerid | string | false | none | Encrypted and Base64-encoded partner id (Kunden-ID) only required for EBICS. |
corporateid | string | false | none | Encrypted and Base64-encoded corporate id required by some banks for business accounts. |
Customer
{
"bankzugaenge": {
"4000fda7-18af-463f-b694-bbafe5d23a48": {
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"sicherheitsverfahren": [
{
"kodierung": 980,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"name": "SMS_OTP",
"kodierung": "942",
"hinweis": "SMS OTP"
}
],
"relations": [
{
"rel": "start_sca",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}
]
}
},
"relations": [
{
"rel": "start_sca",
"href": "https://banksapi.io/customer/v2"
},
{
"rel": "authenticate",
"href": "https://banksapi.io/customer/v2"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/consent/{consent-id}"
},
{
"rel": "set_medium",
"href": "https://banksapi.io/customer/v2/consent/{consent-id}"
},
{
"rel": "self",
"href": "https://banksapi.io/customer/v2"
},
{
"rel": "get_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
},
{
"rel": "add_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
},
{
"rel": "delete_bankzugaenge",
"href": "https://banksapi.io/customer/v2/bankzugaenge"
}
]
}
Customer
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messages | [Message] | false | none | [Messages transport both errors and analysis events.] |
bankzugaenge | object | false | none | none |
relations | [Relation] | false | none | [A relation corresponds to an application or business transaction that is supported by the enclosing data object. Each application or business transaction has its own documentation, which describes the call as well as the return or the possible alternative answer scenarios in detail.] |
DateTime
"2019-12-04 13:37:00"
DateTime
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
DateTime | string | false | none | This object represents a timestamp. Format: YYYY-MM-DD hh:mm:ss . Data will be interpreted according to the time zone Europe/Berlin. |
DebitBaseInfo
{
"required": [
"creditorSchemeIdentification",
"requestedCollectionDate"
],
"type": "object",
"properties": {
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
},
"creditorSchemeIdentification": {
"type": "string",
"description": "The scheme identification of the creditor."
},
"requestedCollectionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested collection date of the debit."
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
business | boolean | false | none | Indicates whether the debit should be submitted for business or private customers. It is recommended to assign this field together with sequenceType on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time. |
sequenceType | DebitSequenceType | false | none | Sequence type of the debit. It is recommended to assign this field together with business on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.Sequence types: FRST - first debitRCUR - recurrent debitFNAL - final debitOOFF - one-off debit |
creditorSchemeIdentification | string | true | none | The scheme identification of the creditor. |
requestedCollectionDate | string(YYYY-MM-DD) | true | none | The requested collection date of the debit. |
DebitDetails
{
"allOf": [
{
"title": "DebitDetails",
"required": [
"amount",
"currency",
"purpose",
"endToEndId",
"debtorName",
"debtorIban",
"mandateIdentification",
"mandateDateOfSignature"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Debit amount"
},
"currency": {
"type": "string",
"description": "Currency of the debit"
},
"purpose": {
"type": "string",
"description": "Purpose of the debit."
},
"endToEndId": {
"type": "string",
"description": "End to End Identification of the debit."
},
"debtorName": {
"type": "string",
"description": "Name of the debtor."
},
"debtorIban": {
"type": "string",
"description": "IBAN of the debtor."
},
"debtorAccountNumber": {
"type": "string",
"description": "Account number of the debtor."
},
"debtorBankCode": {
"type": "string",
"description": "Bank code of the debtor."
},
"debtorBic": {
"type": "string",
"description": "BIC of the debtor."
},
"mandateIdentification": {
"type": "string",
"description": "Identification of the mandate."
},
"mandateDateOfSignature": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The signature date of the mandate."
},
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> The mixing of true / false is not allowed in the same request.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
},
"description": "DebitDetails are used in InitiateSingleDebit and InitiateBulkDebit"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number(double) | true | none | Debit amount |
currency | string | true | none | Currency of the debit |
purpose | string | true | none | Purpose of the debit. |
endToEndId | string | true | none | End to End Identification of the debit. |
debtorName | string | true | none | Name of the debtor. |
debtorIban | string | true | none | IBAN of the debtor. |
debtorAccountNumber | string | false | none | Account number of the debtor. |
debtorBankCode | string | false | none | Bank code of the debtor. |
debtorBic | string | false | none | BIC of the debtor. |
mandateIdentification | string | true | none | Identification of the mandate. |
mandateDateOfSignature | string(YYYY-MM-DD) | true | none | The signature date of the mandate. |
business | boolean | false | none | Indicates whether the debit should be submitted for business or private customers. The mixing of true / false is not allowed in the same request. It is recommended to assign this field together with sequenceType on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time. |
sequenceType | DebitSequenceType | false | none | Sequence type of the debit. It is recommended to assign this field together with business on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.Sequence types: FRST - first debitRCUR - recurrent debitFNAL - final debitOOFF - one-off debit |
DebitSequenceType
{
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
DebitSequenceType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
DebitSequenceType | string | false | none | Sequence type of the debit. It is recommended to assign this field together with business on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.Sequence types: FRST - first debitRCUR - recurrent debitFNAL - final debitOOFF - one-off debit |
Enumerated Values
Property | Value |
---|---|
DebitSequenceType | FRST |
DebitSequenceType | RCUR |
DebitSequenceType | FNAL |
DebitSequenceType | OOFF |
EntitySchema
{
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
displayName | string | true | none | Display name of the entity |
entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
id | string | true | none | Transaction UUID or USER UUID. |
userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
Field
{
"fieldkey": "pin",
"label": "Demo-Passwort",
"secret": true,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
}
Field
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fieldkey | string | true | none | Name of the parameter in the Credentials object |
label | string | true | none | Name of the field for the ad |
secret | boolean | true | none | Specifies whether the field contains a secret, for example, should be hidden or only optionally stored |
hint | string | false | none | An explanation text for display next to the field |
format | string | true | none | A regular expression (regex) pattern specifying the format for the input field |
Interaction
{
"messages": [
{
"code": "BA1110",
"level": "INFO",
"message": "TAN-Eingabe nötig",
"details": "Bitte geben Sie die TAN ein"
}
],
"timeout": "2017-08-31 16:08:55",
"relations": [
{
"rel": "submit_text_tan",
"href": "https://banksapi.io/customer/v2/ueberweisung/00000000-0000-0000-0000-000000000000/DE00123456789012345679/c612b2f3-f797-4f66-bec4-2064812c8736"
}
],
"challenge": {
"name": "chipTAN optisch",
"content": {
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
},
"decoupled": false,
"redirect": false
}
}
Interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messages | [Message] | true | none | Messages for TAN input or error texts for transfer |
relations | [Relation] | true | none | Relations for follow-up actions |
timeout | string(date) | false | none | Time to wait for follow-up actions |
challenge | Challenge | false | none | Contains information about TAN generation |
Investment
{
"name": "GENERAL ELECTRIC CO",
"menge": 167,
"handelseinheit": "STUECK",
"isin": "US3696041033",
"wkn": "851144",
"kurs": 24.32,
"kursDatum": "2021-10-15 15:31:20",
"waehrung": "USD",
"waehrungskurs": 1.18,
"handelsplatz": "Xetra",
"gesamtwert": 3441.9
}
Investment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Name of the deposit position, usually the name of the financial instrument |
menge | number | false | none | Amount with decimal places |
handelseinheit | string | false | none | Trade item, STUECK or NOMINAL |
isin | string | false | none | ISIN of the financial instrument |
wkn | string | false | none | WKN of the financial instrument |
kurs | number | false | none | Price in trading currency |
kursDatum | string(YYYY-MM-DD hh:mm:ss) | false | none | The quote date |
waehrung | string | false | none | Trading currency (Alphabetic Code ISO 4217) |
waehrungskurs | number | false | none | Conversion rate from EUR to the trading currency |
handelsplatz | string | false | none | Trading place of the price determination |
gesamtwert | number | false | none | Total value of the stock in the currency given in 'waehrung' as at the end of the financial statements |
Enumerated Values
Property | Value |
---|---|
handelseinheit | STUECK |
handelseinheit | NOMINAL |
IsoDateTime
"2019-12-04T13:37:00"
IsoDateTime
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
IsoDateTime | string | false | none | This object represents an ISO timestamp. Format: ISO 8601 in the form YYYY-MM-DDThh:mm:ss . Data will be interpreted according to the time zone Europe/Berlin. |
Job
{
"jobType": "SAMMLER",
"engine": "SCRAPER",
"prio": 1
}
Job
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
jobType | string | true | none | none |
engine | string | true | none | none |
prio | integer(int32) | false | none | none |
ListOfBankAccesses
{
"0b7f4783-4c93-4820-8e73-354a0f1c469e": {
"id": "0b7f4783-4c93-4820-8e73-354a0f1c469e",
"providerId": "00000000-0000-0000-0000-000000000000",
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"tanMedien": [
{
"name": "Mobil",
"medienklasse": "MOBIL",
"gueltigVon": "2021-10-15 09:13:44",
"gueltigBis": "2021-10-15 09:13:44"
}
],
"sicherheitsverfahren": [
{
"kodierung": 1,
"name": "mockTAN",
"hinweis": "Gib eine durch 2 teilbare Zahl ein"
},
{
"kodierung": 999,
"name": "iTAN",
"hinweis": "Gib die TAN \"12\" an."
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 999,
"name": "iTAN",
"hinweis": "Gib die TAN \"12\" an."
},
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e"
},
{
"rel": "delete_bankzugang",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e"
}
],
"status": "VOLLSTAENDIG",
"bankprodukte": [
{
"id": "DE00123456789012345679",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE00123456789012345679",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller",
"transferSupport": true,
"relations": [
{
"rel": "get_kontoumsaetze",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e/DE00123456789012345679/kontoumsaetze"
},
{
"rel": "initiate_single_transfer",
"href": "https://banksapi.io/customer/v2/payment/single-transfer"
},
{
"rel": "initiate_bulk_transfer",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer"
}
],
"messages": [],
"verfuegungsrahmen": 27365.56,
"verfuegterBetrag": 0
}
],
"sync": true
},
"4000fda7-18af-463f-b694-bbafe5d23a48": {
"status": "VOLLSTAENDIG",
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"sicherheitsverfahren": [
{
"kodierung": 2,
"name": "mTAN",
"hinweis": "mTAN"
},
{
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
}
],
"aktivesSicherheitsverfahren": {
"kodierung": 1,
"name": "Mock-TAN",
"hinweis": "Mock-TAN"
},
"aktualisierungszeitpunkt": "2016-06-10 17:17:40",
"timeout": "2016-12-24 13:37:42",
"messages": [],
"bankprodukte": [],
"relations": [],
"sync": false
}
}
ListOfBankAccesses
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additionalProperties | BankAccess | false | none | none |
MaxTransactions
{
"title": "MaxTransactions",
"description": "Indicator if transactions older than 90 days should be fetched<br/><br/> MaxTransactions: <li>`none` - default value</li> <li>`all` - all accounts</li> <li>`paymentAccounts` - only payment accounts</li>",
"enum": [
"none",
"all",
"paymentAccounts"
],
"type": "string"
}
MaxTransactions
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MaxTransactions | string | false | none | Indicator if transactions older than 90 days should be fetched MaxTransactions: none - default valueall - all accountspaymentAccounts - only payment accounts |
Enumerated Values
Property | Value |
---|---|
MaxTransactions | none |
MaxTransactions | all |
MaxTransactions | paymentAccounts |
MediaClass
"MOBILE"
MediaClass
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MediaClass | string | false | none | Media Classes: LISTE - Paper-TAN listGENERATOR - TAN generatorMOBILE - mobile phoneSECODER - TAN matrix generatorPUSHTAN - Push messageALL - All classesPROPRIETARY - Proprietary media |
Enumerated Values
Property | Value |
---|---|
MediaClass | LISTE |
MediaClass | GENERATOR |
MediaClass | MOBILE |
MediaClass | SECODER |
MediaClass | PUSHTAN |
MediaClass | ALL |
MediaClass | PROPRIETARY |
Message
[
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
]
Message
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
level | string | true | none | Level of the message, INFO or ERROR |
code | MessageCode | true | none | Code of the message Message Codes: BA999 - Internal error (ERROR)BA1000 - Maintenance work provider (ERROR)BA1001 - Provider no longer active (ERROR)BA1010 - Access blocked (ERROR)BA1011 - Access data incorrect (ERROR)BA1012 - Access data incomplete (ERROR)BA1013 - Account not activated (ERROR)BA1014 - Too many unsuccessful logins (ERROR)BA1020 - Account has improper permissions (ERROR)BA1051 - Bank access unavailable (ERROR)BA1052 - Bank access not fully available (ERROR)BA1053 - Access exceeded (ERROR)BA1060 - Product could not be updated (ERROR)BA1062 - Transactions could not be updated (ERROR)BA1063 - Depot positions could not be updated (ERROR)BA1064 - Message from bank (ERROR)BA1100 - Transfer data invalid (ERROR)BA1101 - Invalid TAN procedure (ERROR)BA1102 - Invalid TAN medium (ERROR)BA1103 - TAN invalid (ERROR)BA1104 - Bank transfer not possible (ERROR)BA1110 - TAN input required (INFO)BA1111 - The transfer has been completed successfully (INFO)BA1112 - The transfer has been submitted successfully (INFO)BA1200 - Debit data invalid (ERROR)BA1204 - Debit not supported (ERROR)BA1212 - The debit has been submitted successfully (INFO)BA2002 - There are notifications from your bank (INFO)BA2003 - Product type not supported (INFO)BA2004 - Bank access not activated yet (INFO)BA2021 - Missing permission (INFO)BA2062 - Transactions not available (INFO)BA3000 - SCA required (INFO)BA3005 - SCA redirect required (INFO)BA3010 - Select SCA method (INFO)BA3020 - Select SCA medium (INFO)BA3030 - SCA Challenge (INFO)BA3040 - SCA failed (ERROR)BA3060 - No supported SCA method found (ERROR) |
message | string | true | none | Error text for display by the end customer according to errors and messages |
details | string | false | none | Further information on the display at the end customer, which can change from message to message. |
Enumerated Values
Property | Value |
---|---|
level | INFO |
level | ERROR |
MessageCode
"BA999"
MessageCode
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MessageCode | string | false | none | Code of the message Message Codes: BA999 - Internal error (ERROR)BA1000 - Maintenance work provider (ERROR)BA1001 - Provider no longer active (ERROR)BA1010 - Access blocked (ERROR)BA1011 - Access data incorrect (ERROR)BA1012 - Access data incomplete (ERROR)BA1013 - Account not activated (ERROR)BA1014 - Too many unsuccessful logins (ERROR)BA1020 - Account has improper permissions (ERROR)BA1051 - Bank access unavailable (ERROR)BA1052 - Bank access not fully available (ERROR)BA1053 - Access exceeded (ERROR)BA1060 - Product could not be updated (ERROR)BA1062 - Transactions could not be updated (ERROR)BA1063 - Depot positions could not be updated (ERROR)BA1064 - Message from bank (ERROR)BA1100 - Transfer data invalid (ERROR)BA1101 - Invalid TAN procedure (ERROR)BA1102 - Invalid TAN medium (ERROR)BA1103 - TAN invalid (ERROR)BA1104 - Bank transfer not possible (ERROR)BA1110 - TAN input required (INFO)BA1111 - The transfer has been completed successfully (INFO)BA1112 - The transfer has been submitted successfully (INFO)BA1200 - Debit data invalid (ERROR)BA1204 - Debit not supported (ERROR)BA1212 - The debit has been submitted successfully (INFO)BA2002 - There are notifications from your bank (INFO)BA2003 - Product type not supported (INFO)BA2004 - Bank access not activated yet (INFO)BA2021 - Missing permission (INFO)BA2062 - Transactions not available (INFO)BA3000 - SCA required (INFO)BA3005 - SCA redirect required (INFO)BA3010 - Select SCA method (INFO)BA3020 - Select SCA medium (INFO)BA3030 - SCA Challenge (INFO)BA3040 - SCA failed (ERROR)BA3060 - No supported SCA method found (ERROR) |
Enumerated Values
Property | Value |
---|---|
MessageCode | BA999 |
MessageCode | BA1000 |
MessageCode | BA1001 |
MessageCode | BA1010 |
MessageCode | BA1011 |
MessageCode | BA1012 |
MessageCode | BA1013 |
MessageCode | BA1014 |
MessageCode | BA1020 |
MessageCode | BA1051 |
MessageCode | BA1052 |
MessageCode | BA1053 |
MessageCode | BA1060 |
MessageCode | BA1062 |
MessageCode | BA1063 |
MessageCode | BA1064 |
MessageCode | BA1100 |
MessageCode | BA1101 |
MessageCode | BA1102 |
MessageCode | BA1103 |
MessageCode | BA1104 |
MessageCode | BA1110 |
MessageCode | BA1111 |
MessageCode | BA1112 |
MessageCode | BA1200 |
MessageCode | BA1204 |
MessageCode | BA1212 |
MessageCode | BA2002 |
MessageCode | BA2003 |
MessageCode | BA2004 |
MessageCode | BA2021 |
MessageCode | BA2062 |
MessageCode | BA3000 |
MessageCode | BA3005 |
MessageCode | BA3010 |
MessageCode | BA3020 |
MessageCode | BA3030 |
MessageCode | BA3040 |
MessageCode | BA3060 |
MessageLevel
"ERROR"
MessageLevel
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MessageLevel | string | false | none | Level of the message, INFO or ERROR |
Enumerated Values
Property | Value |
---|---|
MessageLevel | INFO |
MessageLevel | ERROR |
PaymentInitializationDetails
{
"required": [
"provider",
"product"
],
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Provider to initiate the payment from",
"format": "uuid"
},
"credentials": {
"title": "Credentials",
"description": "The Credentials object is a map of encrypted and Base64-encoded access data, corresponding\nto the provider's authentication fields. The Base64 encoding must not use line wrapping.\n\nThe encryption method used is described in the chapter Encryption.\n\nThe Credentials object is not required for REG/Protect tenants only.",
"required": [
"userid",
"pin"
],
"type": "object",
"properties": {
"userid": {
"type": "string",
"example": "cust0815",
"description": "Encrypted and Base64-encoded username of the user at the bank, e.g. used in his online banking.<br/>EBICS: The User-ID (Teilnehmer-ID) as provided by the bank must be transmitted."
},
"pin": {
"type": "string",
"example": "verySecret",
"description": "Encrypted and Base64-encoded pin / password of the user at the bank, e.g. used in his online banking.<br/>EBICS: A pin must not be transmitted."
},
"partnerid": {
"type": "string",
"example": "PID0001",
"description": "Encrypted and Base64-encoded partner id (Kunden-ID) only required for EBICS."
},
"corporateid": {
"type": "string",
"example": 123456,
"description": "Encrypted and Base64-encoded corporate id required by some banks for business accounts."
}
},
"example": {
"userid": "mOd2uKYr+2 ... TWOPCAt5zP",
"pin": "Hhnc+aW/eM ... 7F+XRSHasW"
}
},
"product": {
"type": "string",
"description": "Product to initiate the payment from"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
provider | string(uuid) | true | none | Provider to initiate the payment from |
credentials | Credentials | false | none | The Credentials object is a map of encrypted and Base64-encoded access data, corresponding to the provider's authentication fields. The Base64 encoding must not use line wrapping. The encryption method used is described in the chapter Encryption. The Credentials object is not required for REG/Protect tenants only. |
product | string | true | none | Product to initiate the payment from |
Consent
{
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"title": "Message",
"required": [
"level",
"code",
"message"
],
"type": "object",
"properties": {
"level": {
"type": "string",
"description": "Level of the message, INFO or ERROR",
"enum": [
"INFO",
"ERROR"
]
},
"code": {
"title": "MessageCode",
"type": "string",
"description": "Code of the message<br/><br/>Message Codes: <li>`BA999` - Internal error (ERROR)</li> <li>`BA1000` - Maintenance work provider (ERROR)</li> <li>`BA1001` - Provider no longer active (ERROR)</li> <li>`BA1010` - Access blocked (ERROR)</li> <li>`BA1011` - Access data incorrect (ERROR)</li> <li>`BA1012` - Access data incomplete (ERROR)</li> <li>`BA1013` - Account not activated (ERROR)</li> <li>`BA1014` - Too many unsuccessful logins (ERROR)</li> <li>`BA1020` - Account has improper permissions (ERROR)</li> <li>`BA1051` - Bank access unavailable (ERROR)</li> <li>`BA1052` - Bank access not fully available (ERROR)</li> <li>`BA1053` - Access exceeded (ERROR)</li> <li>`BA1060` - Product could not be updated (ERROR)</li> <li>`BA1062` - Transactions could not be updated (ERROR)</li> <li>`BA1063` - Depot positions could not be updated (ERROR)</li> <li>`BA1064` - Message from bank (ERROR)</li> <li>`BA1100` - Transfer data invalid (ERROR)</li> <li>`BA1101` - Invalid TAN procedure (ERROR)</li> <li>`BA1102` - Invalid TAN medium (ERROR)</li> <li>`BA1103` - TAN invalid (ERROR)</li> <li>`BA1104` - Bank transfer not possible (ERROR)</li> <li>`BA1110` - TAN input required (INFO)</li> <li>`BA1111` - The transfer has been completed successfully (INFO)</li> <li>`BA1112` - The transfer has been submitted successfully (INFO)</li> <li>`BA1200` - Debit data invalid (ERROR)</li> <li>`BA1204` - Debit not supported (ERROR)</li> <li>`BA1212` - The debit has been submitted successfully (INFO)</li> <li>`BA2002` - There are notifications from your bank (INFO)</li> <li>`BA2003` - Product type not supported (INFO)</li> <li>`BA2004` - Bank access not activated yet (INFO)</li> <li>`BA2021` - Missing permission (INFO)</li> <li>`BA2062` - Transactions not available (INFO)</li> <li>`BA3000` - SCA required (INFO)</li> <li>`BA3005` - SCA redirect required (INFO)</li> <li>`BA3010` - Select SCA method (INFO)</li> <li>`BA3020` - Select SCA medium (INFO)</li> <li>`BA3030` - SCA Challenge (INFO)</li> <li>`BA3040` - SCA failed (ERROR)</li> <li>`BA3060` - No supported SCA method found (ERROR)</li>",
"enum": [
"BA999",
"BA1000",
"BA1001",
"BA1010",
"BA1011",
"BA1012",
"BA1013",
"BA1014",
"BA1020",
"BA1051",
"BA1052",
"BA1053",
"BA1060",
"BA1062",
"BA1063",
"BA1064",
"BA1100",
"BA1101",
"BA1102",
"BA1103",
"BA1104",
"BA1110",
"BA1111",
"BA1112",
"BA1200",
"BA1204",
"BA1212",
"BA2002",
"BA2003",
"BA2004",
"BA2021",
"BA2062",
"BA3000",
"BA3005",
"BA3010",
"BA3020",
"BA3030",
"BA3040",
"BA3060"
],
"example": "BA999"
},
"message": {
"type": "string",
"description": "**Error** text for display by the end customer according to **errors and messages**"
},
"details": {
"type": "string",
"description": "Further information on the display at the end customer, which can change from message to message."
}
},
"example": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"description": "Messages transport both errors and analysis events."
},
"description": "Messages transport both errors and analysis events."
},
"scaMethods": {
"type": "array",
"items": {
"title": "SecurityProcedureEn",
"description": "The security procedure determines how end users authenticate their transaction(s).",
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Key to the security procedure"
},
"name": {
"type": "string",
"description": "Human readable name for the security procedure"
},
"hint": {
"type": "string",
"description": "Human readable reference to the security procedure"
}
},
"example": {
"code": 4711,
"name": "mTAN",
"hint": "Ihre mTAN"
}
},
"description": "List of possible sca methods for this account."
},
"scaMediums": {
"type": "array",
"items": {
"title": "TanMediumEn",
"description": "This object describes a TAN medium.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the TAN medium such as \"Mobile\""
},
"mediaClass": {
"description": "Media classes: <li>`LIST` - Paper-TAN list</li> <li>`GENERATOR` - TAN generator</li> <li>`MOBILE` - mobile phone</li> <li>`SECODER` - TAN matrix generator</li> <li>`PUSHTAN` - Push message</li> <li>`ALL` - All classes</li> <li>`PROPRIETARY` - Proprietary media class</li>",
"type": "string",
"enum": [
"LIST",
"GENERATOR",
"MOBILE",
"SECODER",
"PUSHTAN",
"ALL",
"PROPRIETARY"
]
},
"validFrom": {
"type": "string",
"format": "YYYY-MM-DD hh:mm:ss",
"description": "Date and time from which the TAN medium is valid."
},
"validTo": {
"type": "string",
"format": "YYYY-MM-DD hh:mm:ss",
"description": "Date and time until which the TAN medium is valid."
}
},
"example": {
"validFrom": "2016-01-01 00:00:00",
"validTo": "2016-12-31 23:59:59",
"name": "+49-1111-11111",
"mediaClass": "MOBILE"
}
},
"description": "List of possible sca mediums for this account."
},
"challenge": {
"title": "Challenge",
"required": [
"name",
"content"
],
"description": "Contains information about TAN generation",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the TAN procedure"
},
"content": {
"title": "ChallengeContent",
"type": "object",
"properties": {
"instructions": {
"type": "string",
"description": "Textual description on how to perform authentication",
"example": "Nutzen sie Ihren TAN-Generator und geben sie anschließend Ihre TAN ein."
},
"HHD": {
"type": "string",
"description": "Textual representation of flicker code when using optical ChipTAN",
"example": "11048714955205123456789F14302C303107"
},
"HHDUC": {
"type": "string",
"description": "Textual representation of code when using FlickerTAN",
"example": "1234567891234567891234567890,01"
},
"photo": {
"type": "string",
"description": "Base64-encoded png of the mosaic photo to be displayed to the user when using PhotoTAN",
"example": "data:image/png;base64,iVBORw0KGgoAAA..."
},
"PDF": {
"type": "string",
"description": "Base64-encoded PDF needed for the challenge",
"example": "data:application/pdf;base64,JVBERi0xLjQNCj..."
}
},
"description": "Challenge data needed to perform the authentication with the chosen authentication method",
"example": {
"instructions": "Nutzen sie Ihren TAN-Generator und geben sie anschließend Ihre TAN ein.",
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
}
},
"decoupled": {
"type": "boolean",
"description": "Indicates whether the SCA approach is decoupled, thus not expecting `scaAuthenticationData` within [Submit SCA Data](#/components/schemas/SubmitScaData), but just an empty object to confirm the user indicated that he meanwhile confirmed the activity, e.g. through the bank app, independently."
},
"redirect": {
"type": "boolean",
"description": "Indicates whether the SCA approach is redirect."
}
},
"example": {
"challenge": {
"name": "chipTAN optisch",
"content": {
"instructions": "Nutzen sie Ihren TAN-Generator und geben sie anschließend Ihre TAN ein.",
"HHD": "11048714955205123456789F14302C303107",
"HHDUC": "1234567891234567891234567890,01"
},
"decoupled": false,
"redirect": false
}
}
},
"relations": {
"type": "array",
"items": {
"title": "Relation",
"description": "A relation corresponds to an application or business transaction that is supported by the enclosing data object. Each application or business transaction has its own documentation, which describes the call as well as the return or the possible alternative answer scenarios in detail.",
"required": [
"rel",
"href"
],
"type": "object",
"properties": {
"rel": {
"type": "string",
"description": "Machine readable string to differentiate the relations",
"example": "self"
},
"href": {
"type": "string",
"description": "URL where the relation links to",
"example": "https://banksapi.io:443/providers/v2/00000000-0000-0000-0000-000000000000"
}
},
"example": {
"rel": "self",
"href": "https://banksapi.io:443/providers/v2/00000000-0000-0000-0000-000000000000"
}
},
"description": "The relations available for the payment"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messages | [Message] | false | none | Messages transport both errors and analysis events. |
scaMethods | [SecurityProcedureEn] | false | none | List of possible sca methods for this account. |
scaMediums | [TanMediumEn] | false | none | List of possible sca mediums for this account. |
challenge | Challenge | false | none | Contains information about TAN generation |
relations | [Relation] | false | none | The relations available for the payment |
Product
{
"id": "DE00123456789012345679",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE00123456789012345679",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller",
"transferSupport": true,
"relations": [
{
"rel": "get_kontoumsaetze",
"href": "https://banksapi.io/customer/v2/bankzugaenge/0b7f4783-4c93-4820-8e73-354a0f1c469e/DE00123456789012345679/kontoumsaetze"
},
{
"rel": "initiate_single_transfer",
"href": "https://banksapi.io/customer/v2/payment/single-transfer"
},
{
"rel": "initiate_bulk_transfer",
"href": "https://banksapi.io/customer/v2/payment/bulk-transfer"
}
],
"messages": [],
"verfuegungsrahmen": 27365.56,
"verfuegterBetrag": 0
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SimpleProduct | false | none | Banking product (e.g. account) with only a subset available product data |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Banking product with all available fields. A simpler version of this object is |
» status | string | false | none | Retrieval status for product data |
» aktualisierungszeitpunkt | string(YYYY-MM-DD hh:mm:ss) | true | none | Time of the last product update at the bank/service provider |
» transferSupport | boolean | false | none | Indicates if transfers are supported for this bank product or not. |
» bulkTransferSupport | boolean | false | none | Indicates if bulk transfers are supported for this bank product or not. |
» relations | [Relation] | true | none | List of relations that are available as next steps. |
» messages | [Message] | false | none | List of messages that show which steps are required to continue further. |
» saldoDatenquelle | string | false | none | The source of the data for this depots balance. Only for products of type depot. |
» ueberziehungslimit | number | false | none | The overdraft limit for a bank account. Only for products that have an overdraft limit. |
» verfuegungsrahmen | number | false | none | Contains the available balance (usually overdraft limit + balance) |
» verfuegterBetrag | number | false | none | Contains the available balance (usually overdraft limit + balance) |
» vertragsnummer | string | false | none | The contract number for home savings contracts. |
» rating | number | false | none | none |
» vertragssumme | number | false | none | The contract amount for home savings contracts. |
» vertragstyp | string | false | none | The type of home savings contract. |
» sparzustand | boolean | false | none | Shows if the home savings contract is currently in saving state (true) or not (false) |
» vertragsstatus | string | false | none | The current state of a home savings contract. |
» sparzinssatz | number | false | none | The savings rate of a home savings contract. |
» schuldzinssatz | number | false | none | The debt interest rate of a home savings contract. |
» vertragsDatum | string(YYYY-MM-DD hh:mm:ss) | false | none | The date of a home savings contract. |
Enumerated Values
Property | Value |
---|---|
saldoDatenquelle | SWIFTMSG |
saldoDatenquelle | SONSTIGE |
ProductCategories
[
"GIROKONTO",
"TAGESGELDKONTO"
]
ProductCategories
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ProductCategories | [ProductCategory] | false | none | A list of product categories |
ProductCategory
"GIROKONTO"
ProductCategory
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ProductCategory | string | false | none | Categories:GIROKONTO - Checking account: Account for payment transactions, as well as for the settlement / processing of eg deposit-related bookings, fees, interest, etc.SPARKONTO - Savings account: Interest-bearing account with an unlimited term and fixed period of notice, as a rule an immediate withdrawal is limited to a maximum valueFESTGELDKONTO - Fixed deposit account: Interest-bearing account with a contractually agreed termKREDITKONTO - Credit account: Account for managing the loan balanceTAGESGELDKONTO - Overnight money account: Interest-based account for an investment with daily availabilityBAUSPARVERTRAG - Building loan account: Savings and possibly loan account for a home savings contractSONSTIGESKONTO - Account that can not be assigned by the provider or our product heuristicKREDITKARTE - Credit card: Payment card with credit line, billing takes place via an agreed current account / clearing accountKREDITKARTENKONTO - Credit card acount: SONSTIGEKARTE - Other card: Payment card that can not be assigned by the provider or our product heuristicDEPOT - Brokerage accountSONSTIGESPRODUKT - Bank product that can not be assigned by the provider or our product heuristic |
Enumerated Values
Property | Value |
---|---|
ProductCategory | GIROKONTO |
ProductCategory | SPARKONTO |
ProductCategory | FESTGELDKONTO |
ProductCategory | KREDITKONTO |
ProductCategory | TAGESGELDKONTO |
ProductCategory | BAUSPARVERTRAG |
ProductCategory | SONSTIGESKONTO |
ProductCategory | KREDITKARTE |
ProductCategory | KREDITKARTENKONTO |
ProductCategory | SONSTIGEKARTE |
ProductCategory | DEPOT |
ProductCategory | SONSTIGESPRODUKT |
Provider
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Demo Provider",
"group": "demo",
"blz": "12345678",
"bic": "DEMO1234",
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/providers/v2/00000000-0000-0000-0000-000000000000"
},
{
"rel": "logo",
"href": "https://banksapi.io/providers/v2/demo.svg"
}
],
"capabilities": [
"KONTEN",
"KARTEN",
"DEPOTS"
],
"channels": [
[
"GIROKONTO"
],
[
"KREDITKARTE",
"TAGESGELDKONTO"
]
],
"authenticationInfo": {
"loginHint": "Der Demo Provider bietet drei Zugänge demo1/demo1, demo2/demo2 und demo3/demo3",
"fields": [
{
"fieldkey": "userid",
"label": "Demo-User",
"secret": false,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
},
{
"fieldkey": "pin",
"label": "Demo-Passwort",
"secret": true,
"hint": "demo1, demo2 oder demo3",
"format": "^.{1,50}$"
}
]
}
}
Provider
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Unique key for this provider in BANKSapi Banks/Connect |
name | string | true | none | Name for the provider, not unique |
consumerRelevant | boolean | true | none | Whether this provider should be displayed to the customer for the provider selection or not |
group | string | false | none | Grouping term for providers. If several providers have the same group the same logo could be displayed, e.g. |
blz | string | false | none | The bank code of the bank was the primary key for banks in Germany before SEPA |
bic | string | false | none | The BIC (Business Identifier Code) of the bank |
relations | [Relation] | true | none | Relations indicate which operation the provider resource supports |
capabilities | [string] | true | none | Shows which technical objects with the Provider on the BANKS/Connect Customer API are available |
channels | [ProductCategories] | false | none | Shows which product categories are queried by BANKSapi to the bank through which channel. Items in the same array are queried through the same channel, e.g. FinTS. If you are requesting products that are listed in the same array (going through the same channel), you might save on a number of SCA processes, because there will be at least one SCA per channel at least every 180 days. |
authenticationInfo | AuthenticationInfo | true | none | The AuthenticationInfo object provides detailed information about the sign-in process to the provider. With the included data, it is possible to optimize the user experience of the own application in the provider system, which on the one hand reduce the nerve factor for the user but can also minimize their own support expenses due to login problems. |
ProviderCoreData
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Demo Provider",
"group": "demo",
"blz": "12345678",
"bic": "DEMO1234",
"logo": "https://banksapi.io/providers/v2/demo.svg"
}
]
ProviderCoreData
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Unique key for this provider in BANKSapi Banks/Connect |
name | string | true | none | Name for the provider, not unique |
group | string | false | none | Grouping term for providers. If several providers have the same group the same logo could be displayed, e.g. |
blz | string | false | none | The bank code of the bank was the primary key for banks in Germany before SEPA |
bic | string | false | none | The BIC (Business Identifier Code) of the bank |
logo | string | false | none | Returns the path to the provider logo in SVG-format |
ProviderJobStatistics
[
{
"logo": "demo",
"latestSuccessDate": "2023-09-20 11:21:02",
"averageDuration": 29962,
"successRate": 1
},
{
"logo": "sparkasse",
"latestSuccessDate": "2023-09-20 11:28:57",
"averageDuration": 54186,
"successRate": 0.99
}
]
ProviderJobStatistics
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
logo | string | true | none | Logo of the provider. |
latestSuccessDate | string(YYYY-MM-DD hh:mm:ss) | true | none | Date of the latest successful data job for providers with the corresponding logo. |
averageDuration | number | true | none | The average duration of data jobs in ms for providers with the corresponding logo. |
successRate | number | true | none | The success rate of data jobs for providers with the corresponding logo. |
ProviderEbicsInfo
{
"hostId": "HOSTIDXY",
"hostUrl": "https://ebics.bank.com/ebics"
}
ProviderEbicsInfo
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hostId | string | false | none | The EBICS host ID of the bank |
hostUrl | string | false | none | The EBICS host URL of the bank |
CheckInstantPaymentSupport
{
"type": "object",
"properties": {
"recipientIbans": {
"type": "array",
"description": "The recipient's IBANs. If not provided, it will only be determined if the provider supports sending instant payments.",
"items": {
"type": "string"
},
"example": [
"DE92123456789876543210"
]
},
"transferType": {
"type": "string",
"description": "The type of transfer. This type is required if `recipientIbans` is not provided.",
"enum": [
"SINGLE",
"BULK"
],
"example": "SINGLE"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
recipientIbans | [string] | false | none | The recipient's IBANs. If not provided, it will only be determined if the provider supports sending instant payments. |
transferType | string | false | none | The type of transfer. This type is required if recipientIbans is not provided. |
Enumerated Values
Property | Value |
---|---|
transferType | SINGLE |
transferType | BULK |
InstantPaymentSupportResult
{
"type": "object",
"required": [
"senderProviderId",
"transferType",
"instantPaymentSupported"
],
"properties": {
"senderProviderId": {
"type": "string",
"description": "The ID of the provider sending the instant payment.",
"example": "00000000-0000-0000-0000-000000000000"
},
"recipientIbans": {
"type": "array",
"description": "The IBANs of the recipients.",
"items": {
"type": "string"
},
"example": [
"DE92123456789876543210"
]
},
"transferType": {
"type": "string",
"description": "The type of transfer.",
"enum": [
"SINGLE",
"BULK"
],
"example": "SINGLE"
},
"instantPaymentSupported": {
"type": "boolean",
"description": "Indicates if instant payment is supported.",
"example": true
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
senderProviderId | string | true | none | The ID of the provider sending the instant payment. |
recipientIbans | [string] | false | none | The IBANs of the recipients. |
transferType | string | true | none | The type of transfer. |
instantPaymentSupported | boolean | true | none | Indicates if instant payment is supported. |
Enumerated Values
Property | Value |
---|---|
transferType | SINGLE |
transferType | BULK |
Relation
{
"rel": "self",
"href": "https://banksapi.io:443/providers/v2/00000000-0000-0000-0000-000000000000"
}
Relation
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rel | string | true | none | Machine readable string to differentiate the relations |
href | string | true | none | URL where the relation links to |
RelationSchema
{
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
href | string | true | none | Link of the relation |
rel | string | true | none | Name of the relation |
ScaInteraction
{
"tanMedien": [
{
"gueltigVon": "2016-06-03 17:17:41",
"gueltigBis": "2016-06-03 17:17:41",
"name": "Mobil",
"medienklasse": "MOBIL"
}
],
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA benötigt",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"relations": [
{
"rel": "set_method",
"href": "https://banksapi.io/v2/customer/consent/1345340218050910215PSDDE-BAFIN-152070CO4960JJ"
}
]
}
ScaInteraction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messages | [Message] | true | none | Messages transport both errors and analysis events. |
relations | [Relation] | true | none | The relations available for bank access |
tanMedien | [TanMedium] | false | none | List of available TAN media in the access |
SecurityProcedure
{
"kodierung": 4711,
"name": "mTAN",
"hinweis": "Ihre mTAN"
}
SecurityProcedure
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kodierung | integer | false | none | Key to the security procedure |
name | string | false | none | Human readable name for the security procedure |
hinweis | string | false | none | Human readable reference to the security procedure |
SecurityProcedureEn
{
"code": 4711,
"name": "mTAN",
"hint": "Ihre mTAN"
}
SecurityProcedureEn
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | integer | false | none | Key to the security procedure |
name | string | false | none | Human readable name for the security procedure |
hint | string | false | none | Human readable reference to the security procedure |
SecurityProcedures
{
"kodierung": 980,
"name": "mTAN",
"hinweis": "mTAN"
}
SecurityProcedures
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kodierung | integer(int32) | true | none | Code of the SCA method |
name | string | true | none | Human-readable name of the SCA method |
hinweis | string | true | none | Additional helpful hint that must be displayed to the user |
SimpleProduct
{
"id": "DE89370400440532013000",
"status": "VOLLSTAENDIG",
"bezeichnung": "Tagesgeldkonto",
"kategorie": "TAGESGELDKONTO",
"saldo": 27365.56,
"aktualisierungszeitpunkt": "2021-10-15 09:13:44",
"saldoDatum": "2021-10-15 00:00:00",
"waehrung": "EUR",
"kontonummer": "9012345679",
"iban": "DE89370400440532013000",
"bic": "XXX12345678",
"blz": "12345678",
"kreditinstitut": "Demo Provider",
"inhaber": "Fritz Testmüller"
}
Simple Product
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Identifier for the bank product |
bezeichnung | string | false | none | Name of bank product according to bank/service provider |
kategorie | string | false | none | Categories:GIROKONTO - Checking account: Account for payment transactions, as well as for the settlement / processing of eg deposit-related bookings, fees, interest, etc.SPARKONTO - Savings account: Interest-bearing account with an unlimited term and fixed period of notice, as a rule an immediate withdrawal is limited to a maximum valueFESTGELDKONTO - Fixed deposit account: Interest-bearing account with a contractually agreed termKREDITKONTO - Credit account: Account for managing the loan balanceTAGESGELDKONTO - Overnight money account: Interest-based account for an investment with daily availabilityBAUSPARVERTRAG - Building loan account: Savings and possibly loan account for a home savings contractSONSTIGESKONTO - Account that can not be assigned by the provider or our product heuristicKREDITKARTE - Credit card: Payment card with credit line, billing takes place via an agreed current account / clearing accountSONSTIGEKARTE - Other card: Payment card that can not be assigned by the provider or our product heuristicDEPOT - Brokerage accountSONSTIGESPRODUKT - Bank product that can not be assigned by the provider or our product heuristic |
saldo | number | false | none | Balance/value of bank product (with two decimal places) |
saldoDatum | string(YYYY-MM-DD hh:mm:ss) | false | none | Balance/value date as reported by the bank/service provider |
waehrung | string | false | none | Currency in which the bank product is valued/managed (Alphabetic Code ISO 4217) |
salden | object | false | none | A map where the key is the currency and the value is a Balance object. This field is only returned for multicurrency accounts. |
» additionalProperties | Balance | false | none | none |
kontonummer | string | true | none | The account or credit card number. The credit card number may not be issued completely, but with a star e.g. "3223 ****** 4554" |
iban | string | false | none | The IBAN (International Bank Account Number) |
bic | string | false | none | The BIC (Business Identifier Code) |
blz | string | false | none | The (state local) bank code |
kreditinstitut | string | false | none | Name of financial institution |
inhaber | string | false | none | Full name of account holder |
Enumerated Values
Property | Value |
---|---|
kategorie | GIROKONTO |
kategorie | SPARKONTO |
kategorie | FESTGELDKONTO |
kategorie | KREDITKONTO |
kategorie | TAGESGELDKONTO |
kategorie | BAUSPARVERTRAG |
kategorie | VERSICHERUNG |
kategorie | SONSTIGESKONTO |
kategorie | AMERICANEXPRESS |
kategorie | MASTERCARD |
kategorie | VISA |
kategorie | DINERSCLUB |
kategorie | SONSTIGEKARTE |
kategorie | DEPOT |
kategorie | KREDITKARTENKONTO |
SingleDebitData
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | PaymentInitializationDetails | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request data to start a debit |
» debitDetails | DebitDetails | true | none | none |
SingleDebitDataBankAccess
{
"allOf": [
{
"required": [
"creditorSchemeIdentification",
"requestedCollectionDate"
],
"type": "object",
"properties": {
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer (here) and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
},
"creditorSchemeIdentification": {
"type": "string",
"description": "The scheme identification of the creditor."
},
"requestedCollectionDate": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The requested collection date of the debit."
}
}
},
{
"description": "Request data to start a single debit",
"required": [
"debitDetails"
],
"title": "SingleDebitDataBankAccess",
"type": "object",
"properties": {
"debitDetails": {
"allOf": [
{
"title": "DebitDetails",
"required": [
"amount",
"currency",
"purpose",
"endToEndId",
"debtorName",
"debtorIban",
"mandateIdentification",
"mandateDateOfSignature"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"format": "double",
"description": "Debit amount"
},
"currency": {
"type": "string",
"description": "Currency of the debit"
},
"purpose": {
"type": "string",
"description": "Purpose of the debit."
},
"endToEndId": {
"type": "string",
"description": "End to End Identification of the debit."
},
"debtorName": {
"type": "string",
"description": "Name of the debtor."
},
"debtorIban": {
"type": "string",
"description": "IBAN of the debtor."
},
"debtorAccountNumber": {
"type": "string",
"description": "Account number of the debtor."
},
"debtorBankCode": {
"type": "string",
"description": "Bank code of the debtor."
},
"debtorBic": {
"type": "string",
"description": "BIC of the debtor."
},
"mandateIdentification": {
"type": "string",
"description": "Identification of the mandate."
},
"mandateDateOfSignature": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "The signature date of the mandate."
},
"business": {
"type": "boolean",
"description": "Indicates whether the debit should be submitted for business or private customers.<br/><br/> The mixing of true / false is not allowed in the same request.<br/><br/> It is recommended to assign this field together with `sequenceType` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time."
},
"sequenceType": {
"title": "DebitSequenceType",
"description": "Sequence type of the debit.<br/><br/> It is recommended to assign this field together with `business` on the top layer and not in debitDetails. Moreover, it is not allowed to assign these fields on both levels at the same time.<br/><br/> Sequence types: <li>`FRST` - first debit</li> <li>`RCUR` - recurrent debit</li> <li>`FNAL` - final debit</li> <li>`OOFF` - one-off debit</li>",
"enum": [
"FRST",
"RCUR",
"FNAL",
"OOFF"
],
"type": "string"
}
},
"description": "DebitDetails are used in InitiateSingleDebit and InitiateBulkDebit"
}
]
}
}
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Request data to start a single debit |
» debitDetails | DebitDetails | true | none | none |
SingleDebitResult
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-debit/07788639-abd7-4009-9c9d-2d79079f3f26"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/single-debit/07788639-abd7-4009-9c9d-2d79079f3f26/consent"
}
],
"debit": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"business": false,
"sequenceType": "OOFF",
"creditorSchemeIdentification": "GlauebigerId",
"requestedCollectionDate": "2022-02-22",
"debitDetails": {
"amount": 1337.42,
"currency": "EUR",
"purpose": "Verwendungszweck",
"endToEndId": "123",
"debtorName": "Max Mustermann",
"debtorIban": "DE62430609671149278400",
"debtorAccountNumber": "1149278400",
"debtorBankCode": "43060967",
"debtorBic": "GENODEM1GLS",
"mandateIdentification": "MandatsId",
"mandateDateOfSignature": "2022-02-02"
}
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Current status of debit |
» debit | any | true | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | DebitBaseInfo | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» provider | string(uuid) | true | none | none |
»»» product | string | true | none | none |
»»» paymentId | string(uuid) | true | none | Unique id generated for each payment. |
»»» ebics | boolean | true | none | Whether this debit was submitted via EBICS or not. |
»»» debitDetails | DebitDetails | true | none | none |
SingleTransferData
{
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"credentials": {
"userid": "mXlkGe+ukAEs+2iH ... D/MOfGsd8HY=",
"pin": "XO2jgZ ... 5GfhKpZmw="
},
"product": "DE89370400440532013000",
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | PaymentInitializationDetails | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | BasicSingleTransferData | false | none | none |
SingleTransferResult
{
"messages": [
{
"level": "INFO",
"code": "BA3010",
"message": "SCA Methode auswählen",
"details": "Bitte wählen Sie eine SCA-Methode aus"
}
],
"scaMethods": [
{
"code": 2,
"name": "mTAN",
"hint": "mTAN"
},
{
"code": 1,
"name": "Mock-TAN",
"hint": "Mock-TAN"
}
],
"relations": [
{
"rel": "self",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7"
},
{
"rel": "set_method",
"href": "https://banksapi.io/customer/v2/payment/single-transfer/3e97fa51-ce7b-42a0-9101-50fd67dbc3e7/consent"
}
],
"transfer": {
"provider": "ca650b48-3edc-45f4-938d-d21df8cba761",
"product": "DE89370400440532013000",
"paymentId": "df5afff2-43e7-4fca-95fa-0d06251c9ce9",
"ebics": false,
"instant": false,
"requestedExecutionDate": "2024-09-19",
"transferDetails": {
"recipient": "netzpolitik.org e. V.",
"purpose": "Spende netzpolitik.de",
"iban": "DE62430609671149278400",
"bic": "GENODEM1GLS",
"currency": "EUR",
"amount": 1337.42,
"endToEndId": "be7649876d5f439886fa816993ac9f9f"
}
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | Current status of transfer |
» transfer | object | true | none | none |
»» provider | string(uuid) | true | none | none |
»» product | string | true | none | none |
»» paymentId | string(uuid) | true | none | Unique id generated for each payment. |
»» ebics | boolean | true | none | Whether this transfer was submitted via EBICS or not. |
»» instant | boolean | false | none | Whether this transfer was initiated as an instant payment or not. |
»» requestedExecutionDate | string(YYYY-MM-DD) | false | none | The requested execution date of the transfer. Please note that transfers with execution date may not be supported depending on the bank. |
»» transferDetails | TransferDetails | true | none | TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer |
SubmitScaData
{
"chosenScaMethodId": "942"
}
SubmitScaData
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
chosenScaMethodId | string | false | none | Code of the SCA method |
chosenScaMedia | string | false | none | Name of the SCA medium |
scaAuthenticationData | string | false | none | none |
SystemName
"BANKFINANCE"
SystemName
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
SystemName | string | false | none | Machine-readable name of the tag, for a list check e.g. the transaction categories |
TagInstanceSchema
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
entity | EntitySchema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [RelationSchema] | false | none | List of relations |
tagTreeItem | TagTreeItemSchema | true | none | none |
TagTreeItemSchema
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tagTreeItem |
displayName | string | false | none | User-friendly name shown to the end-users |
relations | [RelationSchema] | false | none | List of relations |
systemId | integer | false | none | Unique internal id of the tag tree item |
systemName | string | true | none | Unique name of the tag tree item |
systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
tagTree | BusinessPartnerTagTreeItemSchemaTagTree | true | none | tagTree that the tagTreeItem belongs to |
TagTreeSchema
{
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tag tree |
displayName | string | false | none | User-friendly name shown to the end-users |
isTenantGenerated | boolean | false | none | Boolean flag, set TRUE if the tag was manually set |
relations | [RelationSchema] | false | none | List of relations |
systemId | integer | false | none | Unique internal id of the tag tree |
systemName | string | true | none | Unique name of the tag tree |
version | number | false | none | Version of the tag tree |
Tag
{
"tagScope": "transaction",
"tagId": "36d394ba-edef-4075-97e7-b19d1fae3702",
"tagType": "CATEGORY",
"tagVersion": "2.5",
"systemName": "HOUSING_RENT",
"displayName": "Miete/Wohngeld",
"parent": "HOUSING"
}
Tag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tagScope | string | true | none | Object of tagging. User or Transaction |
tagId | string(uuid) | true | none | Random unique id according to RFC4122 for identification |
tagType | TagType | true | none | Type according to usage purpose |
tagVersion | integer(int32) | true | none | BANKSapi version of the tag hierarchy. |
systemName | SystemName | true | none | Machine-readable name of the tag, for a list check e.g. the transaction categories |
displayName | string | true | none | User-friendly and human readable name of the category in German |
parent | SystemName | true | none | Machine-readable name of the tag, for a list check e.g. the transaction categories |
TagType
"CATEGORY"
TagType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TagType | string | false | none | Type according to usage purpose |
Enumerated Values
Property | Value |
---|---|
TagType | null |
TanMedium
{
"gueltigVon": "2016-01-01 00:00:00",
"gueltigBis": "2016-12-31 23:59:59",
"name": "+49-1111-11111",
"medienklasse": "MOBIL"
}
TanMedium
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Name of the TAN medium such as "Mobile" |
medienklasse | string | false | none | Media classes: LISTE - Paper-TAN listGENERATOR - TAN generatorMOBILE - mobile phoneSECODER - TAN matrix generatorPUSHTAN - Push messageALL - All classesPROPRIETARY - Proprietary media class |
gueltigVon | string(YYYY-MM-DD hh:mm:ss) | false | none | Date and time from which the TAN medium is valid. |
gueltigBis | string(YYYY-MM-DD hh:mm:ss) | false | none | Date and time until which the TAN medium is valid. |
Enumerated Values
Property | Value |
---|---|
medienklasse | LISTE |
medienklasse | GENERATOR |
medienklasse | MOBIL |
medienklasse | SECODER |
medienklasse | PUSHTAN |
medienklasse | ALL |
medienklasse | PROPRIETARY |
TanMediumEn
{
"validFrom": "2016-01-01 00:00:00",
"validTo": "2016-12-31 23:59:59",
"name": "+49-1111-11111",
"mediaClass": "MOBILE"
}
TanMediumEn
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Name of the TAN medium such as "Mobile" |
mediaClass | string | false | none | Media classes: LIST - Paper-TAN listGENERATOR - TAN generatorMOBILE - mobile phoneSECODER - TAN matrix generatorPUSHTAN - Push messageALL - All classesPROPRIETARY - Proprietary media class |
validFrom | string(YYYY-MM-DD hh:mm:ss) | false | none | Date and time from which the TAN medium is valid. |
validTo | string(YYYY-MM-DD hh:mm:ss) | false | none | Date and time until which the TAN medium is valid. |
Enumerated Values
Property | Value |
---|---|
mediaClass | LIST |
mediaClass | GENERATOR |
mediaClass | MOBILE |
mediaClass | SECODER |
mediaClass | PUSHTAN |
mediaClass | ALL |
mediaClass | PROPRIETARY |
Tenant
{
"name": "demo",
"description": "A tenant for demonstration purposes"
}
Tenant
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | Tenant technical name becomes URL component |
description | string | false | none | Optional human readable description |
Token
{
"scope": "http://banksapi.io/provider/read http://banksapi.io/schedule/read http://banksapi.io/customer/read http://banksapi.io/customer/modify http://banksapi.io/customer/ueberweisung auth/tenants/users/create",
"tenant": "demo",
"client": "demo-client",
"user": "CN=Some User,OU=Personal,DC=banksapi,DC=io",
"additionalData": {
"username": "someuser"
},
"validTo": "2021-10-16 10:46:47",
"access_token": "be9e0b8e-8cff-45ff-8d95-f6bfa2eac7b9",
"token_type": "Bearer"
}
Token
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scope | string | true | none | Space-separated list of OAuth2 scopes. A scope names a class of access rules. It is a string, usually in the form of a (fictitious) URL. The available scopes depend on the scope of services booked. You therefore receive the scope list together with your cooperation agreement. |
tenant | string | true | none | Technical name of the tenant |
client | string | true | none | Technical name of the client |
user | string | false | none | User reference, only set if this is a user token |
additionalData | object | false | none | An optional list of additional data as a key-value map. |
» additionalProperties | string | false | none | none |
validTo | string(YYYY-MM-DD hh:mm:ss) | false | none | none |
access_token | string(uuid) | true | none | The token |
token_type | string | true | none | Always "Bearer" |
Transaction
{
"allOf": [
{
"title": "Transaction",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique id of this transaction.",
"format": "uuid"
},
"hash": {
"type": "string",
"format": "uuid",
"example": "ad90f946-7f6d-3ec8-a6f2-fdf74df5138c"
}
},
"example": {
"id": "ced1172c-0839-428a-af0d-8b87508f0981",
"hash": "c478c333-910f-465c-8e7d-616d86a07c0e",
"betrag": -70,
"verwendungszweck": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280",
"buchungsdatum": "2016-11-17 00:00:00",
"wertstellungsdatum": "2016-11-15 00:00:00",
"gegenkontoInhaber": "La Sopia GmbH München",
"gegenkontoIban": "DE00123456789012345679",
"gegenkontoBic": "XXX12345678",
"primanotaNummer": "421337"
}
},
{
"title": "Transaction Data",
"required": [
"betrag",
"verwendungszweck",
"buchungsdatum"
],
"type": "object",
"properties": {
"betrag": {
"type": "number",
"description": "Amount with two decimal places.",
"example": -64.55
},
"waehrung": {
"type": "string",
"description": "Currency of the transaction.",
"example": "EUR"
},
"verwendungszweck": {
"type": "string",
"description": "The purpose of the transaction.",
"example": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280"
},
"buchungstext": {
"type": "string",
"description": "A text for the entry of the transaction"
},
"buchungsdatum": {
"type": "string",
"description": "The date of the entry of the transaction",
"format": "YYYY-MM-DD hh:mm:ss",
"example": "2016-05-23 13:37:00"
},
"wertstellungsdatum": {
"type": "string",
"description": "Date of booking",
"format": "YYYY-MM-DD hh:mm:ss",
"example": "2016-11-15 00:00:00"
},
"gegenkontoInhaber": {
"type": "string",
"description": "Owner of the counter account",
"example": "La Sopia GmbH München"
},
"gegenkontoIban": {
"type": "string",
"description": "IBAN of the counter account",
"example": "DE00123456789012345679"
},
"gegenkontoBic": {
"type": "string",
"description": "BIC of the counter account",
"example": "XXX12345678"
},
"gegenkontoInhaberAbweichend": {
"type": "string",
"description": "Ultimate owner of the counter account",
"example": "La Sopia GmbH München"
},
"primanotaNummer": {
"type": "string",
"description": "Primanota number of sales",
"example": "421337"
},
"gvCode": {
"type": "string",
"description": "Provider specific code, that denotes transaction use cases",
"example": "302"
},
"identifier": {
"type": "object",
"properties": {
"endToEndId": {
"type": "string"
},
"proprietaryCode": {
"type": "string",
"description": "Used for example for PayPal's proprietary transaction ID"
},
"entryReference": {
"type": "string"
},
"ownerRef": {
"type": "string"
},
"bookingRef": {
"type": "string"
},
"balance": {
"type": "number"
},
"mandateId": {
"type": "string",
"description": "Contains the SEPA mandate reference"
},
"batchId": {
"type": "string"
}
}
},
"tags": {
"type": "array",
"items": {
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
}
},
"example": {
"betrag": -70,
"verwendungszweck": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280",
"buchungsdatum": "2016-11-17 00:00:00",
"wertstellungsdatum": "2016-11-15 00:00:00",
"gegenkontoInhaber": "La Sopia GmbH München",
"gegenkontoIban": "DE00123456789012345679",
"gegenkontoBic": "XXX12345678",
"primanotaNummer": "421337"
}
}
]
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» id | string(uuid) | false | none | The unique id of this transaction. |
» hash | string(uuid) | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | TransactionData | false | none | none |
TransactionData
{
"betrag": -70,
"verwendungszweck": "EC 68096654 140215204106OC3 Ref. 5CC15048A1824480/89280",
"buchungsdatum": "2016-11-17 00:00:00",
"wertstellungsdatum": "2016-11-15 00:00:00",
"gegenkontoInhaber": "La Sopia GmbH München",
"gegenkontoIban": "DE00123456789012345679",
"gegenkontoBic": "XXX12345678",
"primanotaNummer": "421337"
}
Transaction Data
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
betrag | number | true | none | Amount with two decimal places. |
waehrung | string | false | none | Currency of the transaction. |
verwendungszweck | string | true | none | The purpose of the transaction. |
buchungstext | string | false | none | A text for the entry of the transaction |
buchungsdatum | string(YYYY-MM-DD hh:mm:ss) | true | none | The date of the entry of the transaction |
wertstellungsdatum | string(YYYY-MM-DD hh:mm:ss) | false | none | Date of booking |
gegenkontoInhaber | string | false | none | Owner of the counter account |
gegenkontoIban | string | false | none | IBAN of the counter account |
gegenkontoBic | string | false | none | BIC of the counter account |
gegenkontoInhaberAbweichend | string | false | none | Ultimate owner of the counter account |
primanotaNummer | string | false | none | Primanota number of sales |
gvCode | string | false | none | Provider specific code, that denotes transaction use cases |
identifier | object | false | none | none |
» endToEndId | string | false | none | none |
» proprietaryCode | string | false | none | Used for example for PayPal's proprietary transaction ID |
» entryReference | string | false | none | none |
» ownerRef | string | false | none | none |
» bookingRef | string | false | none | none |
» balance | number | false | none | none |
» mandateId | string | false | none | Contains the SEPA mandate reference |
» batchId | string | false | none | none |
tags | [TagInstanceSchema] | false | none | none |
TransferDetails
{
"title": "TransferDetails",
"required": [
"recipient",
"purpose",
"iban",
"amount",
"currency"
],
"type": "object",
"properties": {
"recipient": {
"type": "string",
"description": "Receiver of the transfer"
},
"purpose": {
"type": "string",
"description": "Purpose of the transfer"
},
"iban": {
"type": "string",
"description": "IBAN of the recipient account"
},
"bic": {
"type": "string",
"description": "BIC of the recipient account"
},
"currency": {
"type": "string",
"description": "Currency of the transfer (Alphabetic Code ISO 4217)"
},
"amount": {
"type": "number",
"description": "Transfer amount"
},
"endToEndId": {
"type": "string",
"description": "End-to-end identification of the transfer"
},
"purposeCode": {
"type": "string",
"description": "Code to further classify payment using an [ISO20022 External Code](https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets)",
"example": "SALA, DIVD, PENS, LOAN, ..."
},
"ultimateDebtor": {
"type": "string",
"description": "Ultimate debtor if deviating from account holder"
},
"ultimateCreditor": {
"type": "string",
"description": "Ultimate creditor if deviating from recipient"
}
},
"description": "TransferDetails are used in InitiateSingleTransfer and InitiateBulkTransfer"
}
TransferDetails
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
recipient | string | true | none | Receiver of the transfer |
purpose | string | true | none | Purpose of the transfer |
iban | string | true | none | IBAN of the recipient account |
bic | string | false | none | BIC of the recipient account |
currency | string | true | none | Currency of the transfer (Alphabetic Code ISO 4217) |
amount | number | true | none | Transfer amount |
endToEndId | string | false | none | End-to-end identification of the transfer |
purposeCode | string | false | none | Code to further classify payment using an ISO20022 External Code |
ultimateDebtor | string | false | none | Ultimate debtor if deviating from account holder |
ultimateCreditor | string | false | none | Ultimate creditor if deviating from recipient |
UeberweisungDetails
{
"allOf": [
{
"title": "UeberweisungDetails",
"required": [
"empfaenger",
"verwendungszweck",
"iban",
"betrag",
"waehrung"
],
"type": "object",
"properties": {
"empfaenger": {
"type": "string",
"description": "Receiver of the transfer"
},
"verwendungszweck": {
"type": "string",
"description": "Purpose of the transfer."
},
"iban": {
"type": "string",
"description": "IBAN of the recipient account"
},
"bic": {
"type": "string",
"description": "BIC of the recipient account"
},
"waehrung": {
"type": "string",
"description": "Currency of the transfer (Alphabetic Code ISO 4217)"
},
"betrag": {
"type": "number",
"description": "Transfer amount"
}
},
"description": "UeberweisungDetails are used in CreateTransfer and CreateBulkTransfer"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
empfaenger | string | true | none | Receiver of the transfer |
verwendungszweck | string | true | none | Purpose of the transfer. |
iban | string | true | none | IBAN of the recipient account |
bic | string | false | none | BIC of the recipient account |
waehrung | string | true | none | Currency of the transfer (Alphabetic Code ISO 4217) |
betrag | number | true | none | Transfer amount |
User
{
"userReference": "1c5b33f6-9c4d-11e6-ba80-480fcfb9550f",
"username": "demo-user"
}
User
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Technical ID for the user, is also used in URLs (user-id ) |
username | string | true | none | Username for creating an OAuth2 token |
roles | [string] | false | none | Roles this user has |
WrappedTags
{
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "TRANSACTION",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tags | [TagInstanceSchema] | false | none | none |
ErrorMessage
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "HTTP Code",
"example": "400"
},
"message": {
"type": "string",
"description": "error message",
"example": "Tag with system name INSURANCE_LIF does not exist for tag tree CATEGORIES"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | HTTP Code |
message | string | false | none | error message |
BusinessPartnerTagTreeItemSchemaTagTree
{
"allOf": [
{
"example": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/.../tags/tag-trees/1/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"systemName"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to",
"type": "object"
}
tagTree that the tagTreeItem belongs to
Properties
None
title: AI/
AI/Connect API Reference v3.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
General remarks
Overview
BANKSapi AI Endpoints first categorizes individual transactions along the dimensions of spending type, spending frequency and business partner.
After enriching individual transactions on these dimensions, the transactions of a specific user are aggregated and used as inputs to the next level of machine learning models to categorize the user along different dimensions such as monthly budget structure, spending habits across time and across spending categories, life stages.
Tagging Concept
The data enrichment process described above is conceptualized as Tagging and is used across all the endpoints. The following concepts are crucial to the understanding of tagging and make consumption of the endpoints easier. Following is a bottom-up description of tagging.
- Entity
is an object that is being tagged, e.g. a transaction.
- TagInstance
is a concrete instance of a Tag
, which associates an Entity
with a TagTreeItem
and instance specific details
. TagTreeItem
captures the standardized part of the tagging, in other words the information that we can map to a standardized concept in a controlled vocabulary. In a CATEGORIES
TagInstance
this corresponds to RECREATION_ONLINE
. details
on the other hand captures the instance-specific information. For the same CATEGORIES
example, it would contain the confidence level, which is specific only to this instance of the tagging exercise.
- TagTreeItem
is a standardized concept which is a member of a controlled vocabulary with others.
- TagTree
is a set of standardized concepts, which form a controlled vocabulary.
Base URLs:
Email: info@banksapi.de Web: info@banksapi.de
Authentication
- HTTP Authentication, scheme: bearer Bearer-Token
Categories
General categorization of transactions
Get consumer categorization tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=categories \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=categories
Gives transaction categories based on everyday spending types such as groceries shopping or rental payments.
To get a full list of such categories, use: GET /tags/v1/tags/tag-trees/1/tag-tree-items/
Categorization Logic
We use a hybrid model, that combines a basic model and an AI model.
The basic model runs first. If it cannot find a category, the AI model runs as well. If the found category has a sufficient confidence, it is returned.
If the basic model yields multiple tags, the AI model runs as well. Majority voting in combination with a confidence threshold is used to determine the best fitting category.
Basic Model
The basic model searches for keywords and regular expression based substrings in note to payee, counterparty name and posting text.
It includes the main categories of the insurance classifier to precisely detect insurance transactions.
There are several additional steps for specific types of transactions, counterparties and categories to further improve the accuracy of this model.
Artificial Intelligence Model
The model architecture is a bidirectional recurrent neural network with long short-term memory and an attention mechanism.
The samples used for training this model do not contain any user related identifiers. The training encompasses semantically-meaningful word and sub-word embeddings, pre-trained in an unsupervised setting as well as human and automatically labeled data, providing a total of more than a million training samples. Even before a human labeler processes a transaction, each transaction gets anonymized. Amounts get slightly shifted randomly and all sensible information such as names and addresses are automatically removed from all texts. With this process, data privacy is fully ensured.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
Example responses
200 Response
[
{
"betrag": -14.87,
"buchungsdatum": "2023-07-04 18:00:00",
"gegenkontoBic": "",
"gegenkontoIban": "",
"gegenkontoInhaber": "LV AG",
"hash": "8891f1f9-511a-3ed6-8982-ef4078cecc16",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"primanotaNummer": "12345",
"tags": [
{
"details": {
"confidenceLevel": 0.9897049813270569
},
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "Kontoumsatz",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"userId": "624ca509-b0f2-42f6-b202-8de20e9ed12a"
},
"id": "7f263a51-f368-4c52-bf14-eed0c21e2db8",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/67/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Payments related to a life insurance contract",
"displayName": "Lebensversicherung",
"systemId": 58,
"systemName": "INSURANCE_LIFE",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 4.03
}
}
}
],
"verwendungszweck": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2020 01 SEPA BASISLASTSCHRIFT wiederholend",
"wertstellungsdatum": "2023-07-04 18:00:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success, tags read from database | Inline |
201 | Created | Success, some tags newly created | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
408 | Request Timeout | RequestTimeout | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v3_output_connect_schema] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [tag_instance_schema] | false | none | List of tags of the transaction |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» tenant | string | true | none | Tenant ID to which the transaction belongs |
»»» user | string | true | none | Universally Unique Identifier of the user |
»»» verwendungszweck | string | true | none | Text entered during posting |
»»» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v3_output_connect_schema] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [tag_instance_schema] | false | none | List of tags of the transaction |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» tenant | string | true | none | Tenant ID to which the transaction belongs |
»»» user | string | true | none | Universally Unique Identifier of the user |
»»» verwendungszweck | string | true | none | Text entered during posting |
»»» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Update consumer categorization tags
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze/{transactionId} \
-H 'Content-Type: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze/{transactionId}
This method applies corrections to the categorization of transactions.
Input contains the tag tree item(s) that should be used for re-categorization. All provided tag tree items have to be valid. If a single tag tree item is provided, all transaction tags receive this tag tree item. If multiple tag tree items are provided, each transaction tag receives a different tag tree item. Make sure to provide exactly as many tag tree items as transactions in this scenario.
The flag createRule creates a user specific rule that automatically categorizes this counterparty with the provided tag tree item in all future transactions. This is a smart solution to eradicate a recurring re-categorization process.
The flag changeExisting re-categorizes all existing transactions of the same counterparty.
The tagTreeItem(s) have to include a tagTree and have to be wrapped in tags: [].
The re-categorization relies on the systemName value of tagTreeItem and tagTree, all other fields are ignored.
Example:
json
{
"tags": [
{
"tagTreeItem": {
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"tagTree": {
"systemId": 1,
"systemName": "CATEGORIES"
}
}
}
]
}
To get a full list of tag tree items, use: GET /tags/v1/tags/tag-trees/1/tag-tree-items/
Body parameter
{
"properties": {
"tags": {
"items": {
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
createRule | query | boolean | false | This option creates a rule for this counterparty. All future transactions with this counterparty will be categorized according to the provided category. Default value is false. |
changeExisting | query | boolean | false | This option re-categorizes all existing transactions with this counterparty according to the provided category. Default value is false. |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
transactionId | path | string | true | ID of the transaction |
body | body | v3_connect_put_schema | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successfully modified tag(s). | None |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
422 | Unprocessable Entity | UnprocessableEntity | None |
500 | Internal Server Error | InternalServerError | None |
Insurance Types
Insurance focused categorization of transactions
Return insurance types categorization tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=insurance-types \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=insurance-types
Gives detailed insurance types.
Categorization is based on keywords, sophisticated regular expressions and several specific rules. This classification is an extension of the categories endpoint and can be thought as a third level in the classification hierarchy.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
Example responses
200 Response
[
{
"betrag": -13.09,
"buchungsdatum": "2020-03-11 18:00:00",
"gegenkontoBic": "",
"gegenkontoIban": "",
"gegenkontoInhaber": "",
"hash": "8891f1f9-511a-3ed6-8982-ef4078cecc16",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"primanotaNummer": "12345",
"tags": [
{
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b"
},
"id": "eb047b64-619f-4104-805e-ee6c832bc306",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/tag-tree-items/164/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Kapitallebensversicherung",
"systemId": 164,
"systemName": "LIFE_ENDOWMENT",
"systemNameParent": "LIFE",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isClientGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.4
}
}
}
],
"verwendungszweck": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2020 01 SEPA BASISLASTSCHRIFT wiederholend",
"wertstellungsdatum": "2020-03-11 18:00:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v3_output_connect_schema] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [tag_instance_schema] | false | none | List of tags of the transaction |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» tenant | string | true | none | Tenant ID to which the transaction belongs |
»»» user | string | true | none | Universally Unique Identifier of the user |
»»» verwendungszweck | string | true | none | Text entered during posting |
»»» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Business Partners
Business partner detection of transactions
Return business partners tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=business-partners \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=business-partners
Identifies normalized business partner and returns detailed information such as containing address, website.
Business Partner is the financial entity that provides the good or service that the transaction is related to. It differs from the payment handler or the bank.
Normalization brings different names of the business partner under a single system name.
To get a full list of tag tree items, use: GET /tags/v1/tags/tag-trees/3/tag-tree-items/
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
Example responses
200 Response
[
{
"betrag": -39.09,
"buchungsdatum": "2023-07-11 17:00:00",
"gegenkontoBic": "",
"gegenkontoIban": "",
"gegenkontoInhaber": "",
"hash": "8891f1f9-511a-3ed6-8982-ef4078cecc16",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"primanotaNummer": "12345",
"tags": [
{
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b"
},
"id": "9504ebeb-d54d-42fd-97a5-1b7117593dc2",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/tag-tree-items/202/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"addressCity": "Stuttgart",
"addressCountry": "Deutschland",
"addressStreet": "Reinsburgstraße 19",
"addressZip": "70178",
"creditorId": "DE07ZZZ00000063475",
"displayName": "Allianz Lebensversicherung",
"group": "Allianz",
"systemId": 202,
"systemName": "Allianz Lebensversicherungs-AG",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isClientGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.9
},
"telephone": "0711-663-0",
"website": "http://www.allianz.de"
}
}
],
"verwendungszweck": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2023 07 SEPA BASISLASTSCHRIFT wiederholend",
"wertstellungsdatum": "2023-07-11 17:00:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v3_output_connect_schema] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [tag_instance_schema] | false | none | List of tags of the transaction |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» tenant | string | true | none | Tenant ID to which the transaction belongs |
»»» user | string | true | none | Universally Unique Identifier of the user |
»»» verwendungszweck | string | true | none | Text entered during posting |
»»» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Freelancer Categories
Freelancer focused categorization of transactions
Get freelancer-categories categorization tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=freelancer-categories \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?tag=freelancer-categories
Gives detailed freelancer transactions categories in accordance with the Einnahmenüberschussrechnung (EÜR).
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
Example responses
200 Response
[
{
"betrag": -31.18,
"buchungsdatum": "2023-07-08 13:29:00",
"buchungstext": "",
"gegenkontoBic": "PBNKDEFF",
"gegenkontoIban": "DE08250100300000289304",
"gegenkontoInhaber": "Telekom Deutschland GmbH",
"gvCode": "56",
"hash": "d12e4064-aac6-1ad2-8cdc-e00345634b22",
"id": "1ad7cf10-000d-12e4-064b-ba73b828cdce",
"primanotaNummer": "485656",
"tags": [
{
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1ad7cf10-000d-12e4-064b-ba73b828cdce",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "ebf1b6a6-8ccc-2135-8843-83f0daa5355e",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/15/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/15/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/15/tag-tree-items/41/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Aufwendungen für Telekommunikation",
"systemId": 41,
"systemName": "TELECOMMUNICATIONS",
"tagTree": {
"description": "Freelancer categories tag tree.",
"displayName": "Freelancer-Kategorien",
"isTenantGenerated": false,
"systemId": 15,
"systemName": "FREELANCER_CATEGORIES",
"version": 0.1
}
}
}
],
"verwendungszweck": "Telekom Deutschland GmbH Festnetz Vertragskonto 5574442211 End to End Ref Zahlbeleg 93112306740 Mandatsref 00001234534 CRED DE93ZZZ00000078611 SEPA BASISLASTSCHRIFT wiederholend",
"wertstellungsdatum": "2023-07-08 13:29:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success, tags read from database | Inline |
201 | Created | Success, some tags newly created | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v3_output_connect_schema] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [tag_instance_schema] | false | none | List of tags of the transaction |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» tenant | string | true | none | Tenant ID to which the transaction belongs |
»»» user | string | true | none | Universally Unique Identifier of the user |
»»» verwendungszweck | string | true | none | Text entered during posting |
»»» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [categorization_tag_instance_schema] | false | none | none |
» details | categorization_tag_instance_details_schema | false | none | none |
»» confidenceLevel | number | false | none | Confidence level between 0 and 1 |
» entity | entity_schema | true | none | none |
»» displayName | string | true | none | Display name of the entity |
»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»» id | string | true | none | Transaction UUID or USER UUID. |
»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
» id | string | true | none | Unique Universal Identifier (UUID) |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» tagTreeItem | tag_tree_item_schema | true | none | none |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
Update freelancer-categories categorization tags
Code samples
## You can also use wget
curl -X PUT https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze/{transactionId} \
-H 'Content-Type: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
PUT /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze/{transactionId}
This method applies corrections to the categorization of transactions.
Input contains the tag tree item that should be used for re-categorization. A valid tag tree item has to be provided.
The flag createRule creates a user specific rule that automatically categorizes this counterparty with the provided tag tree item in all future transactions. This is a smart solution to eradicate a recurring re-categorization process.
The flag changeExisting re-categorizes all existing transactions of the same counterparty.
The tagTreeItem has to include a tagTree and has to be wrapped in tags: [].
The re-categorization currently relies on the systemName value of tagTreeItem and tagTree, but as this might change in the future, both systemName and systemId should be included in the payload, all other fields are ignored.
Example:
json
{
"tags": [
{
"tagTreeItem": {
"systemId": 35,
"systemName": "PAYROLL",
"tagTree": {
"systemId": 15,
"systemName": "FREELANCER_CATEGORIES"
}
}
}
]
}
To get a full list of tag tree items, use: GET /tags/v1/tags/tag-trees/15/tag-tree-items/
Body parameter
{
"properties": {
"tags": {
"items": {
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
createRule | query | boolean | false | This option creates a rule for this counterparty. All future transactions with this counterparty will be categorized according to the provided category. Default value is false. |
changeExisting | query | boolean | false | This option re-categorizes all existing transactions with this counterparty according to the provided category. Default value is false. |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
transactionId | path | string | true | ID of the transaction |
body | body | v3_connect_put_schema | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
422 | Unprocessable Entity | UnprocessableEntity | None |
500 | Internal Server Error | InternalServerError | None |
Contracts
Contract detection of a user
Return contract tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/contracts \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/contracts
Detects contracts using all the transactions of a user, independent of accounts and banks. All the transactions are aggregated.
The transactions are categorized and periodic payments are detected first.
Contracts are created by grouping payments of similar size in the same category and made to a certain business partners.
After transactions are grouped, we extract further statistics and make simple predictions on next amount and due date.
APR Estimation
Best effort estimate of the Annual Percentage Rate (APR) is given for fixed payment credit contracts. This feature works if:
* The note to payee includes breakdown of the principal and interest payments, and we have the first 2 payments to the credit giver.
* We see the initial credit payment to the user and next two fixed payments, without having the interest/principal payment ratio.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
insuranceOnly | query | boolean | false | If True, returns insurance related contracts only |
insuranceOnlyExtended | query | boolean | false | If True, returns insurance related contracts and contract with the category SAVINGS_BUILDING |
Example responses
200 Response
[
{
"details": {
"amountFirst": -319,
"amountLatest": -319,
"amountMaximum": -319,
"amountMean": -319,
"amountMinimum": -319,
"amountNext": -319,
"amountTotal": -4466,
"amountTotalNonRegular": 0,
"amountTotalRegular": -4466,
"costDevelopment": {
"2019-01-20": -319,
"2019-02-20": -319,
"2019-03-20": -319,
"2019-04-20": -319,
"2019-05-20": -319,
"2019-06-20": -319,
"2019-07-20": -319,
"2019-08-20": -319,
"2019-09-20": -319,
"2019-10-20": -319,
"2019-11-20": -319,
"2019-12-20": -319,
"2020-01-20": -319,
"2020-02-20": -319
},
"costDevelopmentRegular": {
"2019-01-20": -319,
"2019-02-20": -319,
"2019-03-20": -319,
"2019-04-20": -319,
"2019-05-20": -319,
"2019-06-20": -319,
"2019-07-20": -319,
"2019-08-20": -319,
"2019-09-20": -319,
"2019-10-20": -319,
"2019-11-20": -319,
"2019-12-20": -319,
"2020-01-20": -319,
"2020-02-20": -319
},
"counterpartyBic": "",
"counterpartyIban": "DE123456222",
"counterpartyName": "Allianz Private Krankenversicherungs AG",
"dateFirst": "2019-01-20",
"dateLatest": "2020-02-20",
"dateNext": "2020-03-20",
"daysAge": 445,
"growthRate": 0,
"numberCustomer": ".:",
"standardDeviation": 0,
"status": "ACTIVE",
"transactionIds": [
"qj64ir73-30ba-yei2-1i1q-vrg8glvkhwno",
"lbmk8o1n-a832-xcqi-mpcp-brv4pieipge8",
"qks1f8e9-59yu-rglt-yvq9-y8jnlm5huhro",
"2j3599se-4b53-q06f-78u6-byv3q9hltndt",
"hqe7417d-9ixm-6bzk-0ckm-tp3914r4k2ay",
"dxfav1pk-vqxv-6390-qrb3-4pigp5s614u5",
"a36lxcgg-3drd-f7w5-e3bb-uin03hxxni48",
"cs7ew6pu-mn2n-5xko-48sj-u33owtszqqub",
"uzi9a837-63ld-t8b2-t2s0-sle79yz1mx88",
"yayvsn9d-oszt-mg4k-8q86-f0du01kineis",
"9n4va5cc-5hx3-r14q-ehe2-9d7c2jbehstq",
"kbw1nxhc-uxmq-4pyi-kar7-hlii1viy9bus",
"g3kqczjp-5cuq-ntl6-k5vw-454vfy0bfa3d",
"yv8uh99n-csyj-66xn-4wkr-f3nvzzxkhas7"
],
"transactionIdsNonRegular": [],
"transactionIdsRegular": [
"qj64ir73-30ba-yei2-1i1q-vrg8glvkhwno",
"lbmk8o1n-a832-xcqi-mpcp-brv4pieipge8",
"qks1f8e9-59yu-rglt-yvq9-y8jnlm5huhro",
"2j3599se-4b53-q06f-78u6-byv3q9hltndt",
"hqe7417d-9ixm-6bzk-0ckm-tp3914r4k2ay",
"dxfav1pk-vqxv-6390-qrb3-4pigp5s614u5",
"a36lxcgg-3drd-f7w5-e3bb-uin03hxxni48",
"cs7ew6pu-mn2n-5xko-48sj-u33owtszqqub",
"uzi9a837-63ld-t8b2-t2s0-sle79yz1mx88",
"yayvsn9d-oszt-mg4k-8q86-f0du01kineis",
"9n4va5cc-5hx3-r14q-ehe2-9d7c2jbehstq",
"kbw1nxhc-uxmq-4pyi-kar7-hlii1viy9bus",
"g3kqczjp-5cuq-ntl6-k5vw-454vfy0bfa3d",
"yv8uh99n-csyj-66xn-4wkr-f3nvzzxkhas7"
]
},
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "824aa59a-c243-744f-fcbb-a6ce1edacd02",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree_category"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items_category"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/64/",
"rel": "tag_tree_item_category"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/",
"rel": "tag_tree_insurance_type"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/tag-tree-items/",
"rel": "tag_tree_items_insurance_type"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/tag-tree-items/134/",
"rel": "tag_tree_item_insurance_type"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/4/",
"rel": "tag_tree_period"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/4/tag-tree-items/",
"rel": "tag_tree_items_period"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/4/tag-tree-items/235/",
"rel": "tag_tree_item_period"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/",
"rel": "tag_tree_business_partner"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/tag-tree-items/",
"rel": "tag_tree_items_business_partner"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/3/tag-tree-items/206/",
"rel": "tag_tree_item_business_partner"
}
],
"tagTreeItemBusinessPartner": {
"addressCity": "München",
"addressCountry": "Deutschland",
"addressStreet": "Königinstraße 28",
"addressZip": "80802",
"creditorId": "DE40ZZZ00000063851",
"displayName": "Allianz Private Krankenversicherung",
"group": "Allianz",
"systemId": 206,
"systemName": "Allianz Private Krankenversicherungs AG",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isClientGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.9
},
"telephone": "089-3800-1000",
"website": "http://www.allianz.de"
},
"tagTreeItemCategory": {
"description": "Payments related to a health insurance contract",
"displayName": "Krankenversicherung",
"systemId": 64,
"systemName": "INSURANCE_HEALTH",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
},
"tagTreeItemInsuranceType": {
"displayName": "Private Krankenversicherung",
"systemId": 134,
"systemName": "HEALTH_PRIVATE",
"systemNameParent": "HEALTH",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isClientGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.4
}
},
"tagTreeItemPeriod": {
"description": "Period of a single month",
"displayName": "Ein Monat",
"systemId": 235,
"systemName": "MONTH_ONE",
"systemNameParent": "MONTH",
"tagTree": {
"description": "Two level periods tag tree.",
"displayName": "Turnus",
"isClientGenerated": false,
"systemId": 4,
"systemName": "PERIODS",
"version": 0.4
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [contract_tag_instance_schema] | false | none | none |
» details | contract_tag_instance_details_schema | false | none | none |
»» amountFirst | number | true | none | First payment among contract payments |
»» amountLatest | number | true | none | Most recent payment among contract payments |
»» amountMaximum | number | true | none | Maximum payment among contract payments |
»» amountMean | number | true | none | Mean payment among contract payments |
»» amountMedian | number | true | none | Median payment among contract payments |
»» amountMinimum | number | true | none | Minimum payment among contract payments |
»» amountNext | number | false | none | Predicted next payment based on contract payments |
»» amountTotal | number | true | none | Total amount of regular and non-regular payments |
»» amountTotalNonRegular | number | true | none | Total amount of non-regular payments |
»» amountTotalRegular | number | true | none | Total amount of regular payments |
»» contractNumbers | [string] | true | none | List of detected contract numbers |
»» costDevelopment | object | true | none | History of regular and non-regular payments |
»» costDevelopmentNonRegular | object | true | none | History of non-regular payments |
»» costDevelopmentRegular | object | true | none | History of regular payments |
»» counterpartyBic | string | false | none | BIC of the counterparty |
»» counterpartyIban | string | false | none | IBAN of the counterparty |
»» counterpartyName | string | false | none | Name of the counterparty |
»» counterpartyNameUltimate | string | false | none | Name of the ultimate counterparty |
»» creditAmount | number | false | none | Net amount of the loan being paid back with the contract |
»» creditAmountGross | number | false | none | Total amount of the loan being paid back with the contract including additional costs |
»» customName | string | false | none | If there is no listed business partner found, a custom name is tried to be extracted from the transaction. |
»» customerNumbers | [string] | true | none | List of detected customer numbers |
»» dateEnd | string(date) | false | none | Contract end date |
»» dateFirst | string(date) | true | none | Date of the first payment |
»» dateLatest | string(date) | true | none | Date of the last payment |
»» dateNext | string(date) | false | none | Predicted date of the next payment |
»» dateStart | string(date) | false | none | Contract start date |
»» daysAge | integer | true | none | Age of the contract in days |
»» growthRate | number | false | none | Procentual growth rate per period |
»» interestRate | number | false | none | Effective annual interest rate estimated for this contract |
»» interestRateNominal | number | false | none | Nominal annual interest rate detected for this contract |
»» numberContract | string | false | none | Deprecated. Use field contractNumbers instead. |
»» numberCustomer | string | false | none | Deprecated. Use field customerNumbers instead. |
»» standardDeviation | number | false | none | Standard deviation of contract payments |
»» status | string | true | none | Status of contract (ACTIVE or NOT_ACTIVE) |
»» transactionIds | [string] | true | none | List of transaction ids, regular and non-regular payments |
»» transactionIdsNonRegular | [string] | true | none | List of transaction ids, non-regular payments only |
»» transactionIdsRegular | [string] | true | none | List of transaction ids, regular payments only |
» entity | entity_schema | true | none | none |
»» displayName | string | true | none | Display name of the entity |
»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»» id | string | true | none | Transaction UUID or USER UUID. |
»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
» id | string | true | none | Unique Universal Identifier (UUID) |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» tagTreeItemBusinessPartner | business_partner_tag_tree_item_schema | true | none | none |
»» addressCity | string | false | none | Address city of the business partner |
»» addressCountry | string | false | none | Address country of the business partner |
»» addressStreet | string | false | none | Address street incl. number of the business partner |
»» addressZip | string | false | none | Address zip/postal code of the business partner |
»» categories | [string] | false | none | Categories the business partner belongs to. |
»» creditorId | string | false | none | creditor id of the business partner |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» group | string | false | none | Group the business partner belongs to. |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
»» telephone | string | false | none | Telephone of the business partner |
»» website | string | false | none | Website of the business partner |
» tagTreeItemCategory | tag_tree_item_schema | true | none | none |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
»» tagTreeItemInsuranceType | tag_tree_item_schema | false | none | none |
»» tagTreeItemPeriod | tag_tree_item_schema | true | none | none |
Cashflow
Cashflow statistics and predictions of a user
Return cashflow tags with statistics and predictions
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/cashflow \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/cashflow
This is a utility function for Personal Finance Management applications.
The endpoint simply aggregates transactions on the dimension set by the request
parameter focus
:
If focus
set to time, the transactions are partitioned by time and aggregated by
the choice of tag
.
If tag
is set to CATEGORIES, we deliver the distribution of net cash-flow across
all categories, indexed over time periods. The results can be used as monthly
pie-charts depicting spending habits.
By setting tag
to BUSINESS_PARTNERS, distribution is calculated across business
partners.
If focus
is set to tag, we limit the result to the net cash-flow in a given
tag
, and get the time domain changes for this specific tag. If the request parameter
tag
is set to **CATEGORIES**, we answer the question: "How did my spending change
within a category over time?".
By setting
tag` to BUSINESS_PARTNERS, we answer "How much did I spend to a
certain business partner over time?"
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
focus | query | string | false | Cashflow is generated with the focus on either time or tag (CATEGORIES or BUSINESS_PARTNER) |
tag | query | string | false | Tag to use when summarizing the cashflow |
catLevel | query | string | false | Use the usual tags ("sub") or their parents ("main"). Only relevant if tag=CATEGORIES |
excludeSavings | query | boolean | false | Exclude savings and investments related transactions |
Enumerated Values
Parameter | Value |
---|---|
focus | tag |
focus | time |
tag | CATEGORIES |
tag | BUSINESS_PARTNERS |
catLevel | sub |
catLevel | main |
Example responses
200 Response
[
{
"details": {
"predictions": [],
"statistics": [
{
"cashflow": -1879.46,
"tagTreeItem": {
"displayName": "Gesamt",
"systemId": 906,
"systemName": "TOTAL_TOTAL",
"systemNameParent": "TOTAL",
"tagTree": {
"description": "Two level tree with years as parents and its periods as children.",
"displayName": "Cashflow",
"isClientGenerated": false,
"systemId": 6,
"systemName": "CASHFLOW",
"version": 1
}
}
},
{
"cashflow": -342.91,
"tagTreeItem": {
"displayName": "Jahr 2020",
"systemId": 692,
"systemName": "2020_Y",
"systemNameParent": "2020",
"tagTree": {
"description": "Two level tree with years as parents and its periods as children.",
"displayName": "Cashflow",
"isClientGenerated": false,
"systemId": 6,
"systemName": "CASHFLOW",
"version": 1
}
}
},
{
"cashflow": -342.91,
"tagTreeItem": {
"displayName": "1. Quartal 2020",
"systemId": 634,
"systemName": "2020_Q1",
"systemNameParent": "2020",
"tagTree": {
"description": "Two level tree with years as parents and its periods as children.",
"displayName": "Cashflow",
"isClientGenerated": false,
"systemId": 6,
"systemName": "CASHFLOW",
"version": 1
}
}
},
{
"cashflow": -154.3,
"tagTreeItem": {
"displayName": "Januar 2020",
"systemId": 622,
"systemName": "2020_M01",
"systemNameParent": "2020",
"tagTree": {
"description": "Two level tree with years as parents and its periods as children.",
"displayName": "Cashflow",
"isClientGenerated": false,
"systemId": 6,
"systemName": "CASHFLOW",
"version": 1
}
}
},
{
"cashflow": -29.99,
"tagTreeItem": {
"displayName": "1. Kalenderwoche 2020",
"systemId": 639,
"systemName": "2020_W01",
"systemNameParent": "2020",
"tagTree": {
"description": "Two level tree with years as parents and its periods as children.",
"displayName": "Cashflow",
"isClientGenerated": false,
"systemId": 6,
"systemName": "CASHFLOW",
"version": 1
}
}
}
]
},
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "4ff21ddb-baae-47f0-8181-77b7c5a7ade0",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/2/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Transactions including invoices & bills",
"displayName": "Vertragsrechnungen",
"systemId": 2,
"systemName": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [cashflow_tag_instance_schema] | false | none | none |
» details | cashflow_tag_instance_details_schema | false | none | none |
»» predictions | [cashflow_tag_instance_details_stats_preds_schema] | false | none | cashflow predictions |
»»» cashflow | number | true | none | cashflow amount in Euros |
»»» tagTreeItem | tag_tree_item_schema | false | none | none |
»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»» version | number | true | none | Version of the tag tree |
»»»» total | string | false | none | total amount |
»»» statistics | [cashflow_tag_instance_details_stats_preds_schema] | false | none | cashflow statistics |
»» entity | entity_schema | true | none | none |
»»» displayName | string | true | none | Display name of the entity |
»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»» id | string | true | none | Transaction UUID or USER UUID. |
»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»» id | string | true | none | Unique Universal Identifier (UUID) |
»» relations | [relation_schema] | false | none | List of relations |
»»» href | string | true | none | Link of the relation |
»»» rel | string | true | none | Name of the relation |
»» tagTreeItem | tag_tree_item_schema | true | none | none |
Disposable Money
Disposable money of a user
Return a disposable money tag
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/disposable-money \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/disposable-money
Defines the disposable money of a user when the next salary payment is expected.
The transactions are categorized, contracts created, cashflow analyzed and predicted.
By detailed analysis of statistics and predictions of a user's transactions, the following values are extracted.
dateSalaryLatest
Date of the latest salary payment
dateSalaryNext
date of the next salary payment
amountSalaryLatest
Amount of the latest salary payment
amountSalaryNext
Amount of the next salary payment
daysUntilSalary
Days until the next salary payment is expected
amountCashflow
Sum of income and expenses (cashflow) since the latest salary payment
amountCurrentlyLeft
Amount currently left until the next salary payment considering the cashflow since the latest salary payment
amountExpectedFixedCashflow
Sum of expected income and expenses (cashflow) from contracts due until the next salary payment
amountExpectedLeft
Amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment
amountExpectedLeftDaily
Daily amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment
amountExpectedFlexCashflow
Sum of flexible income and expenses (cashflow) expected until the next salary payment derived from previous spending habits excluding contracts (expected fixed cashflow)
amountDisposableMoney
Amount estimated to be left at the next salary payment considering the cashflow since the latest salary payment the expected fixed cashflow until the next salary payment and the expected flexible cashflow until the next salary payment
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
{
"details": {
"amountCashflow": -739.29,
"amountCurrrentlyLeft": 3117.55,
"amountDisposableMoney": 3117.55,
"amountExpectedFixedCashflow": 0,
"amountExpectedFlexCashflow": 0,
"amountExpectedLeft": 3117.55,
"amountExpectedLeftDaily": -283.41,
"amountSalaryLatest": 3856.84,
"amountSalaryNext": 3856.84,
"dateSalaryLatest": "2021-02-29",
"dateSalaryNext": "2021-03-29",
"daysUntilSalary": -11
},
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "e846b38e-ec53-48de-b3e5-a81f5397c38a",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/tag-tree-items/908/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Information about the disposable money",
"displayName": "Informationen über frei verfügbares Geld",
"systemId": 908,
"systemName": "DISPOSABLEMONEY_INFORMATION",
"systemNameParent": "DISPOSABLEMONEY",
"tagTree": {
"description": "Disposable money tag tree with single parent and child tag.",
"displayName": "Einkommensüberschuss",
"isClientGenerated": false,
"systemId": 7,
"systemName": "DISPOSABLE_MONEY",
"version": 0.1
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | disposable_money_tag_instance_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Life
Determine life events and life stages of a user
Return the life events of a user
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/life-events \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/life-events
Detects all life events of a user.
Life events are key events in a user's life that represent some significant change. They are always the start or end of some activity or state. In general, although life events often correspond to the start or end of a life stage, this is not necessarily always the case.
This endpoint returns all life events in the past with the corresponding date. Some life events are unique (e.g. first employment, first tenancy), others may recur over time (e.g. new tenancy, birth of child).
Life Event Tag Instance IDs are generated by hashing the User ID, event date and the tagTreeItem ID of the Tag Instance. This gives a best effort uniqueness to the ids.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
[
{
"details": {
"eventDate": "2019-07-01"
},
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "924bbc71-2444-aa4a-4821-e92e9976ed17",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/10/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/10/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/10/tag-tree-items/931/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Ende Mietverhältnis",
"systemId": 931,
"systemName": "TENANCY_END",
"tagTree": {
"description": "Single level life event tag tree, usually with both start and end tags.",
"displayName": "Lebensereignisse",
"isClientGenerated": false,
"systemId": 10,
"systemName": "LIFE_EVENTS",
"version": 0.3
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [life_event_tag_instance_schema] | false | none | none |
» details | life_event_tag_instance_details_schema | true | none | none |
»» eventDate | string(date) | true | none | Date of the event |
» entity | entity_schema | true | none | none |
»» displayName | string | true | none | Display name of the entity |
»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»» id | string | true | none | Transaction UUID or USER UUID. |
»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
» id | string | true | none | Unique Universal Identifier (UUID) |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» tagTreeItem | life_tag_tree_item_schema | true | none | none |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» domain | tag_tree_item_schema | true | none | Life domain this tag belongs to |
»»» description | string | false | none | Gives a description of the tagTreeItem |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»» systemName | string | true | none | Unique name of the tag tree item |
»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»» description | string | false | none | Gives a description of the tag tree |
»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»» systemName | string | true | none | Unique name of the tag tree |
»»»» version | number | true | none | Version of the tag tree |
Return life stages of a user
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/life-stages \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/life-stages
Detects life stages using all transactions of a user. Life stages are detected with the help of contracts dealing with significant aspects of life (e.g. rentals, employment contracts).
Life stages are structured in four domains, each representing information about different aspects of life: - Labour Market: Professional and academic career of the user - Parenthood: Indicating whether the user has children - Housing: Information about ownership / rental agreements of the user's accommodation - Savings: Current user activity for preparing retirement
Life Stage Tag Instance Ids are generated by hashing the User ID and the tagTreeItem ID of the Tag Instance. This gives a best effort uniqueness to the ids.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
verbose | query | boolean | false | If set to True, candidate tags are returned in case of ambiguity. Furthermore, explanations regarding tags are added. |
Example responses
200 Response
[
{
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "83b507c5-0be5-e3c8-a0b7-f3339744cfa2",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/923/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Mieter",
"systemId": 923,
"systemName": "TENANCY",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isClientGenerated": false,
"systemId": 8,
"systemName": "LIFE_STAGES",
"version": 0.4
}
}
},
{
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "be26f079-38de-3d1e-504c-404efad17365",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/915/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Elternteil",
"systemId": 915,
"systemName": "PARENTHOOD",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isClientGenerated": false,
"systemId": 8,
"systemName": "LIFE_STAGES",
"version": 0.4
}
}
},
{
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "af7b1ceb-9eda-2db4-7e91-8097dc902d42",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/8/tag-tree-items/912/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"displayName": "Angestellt",
"systemId": 912,
"systemName": "EMPLOYMENT",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isClientGenerated": false,
"systemId": 8,
"systemName": "LIFE_STAGES",
"version": 0.4
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [life_stage_tag_instance_schema] | false | none | none |
» details | life_stage_tag_instance_details_schema | false | none | none |
»» explanation | life_stage_explanation_schema | false | none | An explanation for how the life stage was detected. |
»»» conflictingEvents | [life_event_tag_instance_schema] | false | none | The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty. |
»»»» details | life_event_tag_instance_details_schema | true | none | none |
»»»»» eventDate | string(date) | true | none | Date of the event |
»»»» entity | entity_schema | true | none | none |
»»»»» displayName | string | true | none | Display name of the entity |
»»»»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»»»»» id | string | true | none | Transaction UUID or USER UUID. |
»»»»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
»»»» id | string | true | none | Unique Universal Identifier (UUID) |
»»»» relations | [relation_schema] | false | none | List of relations |
»»»»» href | string | true | none | Link of the relation |
»»»»» rel | string | true | none | Name of the relation |
»»»» tagTreeItem | life_tag_tree_item_schema | true | none | none |
»»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»» domain | tag_tree_item_schema | true | none | Life domain this tag belongs to |
»»»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»»»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»»»» version | number | true | none | Version of the tag tree |
»»»»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»»»» version | number | true | none | Version of the tag tree |
»»»»»» conflictingStages | [tag_tree_item_schema] | false | none | The life stages that caused the stage to be ambiguous |
»»»»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»»»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»»»»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»»»»»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»»»»» version | number | true | none | Version of the tag tree |
»»»»»»» contractDetails | [contract_details_schema] | false | none | The contracts that caused the detection of a life stage |
»»»»»»»» amountMean | number | true | none | Mean payment among contract payments |
»»»»»»»» customName | string | false | none | If there is no listed business partner found, a custom name is tried to be extracted from the transaction. |
»»»»»»»» id | string | true | none | Unique Universal Identifier (UUID) |
»»»»»»»» status | string | true | none | Status of contract (ACTIVE or NOT_ACTIVE) |
»»»»»»»» tagTreeItemBusinessPartner | business_partner_tag_tree_item_schema | true | none | none |
»»»»»»»»» addressCity | string | false | none | Address city of the business partner |
»»»»»»»»» addressCountry | string | false | none | Address country of the business partner |
»»»»»»»»» addressStreet | string | false | none | Address street incl. number of the business partner |
»»»»»»»»» addressZip | string | false | none | Address zip/postal code of the business partner |
»»»»»»»»» categories | [string] | false | none | Categories the business partner belongs to. |
»»»»»»»»» creditorId | string | false | none | creditor id of the business partner |
»»»»»»»»» description | string | false | none | Gives a description of the tagTreeItem |
»»»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»»»» group | string | false | none | Group the business partner belongs to. |
»»»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree item |
»»»»»»»»» systemName | string | true | none | Unique name of the tag tree item |
»»»»»»»»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»»»»»»»»» description | string | false | none | Gives a description of the tag tree |
»»»»»»»»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»»»»»»»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»»»»»»»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»»»»»»»»» systemName | string | true | none | Unique name of the tag tree |
»»»»»»»»»» version | number | true | none | Version of the tag tree |
»»»»»»»»» telephone | string | false | none | Telephone of the business partner |
»»»»»»»»» website | string | false | none | Website of the business partner |
»»»»»»»» tagTreeItemCategory | tag_tree_item_schema | true | none | none |
»»»»»»»» tagTreeItemInsuranceType | tag_tree_item_schema | false | none | none |
»»»»»»»» tagTreeItemPeriod | tag_tree_item_schema | true | none | none |
»»»»»»» entity | entity_schema | true | none | none |
»»»»»»» id | string | true | none | Unique Universal Identifier (UUID) |
»»»»»»» relations | [relation_schema] | false | none | List of relations |
»»»»»»» tagTreeItem | life_tag_tree_item_schema | true | none | none |
Sales Triggers
Sales trigger detection of a user
Return sales triggers tags
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/sales-triggers \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/sales-triggers
This end-point runs contracts and life endpoints and returns sales triggers when conditions on these sales triggers are met for the specific user.
Sales Triggers are extendable on a tenant basis.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
threshold | query | integer | false | Sales trigger savings potential: Threshold amount. |
Example responses
200 Response
[
{
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "85b962ac-1e50-3d2f-3e83-bc577678ad55",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/5/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/5/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/5/tag-tree-items/247/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Trigger for a missing private liability insurance",
"displayName": "Trigger für eine fehlende Privathaftpflichtversicherung",
"systemId": 247,
"systemName": "MISSING_INSURANCE_LIABILITY_PRIVATE",
"systemNameParent": "MISSING",
"tagTree": {
"description": "Two level sales trigger tag tree.",
"displayName": "Sales Trigger",
"isClientGenerated": false,
"systemId": 5,
"systemName": "SALES_TRIGGERS",
"version": 0.1
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [sales_triggers_tag_instance_schema] | false | none | none |
» details | sales_triggers_tag_instance_details_schema | false | none | none |
»» eventDate | string(date) | true | none | Date of the event |
» entity | entity_schema | true | none | none |
»» displayName | string | true | none | Display name of the entity |
»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»» id | string | true | none | Transaction UUID or USER UUID. |
»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
» id | string | true | none | Unique Universal Identifier (UUID) |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» tagTreeItem | tag_tree_item_schema | true | none | none |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
Affordability
Affordability of a user
Return an affordability tag
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/affordability \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/affordability
Defines attributes to determine the affordability of a user.
The endpoint uses the results of various other endpoints and aggregates them to define several attributes, such as discretionary money or the amount a user spends on gambling activities, which should allow a confident decision whether a user can afford a certain product or service.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
{
"details": {
"creditCards": 0,
"debtCollectionPayments": false,
"discretionary": 3788.69,
"discretionaryForIrregularLuxuries": 3609.48,
"existingLoans": false,
"expenses": {
"amount": -1722.88,
"luxuries": {
"amount": -435.9,
"irregular": {
"amount": -216.57,
"amountsPerTagTreeItem": [
{
"amount": -191.67,
"tagTreeItem": {
"description": "Transactions involving cash withdrawals at an ATM or a bank facility",
"displayName": "Barauszahlung",
"systemId": 2,
"systemName": "BANKFINANCE_CASHWITHDRAWAL",
"systemNameParent": "BANKFINANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -12.22,
"tagTreeItem": {
"description": "Payments from eating out (e.g. restaurants, bars)",
"displayName": "Ausgehen und Essen",
"systemId": 83,
"systemName": "RECREATION_FOODANDDRINKS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -2.99,
"tagTreeItem": {
"description": "Expenses for clothing and accessories",
"displayName": "Kleidung und Accessoires",
"systemId": 101,
"systemName": "SHOPPING_CLOTHINGACCESSORIES",
"systemNameParent": "SHOPPING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -6,
"tagTreeItem": {
"description": "Donations to charities",
"displayName": "Spenden & Wohltätigkeit",
"systemId": 65,
"systemName": "LIVING_CHARITY",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -1.58,
"tagTreeItem": {
"description": "Expenses related to child toys (e.g. buying toys at toysrus)",
"displayName": "Spielwaren",
"systemId": 25,
"systemName": "FAMILY_TOYS",
"systemNameParent": "FAMILY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -1.82,
"tagTreeItem": {
"description": "Other transactions related to the subject of housing",
"displayName": "Wohnen - Sonstiges",
"systemId": 35,
"systemName": "HOUSING_OTHER",
"systemNameParent": "HOUSING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -0.29,
"tagTreeItem": {
"description": "Other transactions including living expenses",
"displayName": "Lebenshaltung - Sonstiges",
"systemId": 68,
"systemName": "LIVING_OTHER",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
},
"regular": {
"amount": -179.21,
"amountsPerTagTreeItem": [
{
"amount": -21.98,
"tagTreeItem": {
"description": "Expenses for music and video streaming as well as pay TV",
"displayName": "Streaming und Pay-TV",
"systemId": 115,
"systemName": "RECREATION_STREAMING",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -20,
"tagTreeItem": {
"description": "Transactions related to personal fitness and sports (e.g. monthly gym membership payments)",
"displayName": "Sport und Fitness",
"systemId": 89,
"systemName": "RECREATION_SPORTS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -24.1,
"tagTreeItem": {
"description": "Payments related to a car insurance",
"displayName": "KFZ-Versicherung",
"systemId": 63,
"systemName": "INSURANCE_VEHICLE",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -4.77,
"tagTreeItem": {
"description": "Payments related to a liability insurance contract",
"displayName": "Haftpflichtversicherung",
"systemId": 57,
"systemName": "INSURANCE_LIABILITY",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -79.01,
"tagTreeItem": {
"description": "Payments related to a life insurance contract",
"displayName": "Lebensversicherung",
"systemId": 58,
"systemName": "INSURANCE_LIFE",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -10.31,
"tagTreeItem": {
"description": "Payments from eating out (e.g. restaurants, bars)",
"displayName": "Ausgehen und Essen",
"systemId": 83,
"systemName": "RECREATION_FOODANDDRINKS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -19.04,
"tagTreeItem": {
"description": "Payments related to an insurance contract covering legal expenses",
"displayName": "Rechtsschutzversicherung",
"systemId": 56,
"systemName": "INSURANCE_LEGAL",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
},
"necessities": {
"amount": -1272.15,
"irregular": {
"amount": -94.02,
"amountsPerTagTreeItem": [
{
"amount": -48.94,
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -21.62,
"tagTreeItem": {
"description": "Payments from refueling at a gas station",
"displayName": "Kraftstoffe und Schmiermittel",
"systemId": 72,
"systemName": "MOBILITY_FUEL",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -6.28,
"tagTreeItem": {
"description": "Payments for drugstore items (e.g. buying bath products)",
"displayName": "Drogerie",
"systemId": 66,
"systemName": "LIVING_DRUGSTORE",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -4.19,
"tagTreeItem": {
"description": "Business related interest or principal payments",
"displayName": "Kredittilgung (geschäftlich)",
"systemId": 144,
"systemName": "BUSINESS_CREDITPAYMENT",
"systemNameParent": "BUSINESS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -7.38,
"tagTreeItem": {
"description": "Transactions involving payments for public radio and television",
"displayName": "Öffentlich-rechtlicher Rundfunk",
"systemId": 11,
"systemName": "BILLS_PUBLICRADIO",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -5.61,
"tagTreeItem": {
"description": "Other transactions related to education",
"displayName": "Bildungswesen - Sonstiges",
"systemId": 16,
"systemName": "EDUCATION_OTHER",
"systemNameParent": "EDUCATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
},
"regular": {
"amount": -1135.31,
"amountsPerTagTreeItem": [
{
"amount": -17.5,
"tagTreeItem": {
"description": "Transactions involving payments for public radio and television",
"displayName": "Öffentlich-rechtlicher Rundfunk",
"systemId": 11,
"systemName": "BILLS_PUBLICRADIO",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -2.53,
"tagTreeItem": {
"description": "Payments from refueling at a gas station",
"displayName": "Kraftstoffe und Schmiermittel",
"systemId": 72,
"systemName": "MOBILITY_FUEL",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -0.9,
"tagTreeItem": {
"description": "Payments for drugstore items (e.g. buying bath products)",
"displayName": "Drogerie",
"systemId": 66,
"systemName": "LIVING_DRUGSTORE",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -56.82,
"tagTreeItem": {
"description": "Transactions involving payments for electricity and heating (e.g. to a municipal utility)",
"displayName": "Energiekosten",
"systemId": 9,
"systemName": "BILLS_ENERGY",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -46.17,
"tagTreeItem": {
"description": "Payments to telecommunication providers for a mobile or fixed-line network connection",
"displayName": "Internet und Telekommunikation",
"systemId": 12,
"systemName": "BILLS_TELECOMMUNICATIONS",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -66.6,
"tagTreeItem": {
"description": "Payments from using public transports",
"displayName": "ÖPNV",
"systemId": 75,
"systemName": "MOBILITY_PUBLICTRANSPORT",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -944.79,
"tagTreeItem": {
"description": "Transactions involving payments to a tenant",
"displayName": "Miete/Wohngeld",
"systemId": 37,
"systemName": "HOUSING_RENT",
"systemNameParent": "HOUSING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
}
},
"financialLiteracy": false,
"gambling": 0,
"income": {
"amount": 5060.84,
"irregular": {
"amount": 0,
"amountsPerTagTreeItem": []
},
"regular": {
"amount": 5060.84,
"amountsPerTagTreeItem": [
{
"amount": 4856.84,
"tagTreeItem": {
"description": "Income from salary payments",
"displayName": "Gehalt",
"systemId": 49,
"systemName": "INCOME_SALARY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": 204,
"tagTreeItem": {
"description": "Income from gov. child benefits",
"displayName": "Staatliche Förderung für Familie und Kinder",
"systemId": 52,
"systemName": "INCOME_STATEFAMILY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
},
"mortgagePayments": false,
"mostRecentRentalPayment": "2023-06-15",
"ratioExpensesToIncome": 0.34,
"ratioLuxuriesToExpenses": 0.25,
"ratioLuxuriesToIncome": 0.09,
"ratioNecessitiesToExpenses": 0.74,
"ratioNecessitiesToIncome": 0.25,
"reminderCharges": false,
"rentalPayments": true,
"returnDebits": false,
"savings": 3337.96,
"seizurePayments": false
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "1532bcd4-1b78-990f-5203-3e22a77bed2f",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/tag-tree-items/2/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Information about the affordability",
"displayName": "Informationen über die Bezahlbarkeit",
"systemId": 2,
"systemName": "AFFORDABILITY_CHECK",
"systemNameParent": "AFFORDABILITY",
"tagTree": {
"description": "Affordability tag tree with single parent and child tag.",
"displayName": "Bezahlbarkeit",
"isTenantGenerated": false,
"systemId": 17,
"systemName": "AFFORDABILITY",
"version": 0.1
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | affordability_tag_instance_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Affinities
Affinities detection of a user
Return the affinities of a user
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/affinities \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/affinities
Detects all affinities of a user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
[
{
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "ddb071a9-980d-7f25-4bfe-4d8ecdc5140e",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/14/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/14/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/14/tag-tree-items/1/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Sportive",
"displayName": "Sportenthusiast*in",
"systemId": 1,
"systemName": "SPORTIVE",
"tagTree": {
"description": "Affinity detection tag tree.",
"displayName": "Affinitäten",
"isTenantGenerated": false,
"systemId": 14,
"systemName": "AFFINITIES",
"version": 0.1
}
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [categorization_tag_instance_schema] | false | none | none |
» details | categorization_tag_instance_details_schema | false | none | none |
»» confidenceLevel | number | false | none | Confidence level between 0 and 1 |
» entity | entity_schema | true | none | none |
»» displayName | string | true | none | Display name of the entity |
»» entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
»» id | string | true | none | Transaction UUID or USER UUID. |
»» userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
» id | string | true | none | Unique Universal Identifier (UUID) |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» tagTreeItem | tag_tree_item_schema | true | none | none |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
Credit Attributes
Credit worthiness of a user
Return credit attributes
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/credit-attributes \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/credit-attributes
Calculates and summarizes relevant financial attributes of the user that are relevant for credit risk estimation.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
{
"assets": {
"investments": [],
"products": [
{
"balance": 2145.78,
"bic": "XXX12345678",
"creditDrawn": 100,
"creditLimit": 2045.78,
"currency": "EUR",
"iban": "DE001234567890123456AI",
"id": "ff165778-d633-5cc2-8aa2-331dd6c32c67",
"lastUpdated": "2023-07-13 14:09:06",
"name": "Girokonto",
"overdraftLimit": 3000,
"owner": "Li Wang",
"providerId": "00000000-0000-0000-0000-000000000000",
"providerName": "Demo Provider",
"status": "VOLLSTAENDIG",
"type": "GIROKONTO"
}
]
},
"budget": {
"expenses": {
"fixedSpending": {
"statistics": {
"max": 1572.24,
"mean": 1381.62,
"median": 1376,
"min": 1214.33
}
},
"totalSpending": {
"statistics": {
"max": 2351.1,
"mean": 1835.04,
"median": 1744.18,
"min": 1568.56
}
},
"variableSpending": {
"statistics": {
"max": 1133.32,
"mean": 453.42,
"median": 363.29,
"min": 35.19
}
}
},
"income": {
"fixedIncome": {
"contracts": [
{
"details": {
"amountFirst": 204,
"amountLatest": 204,
"amountMaximum": 204,
"amountMean": 204,
"amountMedian": 204,
"amountMinimum": 204,
"amountNext": 204,
"amountTotal": 2448,
"amountTotalNonRegular": 0,
"amountTotalRegular": 2448,
"contractNumbers": [
"KG237002FK188590"
],
"costDevelopment": {
"2022-08-09": 204,
"2022-09-09": 204,
"2022-10-09": 204,
"2022-11-09": 204,
"2022-12-09": 204,
"2023-01-09": 204,
"2023-02-09": 204,
"2023-03-09": 204,
"2023-04-09": 204,
"2023-05-09": 204,
"2023-06-09": 204,
"2023-07-09": 204
},
"costDevelopmentRegular": {
"2022-08-09": 204,
"2022-09-09": 204,
"2022-10-09": 204,
"2022-11-09": 204,
"2022-12-09": 204,
"2023-01-09": 204,
"2023-02-09": 204,
"2023-03-09": 204,
"2023-04-09": 204,
"2023-05-09": 204,
"2023-06-09": 204,
"2023-07-09": 204
},
"counterpartyBic": "MARKDEF1760",
"counterpartyIban": "DE077600000000760016",
"counterpartyName": "Bundesagentur fur Arbeit - Familienkasse",
"counterpartyNameUltimate": "",
"customerNumbers": [],
"dateFirst": "2022-08-09",
"dateLatest": "2023-07-09",
"dateNext": "2023-08-09",
"dateStart": "2022-08-09",
"daysAge": 338,
"growthRate": 0,
"standardDeviation": 0,
"status": "ACTIVE",
"transactionIds": [
"1a62aff0-000b-60d0-2640-74a316284f9d",
"1a6d95f0-0000-641c-bf53-2db3591ab06d",
"1a7821f0-0001-9b0a-2660-e38301b800ae",
"1a830bb0-0001-c336-b0ca-83d314fb0869",
"1a8d97b0-0002-303c-d353-b3530898c32b",
"1a987db0-0008-b365-0803-46933da9f3b6",
"1aa363b0-0001-62d6-d412-4ed3b7c9bee7",
"1aad3bb0-000d-e724-3973-9d834e69d713",
"1ab81df0-0006-3328-0519-bcf3fe690f40",
"1ac2a9f0-000a-e169-66db-3103739bef1b",
"1acd8ff0-000f-f6b9-7e6b-0fe3927aca69",
"1ad81bf0-000c-c8e0-a93b-09c35b3b31a5"
],
"transactionIdsNonRegular": [],
"transactionIdsRegular": [
"1a62aff0-000b-60d0-2640-74a316284f9d",
"1a6d95f0-0000-641c-bf53-2db3591ab06d",
"1a7821f0-0001-9b0a-2660-e38301b800ae",
"1a830bb0-0001-c336-b0ca-83d314fb0869",
"1a8d97b0-0002-303c-d353-b3530898c32b",
"1a987db0-0008-b365-0803-46933da9f3b6",
"1aa363b0-0001-62d6-d412-4ed3b7c9bee7",
"1aad3bb0-000d-e724-3973-9d834e69d713",
"1ab81df0-0006-3328-0519-bcf3fe690f40",
"1ac2a9f0-000a-e169-66db-3103739bef1b",
"1acd8ff0-000f-f6b9-7e6b-0fe3927aca69",
"1ad81bf0-000c-c8e0-a93b-09c35b3b31a5"
]
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "ca60688a-2e44-e407-bad5-342adb4e5513",
"tagTreeItemBusinessPartner": {
"addressCity": "Nürnberg",
"addressCountry": "Deutschland",
"addressStreet": "Regensburger Straße 104",
"addressZip": "90478",
"categories": [],
"displayName": "Bundesagentur für Arbeit (BA)",
"systemId": 4392,
"systemName": "Bundesagentur für Arbeit",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
},
"telephone": "0911/179-0",
"website": "https://www.arbeitsagentur.de/"
},
"tagTreeItemCategory": {
"description": "Income from gov. child benefits",
"displayName": "Staatliche Förderung für Familie und Kinder",
"systemId": 52,
"systemName": "INCOME_STATEFAMILY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"tagTreeItemInsuranceType": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
},
"tagTreeItemPeriod": {
"description": "Period of a single month",
"displayName": "Ein Monat",
"systemId": 3,
"systemName": "MONTH_ONE",
"systemNameParent": "MONTH",
"tagTree": {
"description": "Two level periods tag tree.",
"displayName": "Turnus",
"isTenantGenerated": false,
"systemId": 4,
"systemName": "PERIODS",
"version": 0.4
}
}
}
],
"statistics": {
"max": 204,
"mean": 204,
"median": 204,
"min": 204
}
},
"salary": {
"contracts": [
{
"details": {
"amountFirst": 4856.84,
"amountLatest": 4856.84,
"amountMaximum": 4856.84,
"amountMean": 4856.84,
"amountMedian": 4856.84,
"amountMinimum": 4856.84,
"amountNext": 4856.84,
"amountTotal": 33997.88,
"amountTotalNonRegular": 0,
"amountTotalRegular": 33997.88,
"contractNumbers": [],
"costDevelopment": {
"2022-12-29": 4856.84,
"2023-01-29": 4856.84,
"2023-02-28": 4856.84,
"2023-03-29": 4856.84,
"2023-04-29": 4856.84,
"2023-05-29": 4856.84,
"2023-06-29": 4856.84
},
"costDevelopmentRegular": {
"2022-12-29": 4856.84,
"2023-01-29": 4856.84,
"2023-02-28": 4856.84,
"2023-03-29": 4856.84,
"2023-04-29": 4856.84,
"2023-05-29": 4856.84,
"2023-06-29": 4856.84
},
"counterpartyBic": "",
"counterpartyIban": "DE100456789",
"counterpartyName": "The Company",
"counterpartyNameUltimate": "",
"customName": "The Company",
"customerNumbers": [],
"dateFirst": "2022-12-29",
"dateLatest": "2023-06-29",
"dateNext": "2023-07-31",
"dateStart": "2022-12-29",
"daysAge": 196,
"growthRate": 0,
"standardDeviation": 0,
"status": "ACTIVE",
"transactionIds": [
"1a94b470-0005-4d21-b5e4-fc537ee85372",
"1a9f9a70-000e-2df4-e7f3-3223b9baac33",
"1aaa2670-0006-9b4a-6b2f-05d33a0bbdd7",
"1ab454b0-0002-2408-739c-9213d5681020",
"1abf3ab0-000b-e237-2a5e-68b3c43ab447",
"1ac9c6b0-000d-fe59-053b-d563ba3a8ca7",
"1ad4acb0-000b-fa2a-b232-4603c00a9efd"
],
"transactionIdsNonRegular": [],
"transactionIdsRegular": [
"1a94b470-0005-4d21-b5e4-fc537ee85372",
"1a9f9a70-000e-2df4-e7f3-3223b9baac33",
"1aaa2670-0006-9b4a-6b2f-05d33a0bbdd7",
"1ab454b0-0002-2408-739c-9213d5681020",
"1abf3ab0-000b-e237-2a5e-68b3c43ab447",
"1ac9c6b0-000d-fe59-053b-d563ba3a8ca7",
"1ad4acb0-000b-fa2a-b232-4603c00a9efd"
]
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "b54f1bd6-6367-f49c-9a0f-fd10c33528da",
"tagTreeItemBusinessPartner": {
"categories": [
"OTHER_OTHER"
],
"description": "Unknown business partner, for business partners with custom name",
"displayName": "Unbekannter Geschäftspartner",
"systemId": 4384,
"systemName": "UNKNOWN",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
}
},
"tagTreeItemCategory": {
"description": "Income from salary payments",
"displayName": "Gehalt",
"systemId": 49,
"systemName": "INCOME_SALARY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"tagTreeItemInsuranceType": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
},
"tagTreeItemPeriod": {
"description": "Period of a single month",
"displayName": "Ein Monat",
"systemId": 3,
"systemName": "MONTH_ONE",
"systemNameParent": "MONTH",
"tagTree": {
"description": "Two level periods tag tree.",
"displayName": "Turnus",
"isTenantGenerated": false,
"systemId": 4,
"systemName": "PERIODS",
"version": 0.4
}
}
}
],
"lengthOfEmployment": 196,
"statistics": {
"max": 4856.84,
"mean": 4856.84,
"median": 4856.84,
"min": 4856.84
}
},
"totalIncome": {
"statistics": {
"max": 5060.84,
"mean": 5060.84,
"median": 5060.84,
"min": 5060.84
}
},
"variableIncome": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
},
"windfalls": []
},
"net": {
"positiveCashflowRatio": 1,
"statistics": {
"max": 3492.28,
"mean": 3225.8,
"median": 3316.66,
"min": 2709.74
}
},
"savings": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
}
},
"credit": {
"financialCredit": {
"activeContracts": [],
"passiveContracts": []
},
"leasing": {
"activeContracts": [],
"passiveContracts": []
},
"mortgage": {
"activeContracts": [],
"passiveContracts": []
}
},
"flags": {
"creditCards": 0,
"debtCollection": [],
"reminderCharges": [],
"returnedDebitNotes": [
{
"amount": 209.99,
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"postingDatetime": "2022-10-07 00:00:00",
"product": "ff165778-d633-5cc2-8aa2-331dd6c32c67",
"provider": "00000000-0000-0000-0000-000000000000",
"tags": {
"businessPartner": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "24658f8f-bb91-b1af-f7e0-af8fff4a3fe9",
"tagTreeItem": {
"description": "Unknown business partner, for business partners with custom name",
"displayName": "Unbekannter Geschäftspartner",
"systemId": 4384,
"systemName": "UNKNOWN",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
}
}
},
"category": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "9799df14-5082-6cef-588f-4573e7837266",
"tagTreeItem": {
"description": "Transactions involving failed debit payments that are returned.",
"displayName": "Rücklastschriften",
"systemId": 48,
"systemName": "INCOME_RETURNDEBIT",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
"insurance": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "e7206a87-c43b-b9d7-c186-7bfd44019cc4",
"tagTreeItem": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
}
}
}
}
],
"riskyPayment": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
}
},
"lifeStages": {
"housing": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "a6a99ea6-7ab8-18c1-8589-2e8a3bd0068f",
"tagTreeItem": {
"displayName": "Mieter",
"domain": {
"description": "The user's ownership status for their current home",
"displayName": "Wohnsituation",
"systemId": 4,
"systemName": "HOUSING",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 15,
"systemName": "TENANCY",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"labourMarket": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "9cbd4983-42a0-0242-ffba-5b24ac035b30",
"tagTreeItem": {
"displayName": "Angestellt",
"domain": {
"description": "The user's state with respect to employment and education",
"displayName": "Arbeitsmarkt",
"systemId": 1,
"systemName": "LABOUR_MARKET",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 4,
"systemName": "EMPLOYMENT",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"parenthood": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "3681c765-42f4-e77f-4794-39c300fe2a44",
"tagTreeItem": {
"displayName": "Elternteil",
"domain": {
"description": "The user's parental status",
"displayName": "Elternschaft",
"systemId": 2,
"systemName": "PARENTHOOD",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 7,
"systemName": "PARENTHOOD",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"relationship": {}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | credit_attributes_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Credit Check
Check credit worthiness
DEPRECATED
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/credit-check \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/credit-check
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
{
"details": {
"averageMonthlySalary": 1234.56,
"existingLoans": true,
"fixedIncome": true,
"lengthOfEmployment": 65,
"mortgagePayments": true,
"ratioDeficitMonths": 0.5,
"reminderCharges": true,
"returnDebits": true,
"riskyActivities": true
},
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"userId": "156ca508-c0e2-52c5-3202-8de20e7ed12b"
},
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"relations": [
{
"href": "https://banksapi.io/tags/tag-trees/",
"rel": "tag_trees"
}
],
"tagTreeItem": {
"description": "Expenses from daily grocery purchases",
"displayName": "Groceries",
"systemId": 17,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Detailed inusrance categories.",
"displayName": "Kategorien",
"isTenantGenerated": true,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 1.5
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | credit_check_tag_instance_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Tags
Get information about tag trees and tag tree items
Get TagTrees
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tags/v1/tag-trees \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /tags/v1/tag-trees
TagTree
is a collection of TagTreeItem
s. Each TagTree
represent a versioned set of
concepts that are relevant for a Business Domain. We call a curated group of concepts a
Controlled Vocabulary as in accordance with the
ISO Indexing Standards, hence TagTree
represent
a specific controlled vocabulary.
For example, we represent all the different customer spending categories in the TagTree
CATEGORIES
. The set of all supported sales triggers are grouped together in the TagTree
SalesTriggers
.
TagTrees
can be thought of the root node of a hierarchical concept tree. The leaves of
the TagTree
are called TagTreeItems
.
One way of interpreting TagTree
is seeing it as the root node of the tree. However, we
have intentionally not taken this path and represented the root node as a separate concept
in our concept model.
This gives us the flexibility of giving versions to TagTrees
. When we add a new
TagTreeItem
or deprecate an old one, it affects all TagTreeItems
, since the semantic
value of each item is in relation to all other items. Such a change is captured by a simple
increase in the version number of the TagTree
. We do our best to keep such updates rare
and backward-compatible, but we do not give hard guarantees.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
Example responses
200 Response
[
{
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
},
{
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/2/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.4
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [tags_tag_tree_schema] | false | none | none |
» description | string | false | none | Gives a description of the tag tree |
» displayName | string | true | none | User-friendly name shown to the end-users |
» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» systemId | integer | true | none | Unique internal id of the tag tree |
» systemName | string | true | none | Unique name of the tag tree |
» version | number | true | none | Version of the tag tree |
Get TagTree
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tags/v1/tag-trees/{tagTreeId} \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /tags/v1/tag-trees/{tagTreeId}
Get Information on a single TagTree
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
tagTreeId | path | integer | true | none |
Example responses
200 Response
{
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | tags_tag_tree_schema |
Get TagTreeItems of TagTree
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tags/v1/tag-trees/{tagTreeId}/tag-tree-items \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /tags/v1/tag-trees/{tagTreeId}/tag-tree-items
TagTre<eItems
are the individual words in the Controlled Vocabularies or
TagTrees
. For example in the TagTree
CATEGORY
, we represent spending
corresponding to online entertainment by the TagTreeItem
RECREATION_ONLINE
.
We employ a two level hierarchy in TagTreeItems
. The parent-child relation is can be
obtained threefold.
First, the relation is coded in the systemName
attribute, which has the naming
convention PARENT_CHILD
.
Secondly a parent
attribute is returned for the children, which has the systemName
of the parent TagTreeItem
. Finally, a relation having the URI of the parent is also
returned. We do not support a parallel children
attribute.
TagTreeItem
represent the standardized part of tag instances. They represent the
normalized words in the controlled vocabulary represented by Tag Trees
.
Instead of defining a specific tag tree item for each tag tree, we have opted to define a single tag tree item tag, with attributes representing the attributes of all possible tag tree items from all tag trees.
This is a design choice to keep them searchable under
/tag-trees/<int:tagTreeId>/tag-tree-items/
.
In specific categorizing end-points, where tag tree items are returned, not relevant
attributes are deleted on use.
Parameter Details
### tagTreeId
Use /tags/tag-trees/
to get a list of all tag trees with their systemId
s to use
them as tagTreeId
input in calling this endpoint.
### categoryTagTreeItemId
This option only works with the TagTree
BUSINESS_PARTNERS
. Each business partner
in our database is associated to one or multiple TagTreeItem
from TagTree
CATEGORIES
. By setting this parameter to the systemId
of the desired TagTreeItem
,
e.g. set the value to 8 to receive only business partners related to INSURANCE
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
categoryTagTreeItemId | query | integer | false | system id of a tag tree item of the tag tree with the system name 'CATEGORIES' |
tagTreeId | path | integer | true | none |
Example responses
200 Response
[
{
"description": "Transactions in the field of banking and finance",
"displayName": "Bank und Finanzen",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "tag_tree_item"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/None/",
"rel": "tag_tree_item_parent"
}
],
"systemId": 1,
"systemName": "BANKFINANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
},
{
"description": "Transactions including invoices & bills",
"displayName": "Vertragsrechnungen",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/2/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/2/",
"rel": "tag_tree_item"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/None/",
"rel": "tag_tree_item_parent"
}
],
"systemId": 2,
"systemName": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [extensive_tag_tree_item_schema] | false | none | none |
» addressCity | string | false | none | Address city of the business partner |
» addressCountry | string | false | none | Address country of the business partner |
» addressStreet | string | false | none | Address street incl. number of the business partner |
» addressZip | string | false | none | Address zip/postal code of the business partner |
» categories | [string] | false | none | Categories the business partner belongs to. |
» creditorId | string | false | none | creditor id of the business partner |
» description | string | false | none | Gives a description of the tagTreeItem |
» displayName | string | true | none | User-friendly name shown to the end-users |
» group | string | false | none | Group the business partner belongs to. |
» relations | [relation_schema] | false | none | List of relations |
»» href | string | true | none | Link of the relation |
»» rel | string | true | none | Name of the relation |
» systemId | integer | true | none | Unique internal id of the tag tree item |
» systemName | string | true | none | Unique name of the tag tree item |
» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»» description | string | false | none | Gives a description of the tag tree |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»» systemId | integer | true | none | Unique internal id of the tag tree |
»» systemName | string | true | none | Unique name of the tag tree |
»» version | number | true | none | Version of the tag tree |
» telephone | string | false | none | Telephone of the business partner |
» website | string | false | none | Website of the business partner |
Get TagTreeItem of TagTree
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tags/v1/tag-trees/{tagTreeId}/tag-tree-items/{tagTreeItemId} \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /tags/v1/tag-trees/{tagTreeId}/tag-tree-items/{tagTreeItemId}
TagTreeItem
represent the standardized part of tag instances. They represent the
normalized words in the controlled vocabulary represented by Tag Trees
.
Instead of defining a specific tag tree item for each tag tree, we have opted to define a single tag tree item tag, with attributes representing the attributes of all possible tag tree items from all tag trees.
This is a design choice to keep them searchable under
/tag-trees/<int:tagTreeId>/tag-tree-items/
.
In specific categorizing end-points, where tag tree items are returned, not relevant
attributes are deleted on use.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
tagTreeId | path | integer | true | none |
tagTreeItemId | path | integer | true | none |
Example responses
200 Response
{
"description": "Transactions in the field of banking and finance",
"displayName": "Bank und Finanzen",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "tag_tree_item"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/None/",
"rel": "tag_tree_item_parent"
}
],
"systemId": 1,
"systemName": "BANKFINANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | extensive_tag_tree_item_schema |
Tagging Rules
Management of user specific rules
Delete rules
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/customer/v2/ai/tagging-rules \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
DELETE /customer/v2/ai/tagging-rules
Delete all existing categorization rules of a user without any filter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
tagTreeId | query | integer | false | ID of a tag tree. If missing, all rules are selected. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Successfully deleted all rules. | None |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Get rules
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tagging-rules \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/tagging-rules
Get a list of all categorization rules a specific user has. A rule consists of counterparty information (name and IBAN) and tag tree item information e.g. the tag tree item with the system name LIVING_GROCERIES of the tag tree with the system name CATEGORIES. All future transactions are categorized according to the existing rules if possible instead of running a categorization model.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
tagTreeId | query | integer | false | ID of a tag tree. If missing, all rules are selected. |
Example responses
200 Response
[
{
"counterpartyIban": "DE42500105174896827935",
"counterpartyName": "Müller Drogerie",
"id": "008a423d-ab1a-3785-17ff-d66e45b97f22",
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"user": "0e3cb7d1-f17e-3924-4d78a-21d3590dfe58"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [user_rule_schema] | false | none | none |
» counterpartyIban | string | true | none | IBAN of the counterparty |
» counterpartyName | string | true | none | Name of the counterparty |
» id | string | true | none | ID of the rule |
» tagTreeItem | tag_tree_item_schema | true | none | tag tree item to use for custom categorization |
»» description | string | false | none | Gives a description of the tagTreeItem |
»» displayName | string | true | none | User-friendly name shown to the end-users |
»» systemId | integer | true | none | Unique internal id of the tag tree item |
»» systemName | string | true | none | Unique name of the tag tree item |
»» systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
»» tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
»»» description | string | false | none | Gives a description of the tag tree |
»»» displayName | string | true | none | User-friendly name shown to the end-users |
»»» isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
»»» systemId | integer | true | none | Unique internal id of the tag tree |
»»» systemName | string | true | none | Unique name of the tag tree |
»»» version | number | true | none | Version of the tag tree |
»» tenant | string | true | none | ID of the tenant |
»» user | string | true | none | ID of the user |
Create rule
Code samples
## You can also use wget
curl -X POST https://banksapi.io/customer/v2/ai/tagging-rules \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
POST /customer/v2/ai/tagging-rules
Create a new rule according to the transaction information (more specifically the counterparty name and the counterparty iban) and a tag tree item.
It is not possible for a single user to create two rules with the same counterparty (name and IBAN are decisive).
It is not possible to change the tag tree item of an existing rule. Please delete the existing rule and create a new one with the new tag tree item.
It is not possible to create a rule if both counterparty name and counterparty IBAN do not exist.
Body parameter
{
"properties": {
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"tagTreeItem": {
"allOf": [
{
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "tag tree item to use for custom categorization"
}
},
"required": [
"counterpartyIban",
"counterpartyName",
"tagTreeItem"
],
"type": "object"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
body | body | v3_connect_user_rule_input_schema | true | none |
Example responses
200 Response
{
"counterpartyIban": "DE42500105174896827935",
"counterpartyName": "Müller Drogerie",
"id": "008a423d-ab1a-3785-17ff-d66e45b97f22",
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"user": "0e3cb7d1-f17e-3924-4d78a-21d3590dfe58"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | user_rule_schema |
201 | Created | Successfully created a rule. | user_rule_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
409 | Conflict | Conflict | None |
422 | Unprocessable Entity | UnprocessableEntity | None |
500 | Internal Server Error | InternalServerError | None |
Delete rule
Code samples
## You can also use wget
curl -X DELETE https://banksapi.io/customer/v2/ai/tagging-rules/{ruleId} \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
DELETE /customer/v2/ai/tagging-rules/{ruleId}
Delete a specific categorization rule of a user by ID. To find out the ids get all existing rules of the user with GET. To delete all existing rules of a user use DELETE without ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
ruleId | path | string | true | ID of an existing rule |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Successfully deleted rule. | None |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Rule does not exist. | None |
500 | Internal Server Error | InternalServerError | None |
Get rule
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/ai/tagging-rules/{ruleId} \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/ai/tagging-rules/{ruleId}
Get a specific categorization rule of a specific user by ID. To get all existing rules of a user use the endpoint without the ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
ruleId | path | string | true | ID of an existing rule |
Example responses
200 Response
{
"counterpartyIban": "DE42500105174896827935",
"counterpartyName": "Müller Drogerie",
"id": "008a423d-ab1a-3785-17ff-d66e45b97f22",
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"user": "0e3cb7d1-f17e-3924-4d78a-21d3590dfe58"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | user_rule_schema |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Rule does not exist. | None |
500 | Internal Server Error | InternalServerError | None |
Categories V1
General categorization of transactions version 1
DEPRECATED
Code samples
## You can also use wget
curl -X GET https://banksapi.io/customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?categorize=true \
-H 'Accept: application/json' \
-H 'x-correlation-id: {x-correlation-id}' \
-H 'Authorization: Bearer {access-token}'
GET /customer/v2/bankzugaenge/{accessId}/{productId}/kontoumsaetze?categorize=true
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-correlation-id | header | string | false | ID used to track end-to-end processing of the request |
accessId | path | string | true | ID of the bank access |
productId | path | string | true | ID of the bank product |
Example responses
200 Response
[
{
"betrag": -3.94,
"buchungsdatum": "2020-03-01 10:00",
"buchungstext": "Lastschrift",
"gegenkontoBic": "PBNKDEFF",
"gegenkontoIban": "DE75512108001245126199",
"gegenkontoInhaber": "Erika Musterfrau",
"gvCode": "082",
"hash": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"primanotaNummer": "999001",
"product": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"provider": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"tags": [
{
"category": "LIVING_GROCERIES",
"confidenceLevel": 0.95,
"displayName": "Lebensmittel",
"parent": "LIVING",
"parentCategory": "LIVING",
"systemName": "LIVING_GROCERIES",
"tagId": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"tagScope": "transaction",
"tagType": "CATEGORY",
"tagVersion": "1.5"
}
],
"tenant": "1bcb487e-f409-4438-a358-d8d128581761",
"user": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"verwendungszweck": "Miete 2020 03 Wohnung 123 Bahnhofsstraße 1",
"wertstellungsdatum": "2020-03-01 10:00"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [v1_output] | false | none | none |
» betrag | number | true | none | Amount in Euros |
» buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
» buchungstext | string | false | none | Text entered during posting |
» gegenkontoBic | string | false | none | BIC of the counterparty |
» gegenkontoIban | string | false | none | IBAN of the counterparty |
» gegenkontoInhaber | string | false | none | Name of the counterparty |
» gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
» hash | string | false | none | Hash value for historical ordering |
» id | string | true | none | Unique Universal Identifier (UUID) |
» primanotaNummer | string | false | none | Id used by the bank |
» product | string | true | none | Account which the transaction is associated with |
» provider | string | true | none | Id of the bank |
» tags | [v1_tag] | false | none | List of tags of the transaction |
»» category | string | true | none | Unique name used by the API, similar to systemId. |
»» confidenceLevel | number | false | none | Probability that the tag is correct. |
»» displayName | string | true | none | User friendly local name. |
»» parent | string | false | none | systemName of the tag's parent. |
»» parentCategory | string | false | none | systemName of the tag's parent. |
»» systemName | string | true | none | Unique name used by the API, similar to systemId. |
»» tagId | string | false | none | Unique Universal Identifier (UUID) |
»» tagScope | string | false | none | Object of the tag, user or transaction |
»» tagType | string | false | none | Type of the tag |
»» tagVersion | string | true | none | Version of the tag tree |
» tenant | string | true | none | Tenant ID to which the transaction belongs |
» user | string | true | none | Universally Unique Identifier of the user |
» verwendungszweck | string | true | none | Text entered during posting |
» wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Schemas
affordability_amount_tti_schema
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Total amount |
tagTreeItem | tag_tree_item_schema | true | none | none |
affordability_expenses_schema
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"luxuries": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly expenses for luxuries based on regularly recurring payments including contract payments (e.g. for streaming services) and irregular payments (e.g. travel costs)."
},
"necessities": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly expenses for necessities based on regularly recurring payments including contract payments and irregular payments for living costs such as groceries."
}
},
"required": [
"amount"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Total amount |
luxuries | affordability_regular_irregular_schema | false | none | Expected average monthly expenses for luxuries based on regularly recurring payments including contract payments (e.g. for streaming services) and irregular payments (e.g. travel costs). |
necessities | affordability_regular_irregular_schema | false | none | Expected average monthly expenses for necessities based on regularly recurring payments including contract payments and irregular payments for living costs such as groceries. |
affordability_regular_irregular_schema
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Total amount |
irregular | affordability_regular_or_irregular_schema | false | none | Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included. |
regular | affordability_regular_or_irregular_schema | false | none | Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included. |
affordability_regular_or_irregular_schema
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Total amount |
amountsPerTagTreeItem | [affordability_amount_tti_schema] | true | none | Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item. |
affordability_tag_instance_details_schema
{
"properties": {
"creditCards": {
"description": "Number of existing credit cards.",
"example": 3,
"minimum": 0,
"type": "integer"
},
"debtCollectionPayments": {
"description": "Whether reminder charges transactions exist in the recent past.",
"example": false,
"type": "boolean"
},
"discretionary": {
"description": "Expected amount available monthly to spend on luxuries. Calculation based on expected necessity expenses and expected income.",
"example": 459.4,
"type": "number"
},
"discretionaryForIrregularLuxuries": {
"description": "Expected amount available monthly to spend on luxuries besides existing regularly recurring expenses including contracts. Calculation based on expected necessity expenses and income (discretionary) as well as expected regularly recurring expenses for luxury including contracts.",
"example": 345.36,
"type": "number"
},
"existingLoans": {
"description": "Whether active loans exist or not.",
"example": false,
"type": "boolean"
},
"expenses": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"luxuries": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly expenses for luxuries based on regularly recurring payments including contract payments (e.g. for streaming services) and irregular payments (e.g. travel costs)."
},
"necessities": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly expenses for necessities based on regularly recurring payments including contract payments and irregular payments for living costs such as groceries."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly expenses."
},
"financialLiteracy": {
"description": "The user has knowledge of various financial skills. Computation takes, among other things, the number of banking products, investments and insurances into account.",
"example": true,
"type": "boolean"
},
"gambling": {
"description": "Expected amount spend for gambling activities.",
"example": 34.4,
"minimum": 0,
"type": "number"
},
"income": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"irregular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on irregular transactions. Regular income/expenses not included."
},
"regular": {
"allOf": [
{
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"amountsPerTagTreeItem": {
"description": "Expected average monthly income/expenses based on irregularl/regular transactions for each tag tree item.",
"items": {
"properties": {
"amount": {
"description": "Total amount",
"example": 34.4,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amount",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"amount",
"amountsPerTagTreeItem"
],
"type": "object"
}
],
"description": "Expected average monthly income/expenses based on regularly recurring transactions including contracts. Irregular income/expenses not included."
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Expected average monthly income."
},
"mortgagePayments": {
"description": "Whether at least one transaction related to a mortgage in the recent past exists or not.",
"example": false,
"type": "boolean"
},
"mostRecentRentalPayment": {
"description": "Date of the most recent rental payment of an active rental contract. Returned if rentalPayments is True.",
"example": "2022-02-27",
"format": "date",
"type": "string"
},
"ratioExpensesToIncome": {
"description": "Ratio of expenses to income.",
"example": 0.86,
"minimum": 0,
"type": "number"
},
"ratioGamblingToDiscretionaryForIrregularLuxuries": {
"description": "Ratio of gambling expenses to discretionary for irregular luxuries. Regular gambling expenses are currently included in the computation of discretionary for irregular luxuries here. This might lead to a low ratio even though gambling expenses are high.",
"example": 0.27,
"type": "number"
},
"ratioLuxuriesToExpenses": {
"description": "Ratio of expenses for luxuries to total expenses.",
"example": 0.27,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"ratioLuxuriesToIncome": {
"description": "Ratio of expenses for luxuries to income.",
"example": 0.14,
"minimum": 0,
"type": "number"
},
"ratioNecessitiesToExpenses": {
"description": "Ratio of expenses for necessities to total expenses.",
"example": 0.73,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"ratioNecessitiesToIncome": {
"description": "Ratio of expenses for necessities to income.",
"example": 0.59,
"minimum": 0,
"type": "number"
},
"reminderCharges": {
"description": "Whether reminder charges transactions exist in the recent past.",
"example": false,
"type": "boolean"
},
"rentalPayments": {
"description": "Whether an active rental contract exists or not.",
"example": false,
"type": "boolean"
},
"returnDebits": {
"description": "Whether return debit transaction exist in the recent past or not.",
"example": false,
"type": "boolean"
},
"savings": {
"description": "Expected amount left monthly. Calculation based on total expected expenses and expected income.",
"example": 105.4,
"type": "number"
},
"seizurePayments": {
"description": "Whether reminder charges transactions exist in the recent past.",
"example": false,
"type": "boolean"
}
},
"required": [
"creditCards",
"debtCollectionPayments",
"discretionary",
"discretionaryForIrregularLuxuries",
"existingLoans",
"financialLiteracy",
"gambling",
"mortgagePayments",
"ratioExpensesToIncome",
"ratioGamblingToDiscretionaryForIrregularLuxuries",
"ratioLuxuriesToExpenses",
"ratioLuxuriesToIncome",
"ratioNecessitiesToExpenses",
"ratioNecessitiesToIncome",
"reminderCharges",
"rentalPayments",
"returnDebits",
"savings",
"seizurePayments"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creditCards | integer | true | none | Number of existing credit cards. |
debtCollectionPayments | boolean | true | none | Whether reminder charges transactions exist in the recent past. |
discretionary | number | true | none | Expected amount available monthly to spend on luxuries. Calculation based on expected necessity expenses and expected income. |
discretionaryForIrregularLuxuries | number | true | none | Expected amount available monthly to spend on luxuries besides existing regularly recurring expenses including contracts. Calculation based on expected necessity expenses and income (discretionary) as well as expected regularly recurring expenses for luxury including contracts. |
existingLoans | boolean | true | none | Whether active loans exist or not. |
expenses | affordability_expenses_schema | false | none | Expected average monthly expenses. |
financialLiteracy | boolean | true | none | The user has knowledge of various financial skills. Computation takes, among other things, the number of banking products, investments and insurances into account. |
gambling | number | true | none | Expected amount spend for gambling activities. |
income | affordability_regular_irregular_schema | false | none | Expected average monthly income. |
mortgagePayments | boolean | true | none | Whether at least one transaction related to a mortgage in the recent past exists or not. |
mostRecentRentalPayment | string(date) | false | none | Date of the most recent rental payment of an active rental contract. Returned if rentalPayments is True. |
ratioExpensesToIncome | number | true | none | Ratio of expenses to income. |
ratioGamblingToDiscretionaryForIrregularLuxuries | number | true | none | Ratio of gambling expenses to discretionary for irregular luxuries. Regular gambling expenses are currently included in the computation of discretionary for irregular luxuries here. This might lead to a low ratio even though gambling expenses are high. |
ratioLuxuriesToExpenses | number | true | none | Ratio of expenses for luxuries to total expenses. |
ratioLuxuriesToIncome | number | true | none | Ratio of expenses for luxuries to income. |
ratioNecessitiesToExpenses | number | true | none | Ratio of expenses for necessities to total expenses. |
ratioNecessitiesToIncome | number | true | none | Ratio of expenses for necessities to income. |
reminderCharges | boolean | true | none | Whether reminder charges transactions exist in the recent past. |
rentalPayments | boolean | true | none | Whether an active rental contract exists or not. |
returnDebits | boolean | true | none | Whether return debit transaction exist in the recent past or not. |
savings | number | true | none | Expected amount left monthly. Calculation based on total expected expenses and expected income. |
seizurePayments | boolean | true | none | Whether reminder charges transactions exist in the recent past. |
affordability_tag_instance_schema
{
"details": {
"creditCards": 0,
"debtCollectionPayments": false,
"discretionary": 3788.69,
"discretionaryForIrregularLuxuries": 3609.48,
"existingLoans": false,
"expenses": {
"amount": -1722.88,
"luxuries": {
"amount": -435.9,
"irregular": {
"amount": -216.57,
"amountsPerTagTreeItem": [
{
"amount": -191.67,
"tagTreeItem": {
"description": "Transactions involving cash withdrawals at an ATM or a bank facility",
"displayName": "Barauszahlung",
"systemId": 2,
"systemName": "BANKFINANCE_CASHWITHDRAWAL",
"systemNameParent": "BANKFINANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -12.22,
"tagTreeItem": {
"description": "Payments from eating out (e.g. restaurants, bars)",
"displayName": "Ausgehen und Essen",
"systemId": 83,
"systemName": "RECREATION_FOODANDDRINKS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -2.99,
"tagTreeItem": {
"description": "Expenses for clothing and accessories",
"displayName": "Kleidung und Accessoires",
"systemId": 101,
"systemName": "SHOPPING_CLOTHINGACCESSORIES",
"systemNameParent": "SHOPPING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -6,
"tagTreeItem": {
"description": "Donations to charities",
"displayName": "Spenden & Wohltätigkeit",
"systemId": 65,
"systemName": "LIVING_CHARITY",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -1.58,
"tagTreeItem": {
"description": "Expenses related to child toys (e.g. buying toys at toysrus)",
"displayName": "Spielwaren",
"systemId": 25,
"systemName": "FAMILY_TOYS",
"systemNameParent": "FAMILY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -1.82,
"tagTreeItem": {
"description": "Other transactions related to the subject of housing",
"displayName": "Wohnen - Sonstiges",
"systemId": 35,
"systemName": "HOUSING_OTHER",
"systemNameParent": "HOUSING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -0.29,
"tagTreeItem": {
"description": "Other transactions including living expenses",
"displayName": "Lebenshaltung - Sonstiges",
"systemId": 68,
"systemName": "LIVING_OTHER",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
},
"regular": {
"amount": -179.21,
"amountsPerTagTreeItem": [
{
"amount": -21.98,
"tagTreeItem": {
"description": "Expenses for music and video streaming as well as pay TV",
"displayName": "Streaming und Pay-TV",
"systemId": 115,
"systemName": "RECREATION_STREAMING",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -20,
"tagTreeItem": {
"description": "Transactions related to personal fitness and sports (e.g. monthly gym membership payments)",
"displayName": "Sport und Fitness",
"systemId": 89,
"systemName": "RECREATION_SPORTS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -24.1,
"tagTreeItem": {
"description": "Payments related to a car insurance",
"displayName": "KFZ-Versicherung",
"systemId": 63,
"systemName": "INSURANCE_VEHICLE",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -4.77,
"tagTreeItem": {
"description": "Payments related to a liability insurance contract",
"displayName": "Haftpflichtversicherung",
"systemId": 57,
"systemName": "INSURANCE_LIABILITY",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -79.01,
"tagTreeItem": {
"description": "Payments related to a life insurance contract",
"displayName": "Lebensversicherung",
"systemId": 58,
"systemName": "INSURANCE_LIFE",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -10.31,
"tagTreeItem": {
"description": "Payments from eating out (e.g. restaurants, bars)",
"displayName": "Ausgehen und Essen",
"systemId": 83,
"systemName": "RECREATION_FOODANDDRINKS",
"systemNameParent": "RECREATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -19.04,
"tagTreeItem": {
"description": "Payments related to an insurance contract covering legal expenses",
"displayName": "Rechtsschutzversicherung",
"systemId": 56,
"systemName": "INSURANCE_LEGAL",
"systemNameParent": "INSURANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
},
"necessities": {
"amount": -1272.15,
"irregular": {
"amount": -94.02,
"amountsPerTagTreeItem": [
{
"amount": -48.94,
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -21.62,
"tagTreeItem": {
"description": "Payments from refueling at a gas station",
"displayName": "Kraftstoffe und Schmiermittel",
"systemId": 72,
"systemName": "MOBILITY_FUEL",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -6.28,
"tagTreeItem": {
"description": "Payments for drugstore items (e.g. buying bath products)",
"displayName": "Drogerie",
"systemId": 66,
"systemName": "LIVING_DRUGSTORE",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -4.19,
"tagTreeItem": {
"description": "Business related interest or principal payments",
"displayName": "Kredittilgung (geschäftlich)",
"systemId": 144,
"systemName": "BUSINESS_CREDITPAYMENT",
"systemNameParent": "BUSINESS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -7.38,
"tagTreeItem": {
"description": "Transactions involving payments for public radio and television",
"displayName": "Öffentlich-rechtlicher Rundfunk",
"systemId": 11,
"systemName": "BILLS_PUBLICRADIO",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -5.61,
"tagTreeItem": {
"description": "Other transactions related to education",
"displayName": "Bildungswesen - Sonstiges",
"systemId": 16,
"systemName": "EDUCATION_OTHER",
"systemNameParent": "EDUCATION",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
},
"regular": {
"amount": -1135.31,
"amountsPerTagTreeItem": [
{
"amount": -17.5,
"tagTreeItem": {
"description": "Transactions involving payments for public radio and television",
"displayName": "Öffentlich-rechtlicher Rundfunk",
"systemId": 11,
"systemName": "BILLS_PUBLICRADIO",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -2.53,
"tagTreeItem": {
"description": "Payments from refueling at a gas station",
"displayName": "Kraftstoffe und Schmiermittel",
"systemId": 72,
"systemName": "MOBILITY_FUEL",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -0.9,
"tagTreeItem": {
"description": "Payments for drugstore items (e.g. buying bath products)",
"displayName": "Drogerie",
"systemId": 66,
"systemName": "LIVING_DRUGSTORE",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -56.82,
"tagTreeItem": {
"description": "Transactions involving payments for electricity and heating (e.g. to a municipal utility)",
"displayName": "Energiekosten",
"systemId": 9,
"systemName": "BILLS_ENERGY",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -46.17,
"tagTreeItem": {
"description": "Payments to telecommunication providers for a mobile or fixed-line network connection",
"displayName": "Internet und Telekommunikation",
"systemId": 12,
"systemName": "BILLS_TELECOMMUNICATIONS",
"systemNameParent": "BILLS",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -66.6,
"tagTreeItem": {
"description": "Payments from using public transports",
"displayName": "ÖPNV",
"systemId": 75,
"systemName": "MOBILITY_PUBLICTRANSPORT",
"systemNameParent": "MOBILITY",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": -944.79,
"tagTreeItem": {
"description": "Transactions involving payments to a tenant",
"displayName": "Miete/Wohngeld",
"systemId": 37,
"systemName": "HOUSING_RENT",
"systemNameParent": "HOUSING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
}
},
"financialLiteracy": false,
"gambling": 0,
"income": {
"amount": 5060.84,
"irregular": {
"amount": 0,
"amountsPerTagTreeItem": []
},
"regular": {
"amount": 5060.84,
"amountsPerTagTreeItem": [
{
"amount": 4856.84,
"tagTreeItem": {
"description": "Income from salary payments",
"displayName": "Gehalt",
"systemId": 49,
"systemName": "INCOME_SALARY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
{
"amount": 204,
"tagTreeItem": {
"description": "Income from gov. child benefits",
"displayName": "Staatliche Förderung für Familie und Kinder",
"systemId": 52,
"systemName": "INCOME_STATEFAMILY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
}
]
}
},
"mortgagePayments": false,
"mostRecentRentalPayment": "2023-06-15",
"ratioExpensesToIncome": 0.34,
"ratioLuxuriesToExpenses": 0.25,
"ratioLuxuriesToIncome": 0.09,
"ratioNecessitiesToExpenses": 0.74,
"ratioNecessitiesToIncome": 0.25,
"reminderCharges": false,
"rentalPayments": true,
"returnDebits": false,
"savings": 3337.96,
"seizurePayments": false
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "1532bcd4-1b78-990f-5203-3e22a77bed2f",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/17/tag-tree-items/2/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Information about the affordability",
"displayName": "Informationen über die Bezahlbarkeit",
"systemId": 2,
"systemName": "AFFORDABILITY_CHECK",
"systemNameParent": "AFFORDABILITY",
"tagTree": {
"description": "Affordability tag tree with single parent and child tag.",
"displayName": "Bezahlbarkeit",
"isTenantGenerated": false,
"systemId": 17,
"systemName": "AFFORDABILITY",
"version": 0.1
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | affordability_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
bank_product_schema
{
"properties": {
"balance": {
"description": "Balance of the bank product",
"example": 12675.48,
"type": "number"
},
"bic": {
"description": "BIC (Bank Identifier Code)",
"example": "DEUTDEFFXXX",
"type": "string"
},
"creditDrawn": {
"description": "Amount of credit already extended for the bank product",
"example": 1243.48,
"type": "number"
},
"creditLimit": {
"description": "Maximum amount of credit extended for the bank product",
"example": 2000,
"type": "number"
},
"currency": {
"description": "Currency in which the bank product is valued/managed",
"example": "EUR",
"type": "string"
},
"iban": {
"description": "IBAN (International Bank Account Number)",
"example": "DE61500105173126617266",
"type": "string"
},
"id": {
"description": "ID of the bank product",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"lastUpdated": {
"description": "Date of the last product update at the bank/service provider in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:34:46",
"type": "string"
},
"name": {
"description": "Name of the bank product according to bank/service provider",
"example": "Girokonto Premium Plus",
"type": "string"
},
"overdraftLimit": {
"description": "Maximum amount by which the bank product can be overdrawn",
"example": 5000,
"type": "number"
},
"owner": {
"description": "Name of the owner",
"example": "Erika Mustermann",
"type": "string"
},
"providerId": {
"description": "UUID of the bank/service provider",
"example": "7721443a-30ab-4fb7-8919-4bee0e963019",
"type": "string"
},
"providerName": {
"description": "Name of the bank/service provider",
"example": "Deutsche Bank",
"type": "string"
},
"status": {
"description": "Retrieval status for the bank product data",
"example": "VOLLSTAENDIG",
"type": "string"
},
"type": {
"description": "Type of the bank product",
"example": "GIROKONTO",
"type": "string"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
balance | number | false | none | Balance of the bank product |
bic | string | false | none | BIC (Bank Identifier Code) |
creditDrawn | number | false | none | Amount of credit already extended for the bank product |
creditLimit | number | false | none | Maximum amount of credit extended for the bank product |
currency | string | false | none | Currency in which the bank product is valued/managed |
iban | string | false | none | IBAN (International Bank Account Number) |
id | string | false | none | ID of the bank product |
lastUpdated | string | false | none | Date of the last product update at the bank/service provider in yyyy-mm-dd HH:MM:SS format |
name | string | false | none | Name of the bank product according to bank/service provider |
overdraftLimit | number | false | none | Maximum amount by which the bank product can be overdrawn |
owner | string | false | none | Name of the owner |
providerId | string | false | none | UUID of the bank/service provider |
providerName | string | false | none | Name of the bank/service provider |
status | string | false | none | Retrieval status for the bank product data |
type | string | false | none | Type of the bank product |
business_partner_tag_instance_details_schema
{
"properties": {
"customName": {
"description": "Custom business partner (not in database)",
"example": "Tante-Emma-Laden München Schwabing",
"type": "string"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customName | string | false | none | Custom business partner (not in database) |
business_partner_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"customName": {
"description": "Custom business partner (not in database)",
"example": "Tante-Emma-Laden München Schwabing",
"type": "string"
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | business_partner_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | business_partner_tag_tree_item_schema | true | none | none |
business_partner_tag_tree_item_schema
{
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressCity | string | false | none | Address city of the business partner |
addressCountry | string | false | none | Address country of the business partner |
addressStreet | string | false | none | Address street incl. number of the business partner |
addressZip | string | false | none | Address zip/postal code of the business partner |
categories | [string] | false | none | Categories the business partner belongs to. |
creditorId | string | false | none | creditor id of the business partner |
description | string | false | none | Gives a description of the tagTreeItem |
displayName | string | true | none | User-friendly name shown to the end-users |
group | string | false | none | Group the business partner belongs to. |
systemId | integer | true | none | Unique internal id of the tag tree item |
systemName | string | true | none | Unique name of the tag tree item |
tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
telephone | string | false | none | Telephone of the business partner |
website | string | false | none | Website of the business partner |
cashflow_tag_instance_details_schema
{
"properties": {
"predictions": {
"description": "cashflow predictions",
"items": {
"properties": {
"cashflow": {
"description": "cashflow amount in Euros",
"example": -3420.58,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"total": {
"description": "total amount",
"example": "EXPENSES",
"type": "string"
}
},
"required": [
"cashflow"
],
"type": "object"
},
"type": "array"
},
"statistics": {
"description": "cashflow statistics",
"items": {
"properties": {
"cashflow": {
"description": "cashflow amount in Euros",
"example": -3420.58,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"total": {
"description": "total amount",
"example": "EXPENSES",
"type": "string"
}
},
"required": [
"cashflow"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
predictions | [cashflow_tag_instance_details_stats_preds_schema] | false | none | cashflow predictions |
statistics | [cashflow_tag_instance_details_stats_preds_schema] | false | none | cashflow statistics |
cashflow_tag_instance_details_stats_preds_schema
{
"properties": {
"cashflow": {
"description": "cashflow amount in Euros",
"example": -3420.58,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"total": {
"description": "total amount",
"example": "EXPENSES",
"type": "string"
}
},
"required": [
"cashflow"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
cashflow | number | true | none | cashflow amount in Euros |
tagTreeItem | tag_tree_item_schema | false | none | none |
total | string | false | none | total amount |
cashflow_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"predictions": {
"description": "cashflow predictions",
"items": {
"properties": {
"cashflow": {
"description": "cashflow amount in Euros",
"example": -3420.58,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"total": {
"description": "total amount",
"example": "EXPENSES",
"type": "string"
}
},
"required": [
"cashflow"
],
"type": "object"
},
"type": "array"
},
"statistics": {
"description": "cashflow statistics",
"items": {
"properties": {
"cashflow": {
"description": "cashflow amount in Euros",
"example": -3420.58,
"type": "number"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"total": {
"description": "total amount",
"example": "EXPENSES",
"type": "string"
}
},
"required": [
"cashflow"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | cashflow_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
categorization_tag_instance_details_schema
{
"properties": {
"confidenceLevel": {
"description": "Confidence level between 0 and 1",
"example": 0.94,
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
confidenceLevel | number | false | none | Confidence level between 0 and 1 |
categorization_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"confidenceLevel": {
"description": "Confidence level between 0 and 1",
"example": 0.94,
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | categorization_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
contract_details_schema
{
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amountMean | number | true | none | Mean payment among contract payments |
customName | string | false | none | If there is no listed business partner found, a custom name is tried to be extracted from the transaction. |
id | string | true | none | Unique Universal Identifier (UUID) |
status | string | true | none | Status of contract (ACTIVE or NOT_ACTIVE) |
tagTreeItemBusinessPartner | business_partner_tag_tree_item_schema | true | none | none |
tagTreeItemCategory | tag_tree_item_schema | true | none | none |
tagTreeItemInsuranceType | tag_tree_item_schema | false | none | none |
tagTreeItemPeriod | tag_tree_item_schema | true | none | none |
contract_tag_instance_details_schema
{
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amountFirst | number | true | none | First payment among contract payments |
amountLatest | number | true | none | Most recent payment among contract payments |
amountMaximum | number | true | none | Maximum payment among contract payments |
amountMean | number | true | none | Mean payment among contract payments |
amountMedian | number | true | none | Median payment among contract payments |
amountMinimum | number | true | none | Minimum payment among contract payments |
amountNext | number | false | none | Predicted next payment based on contract payments |
amountTotal | number | true | none | Total amount of regular and non-regular payments |
amountTotalNonRegular | number | true | none | Total amount of non-regular payments |
amountTotalRegular | number | true | none | Total amount of regular payments |
contractNumbers | [string] | true | none | List of detected contract numbers |
costDevelopment | object | true | none | History of regular and non-regular payments |
costDevelopmentNonRegular | object | true | none | History of non-regular payments |
costDevelopmentRegular | object | true | none | History of regular payments |
counterpartyBic | string | false | none | BIC of the counterparty |
counterpartyIban | string | false | none | IBAN of the counterparty |
counterpartyName | string | false | none | Name of the counterparty |
counterpartyNameUltimate | string | false | none | Name of the ultimate counterparty |
creditAmount | number | false | none | Net amount of the loan being paid back with the contract |
creditAmountGross | number | false | none | Total amount of the loan being paid back with the contract including additional costs |
customName | string | false | none | If there is no listed business partner found, a custom name is tried to be extracted from the transaction. |
customerNumbers | [string] | true | none | List of detected customer numbers |
dateEnd | string(date) | false | none | Contract end date |
dateFirst | string(date) | true | none | Date of the first payment |
dateLatest | string(date) | true | none | Date of the last payment |
dateNext | string(date) | false | none | Predicted date of the next payment |
dateStart | string(date) | false | none | Contract start date |
daysAge | integer | true | none | Age of the contract in days |
growthRate | number | false | none | Procentual growth rate per period |
interestRate | number | false | none | Effective annual interest rate estimated for this contract |
interestRateNominal | number | false | none | Nominal annual interest rate detected for this contract |
numberContract | string | false | none | Deprecated. Use field contractNumbers instead. |
numberCustomer | string | false | none | Deprecated. Use field customerNumbers instead. |
standardDeviation | number | false | none | Standard deviation of contract payments |
status | string | true | none | Status of contract (ACTIVE or NOT_ACTIVE) |
transactionIds | [string] | true | none | List of transaction ids, regular and non-regular payments |
transactionIdsNonRegular | [string] | true | none | List of transaction ids, non-regular payments only |
transactionIdsRegular | [string] | true | none | List of transaction ids, regular payments only |
contract_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | contract_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItemBusinessPartner | business_partner_tag_tree_item_schema | true | none | none |
tagTreeItemCategory | tag_tree_item_schema | true | none | none |
tagTreeItemInsuranceType | tag_tree_item_schema | false | none | none |
tagTreeItemPeriod | tag_tree_item_schema | true | none | none |
credit_attributes_active_passive_contracts_schema
{
"properties": {
"activeContracts": {
"description": "Contracts that are still running",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"passiveContracts": {
"description": "Contracts that are already paid off",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"activeContracts",
"passiveContracts"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
activeContracts | [contract_tag_instance_schema] | true | none | Contracts that are still running |
passiveContracts | [contract_tag_instance_schema] | true | none | Contracts that are already paid off |
credit_attributes_assets_schema
{
"properties": {
"investments": {
"description": "Net value of a brokerage account at the time of request",
"items": {
"properties": {
"amount": {
"description": "Amount of the securities",
"example": 7,
"type": "number"
},
"currency": {
"description": "Trading currency (Alphabetic Code ISO 4217)",
"example": "EUR",
"type": "string"
},
"exchangeRate": {
"description": "Exchange rate from EUR to the trading currency",
"example": 1,
"type": "number"
},
"isin": {
"description": "International Securities Identification Number (ISIN) of the financial instrument",
"example": "DE000BAY0017",
"type": "string"
},
"name": {
"description": "Name of the deposit position, usually the name of the financial instrument",
"example": "Bayer AG",
"type": "string"
},
"price": {
"description": "Trading price in trading currency",
"example": 53.47,
"type": "number"
},
"rateDate": {
"description": "Date of the trading rate in yyyy-mm-dd HH:MM:SS format",
"example": "2021-03-08 09:34:46",
"format": "date-time",
"type": "string"
},
"totalValue": {
"description": "Total value of the stock in EUR as at the end of the financial statements",
"example": 364.66,
"type": "number"
},
"unit": {
"description": "Trading unit",
"example": "STUECK",
"type": "string"
},
"venue": {
"description": "Trading venue of the price determination",
"example": "MUN",
"type": "string"
},
"wkn": {
"description": "Wertpapierkennnummer (WKN) of the financial instrument. Corresponds to the German National Securities Identifying Number (NSIN), but without the three leading zeros.",
"example": "BAY001",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"products": {
"description": "List of all bank products such as GIROKONTO, SPARKONTO, KREDITKARTE etc..",
"items": {
"properties": {
"balance": {
"description": "Balance of the bank product",
"example": 12675.48,
"type": "number"
},
"bic": {
"description": "BIC (Bank Identifier Code)",
"example": "DEUTDEFFXXX",
"type": "string"
},
"creditDrawn": {
"description": "Amount of credit already extended for the bank product",
"example": 1243.48,
"type": "number"
},
"creditLimit": {
"description": "Maximum amount of credit extended for the bank product",
"example": 2000,
"type": "number"
},
"currency": {
"description": "Currency in which the bank product is valued/managed",
"example": "EUR",
"type": "string"
},
"iban": {
"description": "IBAN (International Bank Account Number)",
"example": "DE61500105173126617266",
"type": "string"
},
"id": {
"description": "ID of the bank product",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"lastUpdated": {
"description": "Date of the last product update at the bank/service provider in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:34:46",
"type": "string"
},
"name": {
"description": "Name of the bank product according to bank/service provider",
"example": "Girokonto Premium Plus",
"type": "string"
},
"overdraftLimit": {
"description": "Maximum amount by which the bank product can be overdrawn",
"example": 5000,
"type": "number"
},
"owner": {
"description": "Name of the owner",
"example": "Erika Mustermann",
"type": "string"
},
"providerId": {
"description": "UUID of the bank/service provider",
"example": "7721443a-30ab-4fb7-8919-4bee0e963019",
"type": "string"
},
"providerName": {
"description": "Name of the bank/service provider",
"example": "Deutsche Bank",
"type": "string"
},
"status": {
"description": "Retrieval status for the bank product data",
"example": "VOLLSTAENDIG",
"type": "string"
},
"type": {
"description": "Type of the bank product",
"example": "GIROKONTO",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"investments",
"products"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
investments | [investment_schema] | true | none | Net value of a brokerage account at the time of request |
products | [bank_product_schema] | true | none | List of all bank products such as GIROKONTO, SPARKONTO, KREDITKARTE etc.. |
credit_attributes_budget_schema
{
"properties": {
"expenses": {
"allOf": [
{
"properties": {
"fixedSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Negative financial flow out of all connected accounts, that can be attributed to contracts"
},
"totalSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Total negative financial flow out of all connected accounts, excluding transfers between accounts"
},
"variableSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Negative financial flow out of all connected accounts, that can not be attributed to contracts"
}
},
"required": [
"fixedSpending",
"totalSpending",
"variableSpending"
],
"type": "object"
}
],
"description": "Breakdown of negative financial flow into fixed and variable spending, excluding transfers between connected accounts"
},
"income": {
"allOf": [
{
"properties": {
"fixedIncome": {
"allOf": [
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"statistics"
],
"type": "object"
}
],
"description": "Information related to non-salary recurring income sources such as rental or retirement income"
},
"salary": {
"allOf": [
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"lengthOfEmployment": {
"description": "Age of oldest continuous salary contract in days",
"type": "integer"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"lengthOfEmployment",
"statistics"
],
"type": "object"
}
],
"description": "Information related to recurring income sources that are associated with a salary contract"
},
"totalIncome": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Sum of all positive financial flow, excluding transfers. Includes, salary, fixed income, windfall and non-regular income."
},
"variableIncome": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Financial flows that cannot be mapped to salary, fixed income or windfalls"
},
"windfalls": {
"description": "One-time positive financial flows that are at least 3 times more than average total income",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"fixedIncome",
"salary",
"totalIncome",
"variableIncome",
"windfalls"
],
"type": "object"
}
],
"description": "Breakdown of positive financial flow, excluding transfers between connected accounts"
},
"net": {
"allOf": [
{
"properties": {
"positiveCashflowRatio": {
"description": "Ratio of months where there was a positive net cash-flow in last 6 months",
"type": "number"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"positiveCashflowRatio",
"statistics"
],
"type": "object"
}
],
"description": "Net financial flow that accumulates monthly after total spending and total saving is deducted from total income"
},
"savings": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Financial flow that is spent into savings-related targets such as depots, savings-books"
}
},
"required": [
"expenses",
"income",
"net",
"savings"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
expenses | credit_attributes_expenses_schema | true | none | Breakdown of negative financial flow into fixed and variable spending, excluding transfers between connected accounts |
income | credit_attributes_income_schema | true | none | Breakdown of positive financial flow, excluding transfers between connected accounts |
net | credit_attributes_net_schema | true | none | Net financial flow that accumulates monthly after total spending and total saving is deducted from total income |
savings | credit_attributes_category_summary_schema | true | none | Financial flow that is spent into savings-related targets such as depots, savings-books |
credit_attributes_category_summary_schema
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
statistics | credit_attributes_statistics_schema | true | none | A summary of the statistics over the last 6 months as far as available |
credit_attributes_contract_budget_type_schema
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"statistics"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
contracts | [contract_tag_instance_schema] | true | none | A list of all contracts in this category active or ended within the last 6 months |
statistics | credit_attributes_statistics_schema | true | none | A summary of the statistics over the last 6 months as far as available |
credit_attributes_credit_schema
{
"properties": {
"financialCredit": {
"allOf": [
{
"properties": {
"activeContracts": {
"description": "Contracts that are still running",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"passiveContracts": {
"description": "Contracts that are already paid off",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"activeContracts",
"passiveContracts"
],
"type": "object"
}
],
"description": "Credit contracts with banks or near-banks"
},
"leasing": {
"allOf": [
{
"properties": {
"activeContracts": {
"description": "Contracts that are still running",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"passiveContracts": {
"description": "Contracts that are already paid off",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"activeContracts",
"passiveContracts"
],
"type": "object"
}
],
"description": "Contract related to the leasing of a car."
},
"mortgage": {
"allOf": [
{
"properties": {
"activeContracts": {
"description": "Contracts that are still running",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"passiveContracts": {
"description": "Contracts that are already paid off",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"activeContracts",
"passiveContracts"
],
"type": "object"
}
],
"description": "Credit related to the purchase of a house"
}
},
"required": [
"financialCredit",
"leasing",
"mortgage"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
financialCredit | credit_attributes_active_passive_contracts_schema | true | none | Credit contracts with banks or near-banks |
leasing | credit_attributes_active_passive_contracts_schema | true | none | Contract related to the leasing of a car. |
mortgage | credit_attributes_active_passive_contracts_schema | true | none | Credit related to the purchase of a house |
credit_attributes_expenses_schema
{
"properties": {
"fixedSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Negative financial flow out of all connected accounts, that can be attributed to contracts"
},
"totalSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Total negative financial flow out of all connected accounts, excluding transfers between accounts"
},
"variableSpending": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Negative financial flow out of all connected accounts, that can not be attributed to contracts"
}
},
"required": [
"fixedSpending",
"totalSpending",
"variableSpending"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fixedSpending | credit_attributes_category_summary_schema | true | none | Negative financial flow out of all connected accounts, that can be attributed to contracts |
totalSpending | credit_attributes_category_summary_schema | true | none | Total negative financial flow out of all connected accounts, excluding transfers between accounts |
variableSpending | credit_attributes_category_summary_schema | true | none | Negative financial flow out of all connected accounts, that can not be attributed to contracts |
credit_attributes_flags_schema
{
"properties": {
"creditCards": {
"description": "Number of credit cards the user has",
"example": 2,
"type": "integer"
},
"debtCollection": {
"description": "List of payments to debt collection agencies",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
},
"type": "array"
},
"reminderCharges": {
"description": "List of reminder charges",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
},
"type": "array"
},
"returnedDebitNotes": {
"description": "List of received payments due to a returned debit note (e.g. because of insufficient funds)",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
},
"type": "array"
},
"riskyPayment": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Aggregated payments to risky activities such as online casinos"
}
},
"required": [
"creditCards",
"debtCollection",
"reminderCharges",
"returnedDebitNotes",
"riskyPayment"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creditCards | integer | true | none | Number of credit cards the user has |
debtCollection | [output_transaction_schema] | true | none | List of payments to debt collection agencies |
reminderCharges | [output_transaction_schema] | true | none | List of reminder charges |
returnedDebitNotes | [output_transaction_schema] | true | none | List of received payments due to a returned debit note (e.g. because of insufficient funds) |
riskyPayment | credit_attributes_category_summary_schema | true | none | Aggregated payments to risky activities such as online casinos |
credit_attributes_income_schema
{
"properties": {
"fixedIncome": {
"allOf": [
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"statistics"
],
"type": "object"
}
],
"description": "Information related to non-salary recurring income sources such as rental or retirement income"
},
"salary": {
"allOf": [
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"lengthOfEmployment": {
"description": "Age of oldest continuous salary contract in days",
"type": "integer"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"lengthOfEmployment",
"statistics"
],
"type": "object"
}
],
"description": "Information related to recurring income sources that are associated with a salary contract"
},
"totalIncome": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Sum of all positive financial flow, excluding transfers. Includes, salary, fixed income, windfall and non-regular income."
},
"variableIncome": {
"allOf": [
{
"properties": {
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"statistics"
],
"type": "object"
}
],
"description": "Financial flows that cannot be mapped to salary, fixed income or windfalls"
},
"windfalls": {
"description": "One-time positive financial flows that are at least 3 times more than average total income",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"fixedIncome",
"salary",
"totalIncome",
"variableIncome",
"windfalls"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fixedIncome | credit_attributes_contract_budget_type_schema | true | none | Information related to non-salary recurring income sources such as rental or retirement income |
salary | credit_attributes_salary_schema | true | none | Information related to recurring income sources that are associated with a salary contract |
totalIncome | credit_attributes_category_summary_schema | true | none | Sum of all positive financial flow, excluding transfers. Includes, salary, fixed income, windfall and non-regular income. |
variableIncome | credit_attributes_category_summary_schema | true | none | Financial flows that cannot be mapped to salary, fixed income or windfalls |
windfalls | [output_transaction_schema] | true | none | One-time positive financial flows that are at least 3 times more than average total income |
credit_attributes_life_stages_schema
{
"properties": {
"housing": {
"allOf": [
{
"properties": {
"details": {
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "Type of housing"
},
"labourMarket": {
"allOf": [
{
"properties": {
"details": {
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "Life stage in the job market"
},
"parenthood": {
"allOf": [
{
"properties": {
"details": {
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "Whether the user has non-adult children"
},
"relationship": {
"allOf": [
{
"properties": {
"details": {
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "Relationship status"
}
},
"required": [
"housing",
"labourMarket",
"parenthood",
"relationship"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
housing | life_stage_tag_instance_schema | true | none | Type of housing |
labourMarket | life_stage_tag_instance_schema | true | none | Life stage in the job market |
parenthood | life_stage_tag_instance_schema | true | none | Whether the user has non-adult children |
relationship | life_stage_tag_instance_schema | true | none | Relationship status |
credit_attributes_net_schema
{
"properties": {
"positiveCashflowRatio": {
"description": "Ratio of months where there was a positive net cash-flow in last 6 months",
"type": "number"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"positiveCashflowRatio",
"statistics"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
positiveCashflowRatio | number | true | none | Ratio of months where there was a positive net cash-flow in last 6 months |
statistics | credit_attributes_statistics_schema | true | none | A summary of the statistics over the last 6 months as far as available |
credit_attributes_salary_schema
{
"properties": {
"contracts": {
"description": "A list of all contracts in this category active or ended within the last 6 months",
"items": {
"properties": {
"details": {
"properties": {
"amountFirst": {
"description": "First payment among contract payments",
"example": "12.34",
"type": "number"
},
"amountLatest": {
"description": "Most recent payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMaximum": {
"description": "Maximum payment among contract payments",
"example": "23.23",
"type": "number"
},
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"amountMedian": {
"description": "Median payment among contract payments",
"example": "21.01",
"type": "number"
},
"amountMinimum": {
"description": "Minimum payment among contract payments",
"example": "19.34",
"type": "number"
},
"amountNext": {
"description": "Predicted next payment based on contract payments",
"example": "22.01",
"type": "number"
},
"amountTotal": {
"description": "Total amount of regular and non-regular payments",
"example": "2445.23",
"type": "number"
},
"amountTotalNonRegular": {
"description": "Total amount of non-regular payments",
"example": "100.00",
"type": "number"
},
"amountTotalRegular": {
"description": "Total amount of regular payments",
"example": "2345.23",
"type": "number"
},
"contractNumbers": {
"description": "List of detected contract numbers",
"example": [
"334112312",
"334112313"
],
"items": {
"type": "string"
},
"type": "array"
},
"costDevelopment": {
"description": "History of regular and non-regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46,
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentNonRegular": {
"description": "History of non-regular payments",
"example": {
"2017-05-01": 500.12
},
"type": "object"
},
"costDevelopmentRegular": {
"description": "History of regular payments",
"example": {
"2017-04-03": 103.93,
"2017-04-30": 103.46
},
"type": "object"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "Allianz Versicherungen",
"type": "string"
},
"creditAmount": {
"description": "Net amount of the loan being paid back with the contract",
"example": "2345.23",
"type": "number"
},
"creditAmountGross": {
"description": "Total amount of the loan being paid back with the contract including additional costs",
"example": "2345.23",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"customerNumbers": {
"description": "List of detected customer numbers",
"example": [
"K1000452"
],
"items": {
"type": "string"
},
"type": "array"
},
"dateEnd": {
"description": "Contract end date",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateFirst": {
"description": "Date of the first payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateLatest": {
"description": "Date of the last payment",
"example": "2019-04-03",
"format": "date",
"type": "string"
},
"dateNext": {
"description": "Predicted date of the next payment",
"example": "2019-05-03",
"format": "date",
"type": "string"
},
"dateStart": {
"description": "Contract start date",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysAge": {
"description": "Age of the contract in days",
"example": "12",
"type": "integer"
},
"growthRate": {
"description": "Procentual growth rate per period",
"example": "4.34",
"type": "number"
},
"interestRate": {
"description": "Effective annual interest rate estimated for this contract",
"example": "0.04",
"type": "number"
},
"interestRateNominal": {
"description": "Nominal annual interest rate detected for this contract",
"example": "0.04",
"type": "number"
},
"numberContract": {
"description": "Deprecated. Use field contractNumbers instead.",
"example": "0003412312",
"type": "string"
},
"numberCustomer": {
"description": "Deprecated. Use field customerNumbers instead.",
"example": "123412312",
"type": "string"
},
"standardDeviation": {
"description": "Standard deviation of contract payments",
"example": "0.23",
"type": "number"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"transactionIds": {
"description": "List of transaction ids, regular and non-regular payments",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl",
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsNonRegular": {
"description": "List of transaction ids, non-regular payments only",
"example": [
"108d1dff-d920-4b40-9e78-4bd352f6e1f4"
],
"items": {
"type": "string"
},
"type": "array"
},
"transactionIdsRegular": {
"description": "List of transaction ids, regular payments only",
"example": [
"956ca508-c0e2-52c5-3202-8de20e7ed12b",
"123ab456-a1b2-98o1-4321-5mn3b2v103bl"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"amountFirst",
"amountLatest",
"amountMaximum",
"amountMean",
"amountMedian",
"amountMinimum",
"amountTotal",
"amountTotalNonRegular",
"amountTotalRegular",
"contractNumbers",
"costDevelopment",
"costDevelopmentNonRegular",
"costDevelopmentRegular",
"customerNumbers",
"dateFirst",
"dateLatest",
"daysAge",
"status",
"transactionIds",
"transactionIdsNonRegular",
"transactionIdsRegular"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
},
"lengthOfEmployment": {
"description": "Age of oldest continuous salary contract in days",
"type": "integer"
},
"statistics": {
"allOf": [
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
],
"description": "A summary of the statistics over the last 6 months as far as available"
}
},
"required": [
"contracts",
"lengthOfEmployment",
"statistics"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
contracts | [contract_tag_instance_schema] | true | none | A list of all contracts in this category active or ended within the last 6 months |
lengthOfEmployment | integer | true | none | Age of oldest continuous salary contract in days |
statistics | credit_attributes_statistics_schema | true | none | A summary of the statistics over the last 6 months as far as available |
credit_attributes_schema
{
"assets": {
"investments": [],
"products": [
{
"balance": 2145.78,
"bic": "XXX12345678",
"creditDrawn": 100,
"creditLimit": 2045.78,
"currency": "EUR",
"iban": "DE001234567890123456AI",
"id": "ff165778-d633-5cc2-8aa2-331dd6c32c67",
"lastUpdated": "2023-07-13 14:09:06",
"name": "Girokonto",
"overdraftLimit": 3000,
"owner": "Li Wang",
"providerId": "00000000-0000-0000-0000-000000000000",
"providerName": "Demo Provider",
"status": "VOLLSTAENDIG",
"type": "GIROKONTO"
}
]
},
"budget": {
"expenses": {
"fixedSpending": {
"statistics": {
"max": 1572.24,
"mean": 1381.62,
"median": 1376,
"min": 1214.33
}
},
"totalSpending": {
"statistics": {
"max": 2351.1,
"mean": 1835.04,
"median": 1744.18,
"min": 1568.56
}
},
"variableSpending": {
"statistics": {
"max": 1133.32,
"mean": 453.42,
"median": 363.29,
"min": 35.19
}
}
},
"income": {
"fixedIncome": {
"contracts": [
{
"details": {
"amountFirst": 204,
"amountLatest": 204,
"amountMaximum": 204,
"amountMean": 204,
"amountMedian": 204,
"amountMinimum": 204,
"amountNext": 204,
"amountTotal": 2448,
"amountTotalNonRegular": 0,
"amountTotalRegular": 2448,
"contractNumbers": [
"KG237002FK188590"
],
"costDevelopment": {
"2022-08-09": 204,
"2022-09-09": 204,
"2022-10-09": 204,
"2022-11-09": 204,
"2022-12-09": 204,
"2023-01-09": 204,
"2023-02-09": 204,
"2023-03-09": 204,
"2023-04-09": 204,
"2023-05-09": 204,
"2023-06-09": 204,
"2023-07-09": 204
},
"costDevelopmentRegular": {
"2022-08-09": 204,
"2022-09-09": 204,
"2022-10-09": 204,
"2022-11-09": 204,
"2022-12-09": 204,
"2023-01-09": 204,
"2023-02-09": 204,
"2023-03-09": 204,
"2023-04-09": 204,
"2023-05-09": 204,
"2023-06-09": 204,
"2023-07-09": 204
},
"counterpartyBic": "MARKDEF1760",
"counterpartyIban": "DE077600000000760016",
"counterpartyName": "Bundesagentur fur Arbeit - Familienkasse",
"counterpartyNameUltimate": "",
"customerNumbers": [],
"dateFirst": "2022-08-09",
"dateLatest": "2023-07-09",
"dateNext": "2023-08-09",
"dateStart": "2022-08-09",
"daysAge": 338,
"growthRate": 0,
"standardDeviation": 0,
"status": "ACTIVE",
"transactionIds": [
"1a62aff0-000b-60d0-2640-74a316284f9d",
"1a6d95f0-0000-641c-bf53-2db3591ab06d",
"1a7821f0-0001-9b0a-2660-e38301b800ae",
"1a830bb0-0001-c336-b0ca-83d314fb0869",
"1a8d97b0-0002-303c-d353-b3530898c32b",
"1a987db0-0008-b365-0803-46933da9f3b6",
"1aa363b0-0001-62d6-d412-4ed3b7c9bee7",
"1aad3bb0-000d-e724-3973-9d834e69d713",
"1ab81df0-0006-3328-0519-bcf3fe690f40",
"1ac2a9f0-000a-e169-66db-3103739bef1b",
"1acd8ff0-000f-f6b9-7e6b-0fe3927aca69",
"1ad81bf0-000c-c8e0-a93b-09c35b3b31a5"
],
"transactionIdsNonRegular": [],
"transactionIdsRegular": [
"1a62aff0-000b-60d0-2640-74a316284f9d",
"1a6d95f0-0000-641c-bf53-2db3591ab06d",
"1a7821f0-0001-9b0a-2660-e38301b800ae",
"1a830bb0-0001-c336-b0ca-83d314fb0869",
"1a8d97b0-0002-303c-d353-b3530898c32b",
"1a987db0-0008-b365-0803-46933da9f3b6",
"1aa363b0-0001-62d6-d412-4ed3b7c9bee7",
"1aad3bb0-000d-e724-3973-9d834e69d713",
"1ab81df0-0006-3328-0519-bcf3fe690f40",
"1ac2a9f0-000a-e169-66db-3103739bef1b",
"1acd8ff0-000f-f6b9-7e6b-0fe3927aca69",
"1ad81bf0-000c-c8e0-a93b-09c35b3b31a5"
]
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "ca60688a-2e44-e407-bad5-342adb4e5513",
"tagTreeItemBusinessPartner": {
"addressCity": "Nürnberg",
"addressCountry": "Deutschland",
"addressStreet": "Regensburger Straße 104",
"addressZip": "90478",
"categories": [],
"displayName": "Bundesagentur für Arbeit (BA)",
"systemId": 4392,
"systemName": "Bundesagentur für Arbeit",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
},
"telephone": "0911/179-0",
"website": "https://www.arbeitsagentur.de/"
},
"tagTreeItemCategory": {
"description": "Income from gov. child benefits",
"displayName": "Staatliche Förderung für Familie und Kinder",
"systemId": 52,
"systemName": "INCOME_STATEFAMILY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"tagTreeItemInsuranceType": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
},
"tagTreeItemPeriod": {
"description": "Period of a single month",
"displayName": "Ein Monat",
"systemId": 3,
"systemName": "MONTH_ONE",
"systemNameParent": "MONTH",
"tagTree": {
"description": "Two level periods tag tree.",
"displayName": "Turnus",
"isTenantGenerated": false,
"systemId": 4,
"systemName": "PERIODS",
"version": 0.4
}
}
}
],
"statistics": {
"max": 204,
"mean": 204,
"median": 204,
"min": 204
}
},
"salary": {
"contracts": [
{
"details": {
"amountFirst": 4856.84,
"amountLatest": 4856.84,
"amountMaximum": 4856.84,
"amountMean": 4856.84,
"amountMedian": 4856.84,
"amountMinimum": 4856.84,
"amountNext": 4856.84,
"amountTotal": 33997.88,
"amountTotalNonRegular": 0,
"amountTotalRegular": 33997.88,
"contractNumbers": [],
"costDevelopment": {
"2022-12-29": 4856.84,
"2023-01-29": 4856.84,
"2023-02-28": 4856.84,
"2023-03-29": 4856.84,
"2023-04-29": 4856.84,
"2023-05-29": 4856.84,
"2023-06-29": 4856.84
},
"costDevelopmentRegular": {
"2022-12-29": 4856.84,
"2023-01-29": 4856.84,
"2023-02-28": 4856.84,
"2023-03-29": 4856.84,
"2023-04-29": 4856.84,
"2023-05-29": 4856.84,
"2023-06-29": 4856.84
},
"counterpartyBic": "",
"counterpartyIban": "DE100456789",
"counterpartyName": "The Company",
"counterpartyNameUltimate": "",
"customName": "The Company",
"customerNumbers": [],
"dateFirst": "2022-12-29",
"dateLatest": "2023-06-29",
"dateNext": "2023-07-31",
"dateStart": "2022-12-29",
"daysAge": 196,
"growthRate": 0,
"standardDeviation": 0,
"status": "ACTIVE",
"transactionIds": [
"1a94b470-0005-4d21-b5e4-fc537ee85372",
"1a9f9a70-000e-2df4-e7f3-3223b9baac33",
"1aaa2670-0006-9b4a-6b2f-05d33a0bbdd7",
"1ab454b0-0002-2408-739c-9213d5681020",
"1abf3ab0-000b-e237-2a5e-68b3c43ab447",
"1ac9c6b0-000d-fe59-053b-d563ba3a8ca7",
"1ad4acb0-000b-fa2a-b232-4603c00a9efd"
],
"transactionIdsNonRegular": [],
"transactionIdsRegular": [
"1a94b470-0005-4d21-b5e4-fc537ee85372",
"1a9f9a70-000e-2df4-e7f3-3223b9baac33",
"1aaa2670-0006-9b4a-6b2f-05d33a0bbdd7",
"1ab454b0-0002-2408-739c-9213d5681020",
"1abf3ab0-000b-e237-2a5e-68b3c43ab447",
"1ac9c6b0-000d-fe59-053b-d563ba3a8ca7",
"1ad4acb0-000b-fa2a-b232-4603c00a9efd"
]
},
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "b54f1bd6-6367-f49c-9a0f-fd10c33528da",
"tagTreeItemBusinessPartner": {
"categories": [
"OTHER_OTHER"
],
"description": "Unknown business partner, for business partners with custom name",
"displayName": "Unbekannter Geschäftspartner",
"systemId": 4384,
"systemName": "UNKNOWN",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
}
},
"tagTreeItemCategory": {
"description": "Income from salary payments",
"displayName": "Gehalt",
"systemId": 49,
"systemName": "INCOME_SALARY",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"tagTreeItemInsuranceType": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
},
"tagTreeItemPeriod": {
"description": "Period of a single month",
"displayName": "Ein Monat",
"systemId": 3,
"systemName": "MONTH_ONE",
"systemNameParent": "MONTH",
"tagTree": {
"description": "Two level periods tag tree.",
"displayName": "Turnus",
"isTenantGenerated": false,
"systemId": 4,
"systemName": "PERIODS",
"version": 0.4
}
}
}
],
"lengthOfEmployment": 196,
"statistics": {
"max": 4856.84,
"mean": 4856.84,
"median": 4856.84,
"min": 4856.84
}
},
"totalIncome": {
"statistics": {
"max": 5060.84,
"mean": 5060.84,
"median": 5060.84,
"min": 5060.84
}
},
"variableIncome": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
},
"windfalls": []
},
"net": {
"positiveCashflowRatio": 1,
"statistics": {
"max": 3492.28,
"mean": 3225.8,
"median": 3316.66,
"min": 2709.74
}
},
"savings": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
}
},
"credit": {
"financialCredit": {
"activeContracts": [],
"passiveContracts": []
},
"leasing": {
"activeContracts": [],
"passiveContracts": []
},
"mortgage": {
"activeContracts": [],
"passiveContracts": []
}
},
"flags": {
"creditCards": 0,
"debtCollection": [],
"reminderCharges": [],
"returnedDebitNotes": [
{
"amount": 209.99,
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"postingDatetime": "2022-10-07 00:00:00",
"product": "ff165778-d633-5cc2-8aa2-331dd6c32c67",
"provider": "00000000-0000-0000-0000-000000000000",
"tags": {
"businessPartner": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "24658f8f-bb91-b1af-f7e0-af8fff4a3fe9",
"tagTreeItem": {
"description": "Unknown business partner, for business partners with custom name",
"displayName": "Unbekannter Geschäftspartner",
"systemId": 4384,
"systemName": "UNKNOWN",
"tagTree": {
"description": "Single level tag tree of business partners.",
"displayName": "Geschäftspartner",
"isTenantGenerated": false,
"systemId": 3,
"systemName": "BUSINESS_PARTNERS",
"version": 1.91
}
}
},
"category": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "9799df14-5082-6cef-588f-4573e7837266",
"tagTreeItem": {
"description": "Transactions involving failed debit payments that are returned.",
"displayName": "Rücklastschriften",
"systemId": 48,
"systemName": "INCOME_RETURNDEBIT",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
}
},
"insurance": {
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "1a774880-0008-9131-7b07-fe333e8818a2",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "e7206a87-c43b-b9d7-c186-7bfd44019cc4",
"tagTreeItem": {
"displayName": "Nicht versicherungsrelevant - Einnahmen",
"systemId": 28,
"systemName": "INCOME_UNRELATED",
"systemNameParent": "INCOME",
"tagTree": {
"description": "Two level fine grained insurance categorization tag tree.",
"displayName": "Versicherungsarten",
"isTenantGenerated": false,
"systemId": 2,
"systemName": "INSURANCE_TYPES",
"version": 2.41
}
}
}
}
}
],
"riskyPayment": {
"statistics": {
"max": 0,
"mean": 0,
"median": 0,
"min": 0
}
}
},
"lifeStages": {
"housing": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "a6a99ea6-7ab8-18c1-8589-2e8a3bd0068f",
"tagTreeItem": {
"displayName": "Mieter",
"domain": {
"description": "The user's ownership status for their current home",
"displayName": "Wohnsituation",
"systemId": 4,
"systemName": "HOUSING",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 15,
"systemName": "TENANCY",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"labourMarket": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "9cbd4983-42a0-0242-ffba-5b24ac035b30",
"tagTreeItem": {
"displayName": "Angestellt",
"domain": {
"description": "The user's state with respect to employment and education",
"displayName": "Arbeitsmarkt",
"systemId": 1,
"systemName": "LABOUR_MARKET",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 4,
"systemName": "EMPLOYMENT",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"parenthood": {
"entity": {
"displayName": "BENUTZER",
"entityClass": "USER",
"id": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58",
"userId": "0e3cb7d1-1ccb-4094-b382-21d3590dfe58"
},
"id": "3681c765-42f4-e77f-4794-39c300fe2a44",
"tagTreeItem": {
"displayName": "Elternteil",
"domain": {
"description": "The user's parental status",
"displayName": "Elternschaft",
"systemId": 2,
"systemName": "PARENTHOOD",
"tagTree": {
"description": "Tag tree for life domains",
"displayName": "Lebensdomänen",
"isTenantGenerated": false,
"systemId": 10,
"systemName": "LIFE_DOMAINS",
"version": 0.3
}
},
"systemId": 7,
"systemName": "PARENTHOOD",
"tagTree": {
"description": "Single level life stage tag tree.",
"displayName": "Lebensphasen",
"isTenantGenerated": false,
"systemId": 12,
"systemName": "LIFE_STAGES",
"version": 0.6
}
}
},
"relationship": {}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
assets | credit_attributes_assets_schema | true | none | List of all bank products and depots their credit-lines and ages |
budget | credit_attributes_budget_schema | true | none | A digital budget summarizing financial flows across all the connected accounts |
credit | credit_attributes_credit_schema | true | none | Active and paid-off credit contracts |
flags | credit_attributes_flags_schema | true | none | Payments that reflect lower probabilities for credit repayment |
lifeStages | credit_attributes_life_stages_schema | true | none | Life stages in different life domains that may relate to credit worthiness. Only positive detections are reported. Empty result in a domain may indicate lack of relevant transactions. |
credit_attributes_statistics_schema
{
"properties": {
"max": {
"description": "Largest sum of payments in a month",
"type": "number"
},
"mean": {
"description": "Mean sum of payments per month",
"type": "number"
},
"median": {
"description": "Median sum of payments per month",
"type": "number"
},
"min": {
"description": "Smallest sum of payments in a month",
"type": "number"
}
},
"required": [
"max",
"mean",
"median",
"min"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
max | number | true | none | Largest sum of payments in a month |
mean | number | true | none | Mean sum of payments per month |
median | number | true | none | Median sum of payments per month |
min | number | true | none | Smallest sum of payments in a month |
credit_check_tag_instance_details_schema
{
"properties": {
"averageMonthlySalary": {
"description": "The user's monthly active salary, averaged over the last three transactions.",
"example": 1234.56,
"type": "number"
},
"existingLoans": {
"description": "Indicator whether the user has any open loans",
"example": true,
"type": "boolean"
},
"fixedIncome": {
"description": "Indicator whether the user has a fixed income. This includes salary, pension and other regular incomes such as rental income. To avoid small amounts to trigger the flag, a threshold of 300 € is set.",
"example": true,
"type": "boolean"
},
"lengthOfEmployment": {
"description": "The time in days the user has been employed with the current contract",
"example": 65,
"type": "integer"
},
"mortgagePayments": {
"description": "Indicator whether the user has made at least one payment related to a mortgage",
"example": true,
"type": "boolean"
},
"ratioDeficitMonths": {
"description": "Ratio of months the user had deficits",
"example": 0.5,
"type": "number"
},
"reminderCharges": {
"description": "Indicator whether the user has paid charges for reminders at least once",
"example": true,
"type": "boolean"
},
"returnDebits": {
"description": "Indicator whether the user has received at least one payment referring to a return debit",
"example": true,
"type": "boolean"
},
"riskyActivities": {
"description": "Indicator whether the user has been involved in risky activities at least once",
"example": true,
"type": "boolean"
}
},
"required": [
"averageMonthlySalary",
"existingLoans",
"fixedIncome",
"lengthOfEmployment",
"mortgagePayments",
"ratioDeficitMonths",
"reminderCharges",
"returnDebits",
"riskyActivities"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
averageMonthlySalary | number | true | none | The user's monthly active salary, averaged over the last three transactions. |
existingLoans | boolean | true | none | Indicator whether the user has any open loans |
fixedIncome | boolean | true | none | Indicator whether the user has a fixed income. This includes salary, pension and other regular incomes such as rental income. To avoid small amounts to trigger the flag, a threshold of 300 € is set. |
lengthOfEmployment | integer | true | none | The time in days the user has been employed with the current contract |
mortgagePayments | boolean | true | none | Indicator whether the user has made at least one payment related to a mortgage |
ratioDeficitMonths | number | true | none | Ratio of months the user had deficits |
reminderCharges | boolean | true | none | Indicator whether the user has paid charges for reminders at least once |
returnDebits | boolean | true | none | Indicator whether the user has received at least one payment referring to a return debit |
riskyActivities | boolean | true | none | Indicator whether the user has been involved in risky activities at least once |
credit_check_tag_instance_schema
{
"details": {
"averageMonthlySalary": 1234.56,
"existingLoans": true,
"fixedIncome": true,
"lengthOfEmployment": 65,
"mortgagePayments": true,
"ratioDeficitMonths": 0.5,
"reminderCharges": true,
"returnDebits": true,
"riskyActivities": true
},
"entity": {
"displayName": "Kontoumsatz",
"entityClass": "TRANSACTION",
"id": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"userId": "156ca508-c0e2-52c5-3202-8de20e7ed12b"
},
"id": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"relations": [
{
"href": "https://banksapi.io/tags/tag-trees/",
"rel": "tag_trees"
}
],
"tagTreeItem": {
"description": "Expenses from daily grocery purchases",
"displayName": "Groceries",
"systemId": 17,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Detailed inusrance categories.",
"displayName": "Kategorien",
"isTenantGenerated": true,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 1.5
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | credit_check_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
disposable_money_tag_instance_details_schema
{
"properties": {
"amountCashflow": {
"description": "Sum of income and expenses (cashflow) since the latest salary payment",
"example": -1322.78,
"type": "number"
},
"amountCurrentlyLeft": {
"description": "Amount currently left until the next salary payment considering the cashflow since the latest salary payment",
"example": 1517.75,
"type": "number"
},
"amountDisposableMoney": {
"description": "Amount estimated to be left at the next salary payment considering the cashflow since the latest salary payment the expected fixed cashflow until the next salary payment and the expected flexible cashflow until the next salary payment",
"example": 672.19,
"type": "number"
},
"amountExpectedFixedCashflow": {
"description": "Sum of expected income and expenses (cashflow) from contractsdue until the next salary payment",
"example": -422.78,
"type": "number"
},
"amountExpectedFlexCashflow": {
"description": "Sum of flexible income and expenses (cashflow) expected until the next salary payment derived from previous spending habits excluding contracts (expected fixed cashflow)",
"example": -422.78,
"type": "number"
},
"amountExpectedLeft": {
"description": "Amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment",
"example": 1094.97,
"type": "number"
},
"amountExpectedLeftDaily": {
"description": "Daily amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment",
"example": 64.41,
"type": "number"
},
"amountSalaryLatest": {
"description": "Amount of the latest salaray payment",
"example": 2840.53,
"minimum": 0,
"type": "number"
},
"amountSalaryNext": {
"description": "Amount of the next salaray payment",
"example": 2840.53,
"minimum": 0,
"type": "number"
},
"dateSalaryLatest": {
"description": "Date of the lastest salary payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"dateSalaryNext": {
"description": "Predicted date of the next salary payment",
"example": "2017-04-03",
"format": "date",
"type": "string"
},
"daysUntilSalary": {
"description": "Days until the next salaray payment is expected. A negative value means, the predicted salary payment is overdue or the employment ended and no new employment contract was detected or the detection did not work.",
"example": 17,
"maximum": 99,
"minimum": -99,
"type": "integer"
}
},
"required": [
"amountCashflow",
"amountCurrentlyLeft",
"amountDisposableMoney",
"amountExpectedFixedCashflow",
"amountExpectedFlexCashflow",
"amountExpectedLeft",
"amountExpectedLeftDaily",
"amountSalaryLatest",
"amountSalaryNext",
"dateSalaryLatest",
"dateSalaryNext",
"daysUntilSalary"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amountCashflow | number | true | none | Sum of income and expenses (cashflow) since the latest salary payment |
amountCurrentlyLeft | number | true | none | Amount currently left until the next salary payment considering the cashflow since the latest salary payment |
amountDisposableMoney | number | true | none | Amount estimated to be left at the next salary payment considering the cashflow since the latest salary payment the expected fixed cashflow until the next salary payment and the expected flexible cashflow until the next salary payment |
amountExpectedFixedCashflow | number | true | none | Sum of expected income and expenses (cashflow) from contractsdue until the next salary payment |
amountExpectedFlexCashflow | number | true | none | Sum of flexible income and expenses (cashflow) expected until the next salary payment derived from previous spending habits excluding contracts (expected fixed cashflow) |
amountExpectedLeft | number | true | none | Amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment |
amountExpectedLeftDaily | number | true | none | Daily amount expectedly left until the next salary payment considering the cashflow since the latest salary payment and the expected cashflow until the next salary payment |
amountSalaryLatest | number | true | none | Amount of the latest salaray payment |
amountSalaryNext | number | true | none | Amount of the next salaray payment |
dateSalaryLatest | string(date) | true | none | Date of the lastest salary payment |
dateSalaryNext | string(date) | true | none | Predicted date of the next salary payment |
daysUntilSalary | integer | true | none | Days until the next salaray payment is expected. A negative value means, the predicted salary payment is overdue or the employment ended and no new employment contract was detected or the detection did not work. |
disposable_money_tag_instance_schema
{
"details": {
"amountCashflow": -739.29,
"amountCurrrentlyLeft": 3117.55,
"amountDisposableMoney": 3117.55,
"amountExpectedFixedCashflow": 0,
"amountExpectedFlexCashflow": 0,
"amountExpectedLeft": 3117.55,
"amountExpectedLeftDaily": -283.41,
"amountSalaryLatest": 3856.84,
"amountSalaryNext": 3856.84,
"dateSalaryLatest": "2021-02-29",
"dateSalaryNext": "2021-03-29",
"daysUntilSalary": -11
},
"entity": {
"displayName": "USER",
"entityClass": "USER",
"id": "0b64d605-0483-4bae-8b12-fa26e313060b"
},
"id": "e846b38e-ec53-48de-b3e5-a81f5397c38a",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/7/tag-tree-items/908/",
"rel": "tag_tree_item"
}
],
"tagTreeItem": {
"description": "Information about the disposable money",
"displayName": "Informationen über frei verfügbares Geld",
"systemId": 908,
"systemName": "DISPOSABLEMONEY_INFORMATION",
"systemNameParent": "DISPOSABLEMONEY",
"tagTree": {
"description": "Disposable money tag tree with single parent and child tag.",
"displayName": "Einkommensüberschuss",
"isClientGenerated": false,
"systemId": 7,
"systemName": "DISPOSABLE_MONEY",
"version": 0.1
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | disposable_money_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
entity_schema
{
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
displayName | string | true | none | Display name of the entity |
entityClass | string | true | none | Class of the entity, such as TRANSACTION or USER |
id | string | true | none | Transaction UUID or USER UUID. |
userId | string | false | none | UUID of the USER. Same as id field for USER entities. |
extensive_tag_tree_item_schema
{
"description": "Transactions in the field of banking and finance",
"displayName": "Bank und Finanzen",
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "tag_tree"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/1/",
"rel": "tag_tree_item"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/None/",
"rel": "tag_tree_item_parent"
}
],
"systemId": 1,
"systemName": "BANKFINANCE",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressCity | string | false | none | Address city of the business partner |
addressCountry | string | false | none | Address country of the business partner |
addressStreet | string | false | none | Address street incl. number of the business partner |
addressZip | string | false | none | Address zip/postal code of the business partner |
categories | [string] | false | none | Categories the business partner belongs to. |
creditorId | string | false | none | creditor id of the business partner |
description | string | false | none | Gives a description of the tagTreeItem |
displayName | string | true | none | User-friendly name shown to the end-users |
group | string | false | none | Group the business partner belongs to. |
relations | [relation_schema] | false | none | List of relations |
systemId | integer | true | none | Unique internal id of the tag tree item |
systemName | string | true | none | Unique name of the tag tree item |
systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
telephone | string | false | none | Telephone of the business partner |
website | string | false | none | Website of the business partner |
investment_schema
{
"properties": {
"amount": {
"description": "Amount of the securities",
"example": 7,
"type": "number"
},
"currency": {
"description": "Trading currency (Alphabetic Code ISO 4217)",
"example": "EUR",
"type": "string"
},
"exchangeRate": {
"description": "Exchange rate from EUR to the trading currency",
"example": 1,
"type": "number"
},
"isin": {
"description": "International Securities Identification Number (ISIN) of the financial instrument",
"example": "DE000BAY0017",
"type": "string"
},
"name": {
"description": "Name of the deposit position, usually the name of the financial instrument",
"example": "Bayer AG",
"type": "string"
},
"price": {
"description": "Trading price in trading currency",
"example": 53.47,
"type": "number"
},
"rateDate": {
"description": "Date of the trading rate in yyyy-mm-dd HH:MM:SS format",
"example": "2021-03-08 09:34:46",
"format": "date-time",
"type": "string"
},
"totalValue": {
"description": "Total value of the stock in EUR as at the end of the financial statements",
"example": 364.66,
"type": "number"
},
"unit": {
"description": "Trading unit",
"example": "STUECK",
"type": "string"
},
"venue": {
"description": "Trading venue of the price determination",
"example": "MUN",
"type": "string"
},
"wkn": {
"description": "Wertpapierkennnummer (WKN) of the financial instrument. Corresponds to the German National Securities Identifying Number (NSIN), but without the three leading zeros.",
"example": "BAY001",
"type": "string"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | false | none | Amount of the securities |
currency | string | false | none | Trading currency (Alphabetic Code ISO 4217) |
exchangeRate | number | false | none | Exchange rate from EUR to the trading currency |
isin | string | false | none | International Securities Identification Number (ISIN) of the financial instrument |
name | string | false | none | Name of the deposit position, usually the name of the financial instrument |
price | number | false | none | Trading price in trading currency |
rateDate | string(date-time) | false | none | Date of the trading rate in yyyy-mm-dd HH:MM:SS format |
totalValue | number | false | none | Total value of the stock in EUR as at the end of the financial statements |
unit | string | false | none | Trading unit |
venue | string | false | none | Trading venue of the price determination |
wkn | string | false | none | Wertpapierkennnummer (WKN) of the financial instrument. Corresponds to the German National Securities Identifying Number (NSIN), but without the three leading zeros. |
life_event_tag_instance_details_schema
{
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventDate | string(date) | true | none | Date of the event |
life_event_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | life_event_tag_instance_details_schema | true | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | life_tag_tree_item_schema | true | none | none |
life_stage_explanation_schema
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
conflictingEvents | [life_event_tag_instance_schema] | false | none | The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty. |
conflictingStages | [tag_tree_item_schema] | false | none | The life stages that caused the stage to be ambiguous |
contractDetails | [contract_details_schema] | false | none | The contracts that caused the detection of a life stage |
life_stage_tag_instance_details_schema
{
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
explanation | life_stage_explanation_schema | false | none | An explanation for how the life stage was detected. |
life_stage_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"explanation": {
"allOf": [
{
"properties": {
"conflictingEvents": {
"description": "The life events that caused the stage to be ambiguous. If the absence of events causes the inconsistency, the list will be empty.",
"items": {
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"details",
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"conflictingStages": {
"description": "The life stages that caused the stage to be ambiguous",
"items": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"contractDetails": {
"description": "The contracts that caused the detection of a life stage",
"items": {
"properties": {
"amountMean": {
"description": "Mean payment among contract payments",
"example": "21.35",
"type": "number"
},
"customName": {
"description": "If there is no listed business partner found, a custom name is tried to be extracted from the transaction.",
"example": "Allianz",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"status": {
"description": "Status of contract (ACTIVE or NOT_ACTIVE)",
"example": "NOT_ACTIVE",
"type": "string"
},
"tagTreeItemBusinessPartner": {
"properties": {
"addressCity": {
"description": "Address city of the business partner",
"example": "München",
"type": "string"
},
"addressCountry": {
"description": "Address country of the business partner",
"example": "Deutschland",
"type": "string"
},
"addressStreet": {
"description": "Address street incl. number of the business partner",
"example": "Lyonel-Feininger-Straße 28",
"type": "string"
},
"addressZip": {
"description": "Address zip/postal code of the business partner",
"example": " 80807",
"type": "string"
},
"categories": {
"description": "Categories the business partner belongs to.",
"example": [
"BANKFINANCE",
"BANKFINANCE_INVESTMENT",
"BANKFINANCE_OTHER",
"SERVICES",
"SERVICES_PROFESSIONAL",
"SERVICES_ONLINE"
],
"items": {
"type": "string"
},
"type": "array"
},
"creditorId": {
"description": "creditor id of the business partner",
"example": "DEZZZ00000012345",
"type": "string"
},
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "BANKSapi",
"type": "string"
},
"group": {
"description": "Group the business partner belongs to.",
"example": "Finconomy AG",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 262,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "BANKSapi Technology GmbH",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
},
"telephone": {
"description": "Telephone of the business partner",
"example": "+49 (0)89 121 408 82",
"type": "string"
},
"website": {
"description": "Website of the business partner",
"example": "www.banksapi.de",
"type": "string"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemCategory": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemInsuranceType": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
},
"tagTreeItemPeriod": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"amountMean",
"id",
"status",
"tagTreeItemBusinessPartner",
"tagTreeItemCategory",
"tagTreeItemPeriod"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "An explanation for how the life stage was detected."
}
},
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | life_stage_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | life_tag_tree_item_schema | true | none | none |
life_tag_tree_item_schema
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"domain": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "Life domain this tag belongs to"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"domain",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tagTreeItem |
displayName | string | true | none | User-friendly name shown to the end-users |
domain | tag_tree_item_schema | true | none | Life domain this tag belongs to |
systemId | integer | true | none | Unique internal id of the tag tree item |
systemName | string | true | none | Unique name of the tag tree item |
tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
output_transaction_schema
{
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"allOf": [
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
],
"description": "Tags detected for this transaction"
}
},
"required": [
"amount",
"postingDatetime",
"product",
"provider"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Amount in Euros |
id | string | false | none | ID of the transaction |
postingDatetime | string(date-time) | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format |
product | string | true | none | ID of the banking product to which the transaction belongs |
provider | string | true | none | ID of the bank/service provider to which the transaction belongs |
tags | transaction_tags_schema | false | none | Tags detected for this transaction |
relation_schema
{
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
href | string | true | none | Link of the relation |
rel | string | true | none | Name of the relation |
sales_triggers_tag_instance_details_schema
{
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
eventDate | string(date) | true | none | Date of the event |
sales_triggers_tag_instance_schema
{
"properties": {
"details": {
"properties": {
"eventDate": {
"description": "Date of the event",
"example": "2019-05-03",
"format": "date",
"type": "string"
}
},
"required": [
"eventDate"
],
"type": "object"
},
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
details | sales_triggers_tag_instance_details_schema | false | none | none |
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
tag_instance_schema
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
entity | entity_schema | true | none | none |
id | string | true | none | Unique Universal Identifier (UUID) |
relations | [relation_schema] | false | none | List of relations |
tagTreeItem | tag_tree_item_schema | true | none | none |
tag_tree_input_schema
{
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
systemId | integer | false | none | none |
systemName | string | true | none | none |
tag_tree_item_input_schema
{
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
systemId | integer | false | none | none |
systemName | string | true | none | none |
tagTree | tag_tree_input_schema | true | none | none |
tag_tree_item_schema
{
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tagTreeItem |
displayName | string | true | none | User-friendly name shown to the end-users |
systemId | integer | true | none | Unique internal id of the tag tree item |
systemName | string | true | none | Unique name of the tag tree item |
systemNameParent | string | false | none | Unique name of the parent of the tagTreeItem |
tagTree | tag_tree_schema | true | none | tagTree that the tagTreeItem belongs to |
tag_tree_schema
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tag tree |
displayName | string | true | none | User-friendly name shown to the end-users |
isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
systemId | integer | true | none | Unique internal id of the tag tree |
systemName | string | true | none | Unique name of the tag tree |
version | number | true | none | Version of the tag tree |
tags_tag_tree_schema
{
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isClientGenerated": false,
"relations": [
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/",
"rel": "self"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/",
"rel": "tag_trees"
},
{
"href": "https://banksapi.io/tags/v1/tag-trees/1/tag-tree-items/",
"rel": "tag_tree_items"
}
],
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.7
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
description | string | false | none | Gives a description of the tag tree |
displayName | string | true | none | User-friendly name shown to the end-users |
isTenantGenerated | boolean | true | none | Boolean flag, set TRUE if the tag was manually set |
relations | [relation_schema] | false | none | List of relations |
systemId | integer | true | none | Unique internal id of the tag tree |
systemName | string | true | none | Unique name of the tag tree |
version | number | true | none | Version of the tag tree |
transaction_schema
{
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"bankUniqueId": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"noteToPayee": {
"description": "Text entered during posting",
"example": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2020 01 SEPA BASISLASTSCHRIFT wiederholend",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"postingText": {
"description": "Posting text of the transaction",
"example": "Lastschrift",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tenant": {
"description": "ID of the tenant to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "ID of the user to whom the transaction belongs",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"valueDatetime": {
"description": "Date the transaction was booked in yyyy-mm-dd HH:MM:SS format.",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"noteToPayee",
"postingDatetime",
"product",
"provider",
"tenant",
"user"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | number | true | none | Amount in Euros |
bankUniqueId | string | false | none | Id used by the bank |
counterpartyBic | string | false | none | BIC of the counterparty |
counterpartyIban | string | false | none | IBAN of the counterparty |
counterpartyName | string | false | none | Name of the counterparty |
counterpartyNameUltimate | string | false | none | Name of the ultimate counterparty |
gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
hash | string | false | none | Hash value for historical ordering |
id | string | false | none | ID of the transaction |
noteToPayee | string | true | none | Text entered during posting |
postingDatetime | string(date-time) | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format |
postingText | string | false | none | Posting text of the transaction |
product | string | true | none | ID of the banking product to which the transaction belongs |
provider | string | true | none | ID of the bank/service provider to which the transaction belongs |
tenant | string | true | none | ID of the tenant to which the transaction belongs |
user | string | true | none | ID of the user to whom the transaction belongs |
valueDatetime | string(date-time) | false | none | Date the transaction was booked in yyyy-mm-dd HH:MM:SS format. |
transaction_tags_schema
{
"properties": {
"businessPartner": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The business partner tag assigned to the transaction"
},
"category": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The categorization tag assigned to the transaction"
},
"insurance": {
"allOf": [
{
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
}
],
"description": "The insurance tag assigned to the transaction"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
businessPartner | tag_instance_schema | false | none | The business partner tag assigned to the transaction |
category | tag_instance_schema | false | none | The categorization tag assigned to the transaction |
insurance | tag_instance_schema | false | none | The insurance tag assigned to the transaction |
transactions_and_tag_tree_items_schema
{
"properties": {
"tagTreeItem": {
"allOf": [
{
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "New tag tree item to use for re-categorization"
},
"tagTreeItems": {
"description": "List of tag tree items",
"items": {
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
},
"transactions": {
"description": "List of transactions",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"bankUniqueId": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"noteToPayee": {
"description": "Text entered during posting",
"example": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2020 01 SEPA BASISLASTSCHRIFT wiederholend",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"postingText": {
"description": "Posting text of the transaction",
"example": "Lastschrift",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tenant": {
"description": "ID of the tenant to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "ID of the user to whom the transaction belongs",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"valueDatetime": {
"description": "Date the transaction was booked in yyyy-mm-dd HH:MM:SS format.",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"noteToPayee",
"postingDatetime",
"product",
"provider",
"tenant",
"user"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"transactions"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tagTreeItem | tag_tree_item_input_schema | false | none | New tag tree item to use for re-categorization |
tagTreeItems | [tag_tree_item_input_schema] | false | none | List of tag tree items |
transactions | [transaction_schema] | true | none | List of transactions |
user_rule_input_schema
{
"properties": {
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"tagTreeItem": {
"allOf": [
{
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "tag tree item to use for custom categorization"
},
"tenant": {
"description": "ID of the tenant",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "ID of the user",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
}
},
"required": [
"counterpartyIban",
"counterpartyName",
"tagTreeItem",
"tenant",
"user"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
counterpartyIban | string | true | none | IBAN of the counterparty |
counterpartyName | string | true | none | Name of the counterparty |
tagTreeItem | tag_tree_item_input_schema | true | none | tag tree item to use for custom categorization |
tenant | string | true | none | ID of the tenant |
user | string | true | none | ID of the user |
user_rule_schema
{
"counterpartyIban": "DE42500105174896827935",
"counterpartyName": "Müller Drogerie",
"id": "008a423d-ab1a-3785-17ff-d66e45b97f22",
"tagTreeItem": {
"description": "Payments from grocery shopping",
"displayName": "Lebensmittel",
"systemId": 67,
"systemName": "LIVING_GROCERIES",
"systemNameParent": "LIVING",
"tagTree": {
"description": "Two level categorization tree.",
"displayName": "Kategorien",
"isTenantGenerated": false,
"systemId": 1,
"systemName": "CATEGORIES",
"version": 3.71
}
},
"user": "0e3cb7d1-f17e-3924-4d78a-21d3590dfe58"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
counterpartyIban | string | true | none | IBAN of the counterparty |
counterpartyName | string | true | none | Name of the counterparty |
id | string | true | none | ID of the rule |
tagTreeItem | tag_tree_item_schema | true | none | tag tree item to use for custom categorization |
tenant | string | true | none | ID of the tenant |
user | string | true | none | ID of the user |
user_schema
{
"properties": {
"bankProducts": {
"description": "List of bank products",
"items": {
"properties": {
"balance": {
"description": "Balance of the bank product",
"example": 12675.48,
"type": "number"
},
"bic": {
"description": "BIC (Bank Identifier Code)",
"example": "DEUTDEFFXXX",
"type": "string"
},
"creditDrawn": {
"description": "Amount of credit already extended for the bank product",
"example": 1243.48,
"type": "number"
},
"creditLimit": {
"description": "Maximum amount of credit extended for the bank product",
"example": 2000,
"type": "number"
},
"currency": {
"description": "Currency in which the bank product is valued/managed",
"example": "EUR",
"type": "string"
},
"iban": {
"description": "IBAN (International Bank Account Number)",
"example": "DE61500105173126617266",
"type": "string"
},
"id": {
"description": "ID of the bank product",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"lastUpdated": {
"description": "Date of the last product update at the bank/service provider in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:34:46",
"type": "string"
},
"name": {
"description": "Name of the bank product according to bank/service provider",
"example": "Girokonto Premium Plus",
"type": "string"
},
"overdraftLimit": {
"description": "Maximum amount by which the bank product can be overdrawn",
"example": 5000,
"type": "number"
},
"owner": {
"description": "Name of the owner",
"example": "Erika Mustermann",
"type": "string"
},
"providerId": {
"description": "UUID of the bank/service provider",
"example": "7721443a-30ab-4fb7-8919-4bee0e963019",
"type": "string"
},
"providerName": {
"description": "Name of the bank/service provider",
"example": "Deutsche Bank",
"type": "string"
},
"status": {
"description": "Retrieval status for the bank product data",
"example": "VOLLSTAENDIG",
"type": "string"
},
"type": {
"description": "Type of the bank product",
"example": "GIROKONTO",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"investments": {
"description": "List of investments",
"items": {
"properties": {
"amount": {
"description": "Amount of the securities",
"example": 7,
"type": "number"
},
"currency": {
"description": "Trading currency (Alphabetic Code ISO 4217)",
"example": "EUR",
"type": "string"
},
"exchangeRate": {
"description": "Exchange rate from EUR to the trading currency",
"example": 1,
"type": "number"
},
"isin": {
"description": "International Securities Identification Number (ISIN) of the financial instrument",
"example": "DE000BAY0017",
"type": "string"
},
"name": {
"description": "Name of the deposit position, usually the name of the financial instrument",
"example": "Bayer AG",
"type": "string"
},
"price": {
"description": "Trading price in trading currency",
"example": 53.47,
"type": "number"
},
"rateDate": {
"description": "Date of the trading rate in yyyy-mm-dd HH:MM:SS format",
"example": "2021-03-08 09:34:46",
"format": "date-time",
"type": "string"
},
"totalValue": {
"description": "Total value of the stock in EUR as at the end of the financial statements",
"example": 364.66,
"type": "number"
},
"unit": {
"description": "Trading unit",
"example": "STUECK",
"type": "string"
},
"venue": {
"description": "Trading venue of the price determination",
"example": "MUN",
"type": "string"
},
"wkn": {
"description": "Wertpapierkennnummer (WKN) of the financial instrument. Corresponds to the German National Securities Identifying Number (NSIN), but without the three leading zeros.",
"example": "BAY001",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"transactions": {
"description": "List of transactions",
"items": {
"properties": {
"amount": {
"description": "Amount in Euros",
"example": -5.67,
"type": "number"
},
"bankUniqueId": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"counterpartyBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"counterpartyNameUltimate": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "ID of the transaction",
"example": "57624057-11bf-4087-b16a-dc1a7525d3b5",
"type": "string"
},
"noteToPayee": {
"description": "Text entered during posting",
"example": "CRED DE07ZZZ00000063475 Beitrag Lebensvers 2020 01 SEPA BASISLASTSCHRIFT wiederholend",
"type": "string"
},
"postingDatetime": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM:SS format",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
},
"postingText": {
"description": "Posting text of the transaction",
"example": "Lastschrift",
"type": "string"
},
"product": {
"description": "ID of the banking product to which the transaction belongs",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "ID of the bank/service provider to which the transaction belongs",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tenant": {
"description": "ID of the tenant to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "ID of the user to whom the transaction belongs",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"valueDatetime": {
"description": "Date the transaction was booked in yyyy-mm-dd HH:MM:SS format.",
"example": "2020-01-15 09:00:00",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"noteToPayee",
"postingDatetime",
"product",
"provider",
"tenant",
"user"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"transactions"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
bankProducts | [bank_product_schema] | false | none | List of bank products |
investments | [investment_schema] | false | none | List of investments |
transactions | [transaction_schema] | true | none | List of transactions |
v1_input
{
"properties": {
"transactions": {
"description": "List of transaction",
"items": {
"properties": {
"betrag": {
"description": "Amount in Euros",
"example": -3.94,
"type": "number"
},
"buchungsdatum": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM format",
"example": "2020-03-01 10:00",
"type": "string"
},
"buchungstext": {
"description": "Text entered during posting",
"example": "Lastschrift",
"type": "string"
},
"gegenkontoBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"gegenkontoIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"gegenkontoInhaber": {
"description": "Name of the counterparty",
"example": "Erika Musterfrau",
"type": "string"
},
"gegenkontoInhaberAbweichend": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"primanotaNummer": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"product": {
"description": "Account which the transaction is associated with",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "Id of the bank",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tenant": {
"description": "Tenant ID to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "Universally Unique Identifier of the user",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"verwendungszweck": {
"description": "Text entered during posting",
"example": "Miete 2020 03 Wohnung 123 Bahnhofsstraße 1",
"type": "string"
},
"wertstellungsdatum": {
"description": "Financial booking date in in yyyy-mm-dd HH:MM format.",
"example": "2020-03-01 10:00",
"type": "string"
}
},
"required": [
"betrag",
"buchungsdatum",
"id",
"product",
"provider",
"tenant",
"user",
"verwendungszweck"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"transactions"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
transactions | [v1_transaction] | true | none | List of transaction |
v1_output
{
"properties": {
"betrag": {
"description": "Amount in Euros",
"example": -3.94,
"type": "number"
},
"buchungsdatum": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM format",
"example": "2020-03-01 10:00",
"type": "string"
},
"buchungstext": {
"description": "Text entered during posting",
"example": "Lastschrift",
"type": "string"
},
"gegenkontoBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"gegenkontoIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"gegenkontoInhaber": {
"description": "Name of the counterparty",
"example": "Erika Musterfrau",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"primanotaNummer": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"product": {
"description": "Account which the transaction is associated with",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "Id of the bank",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"description": "List of tags of the transaction",
"items": {
"properties": {
"category": {
"description": "Unique name used by the API, similar to systemId.",
"example": "LIVING_GROCERIES",
"type": "string"
},
"confidenceLevel": {
"description": "Probability that the tag is correct.",
"example": 0.95,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"displayName": {
"description": "User friendly local name.",
"example": "Lebensmittel",
"type": "string"
},
"parent": {
"description": "systemName of the tag's parent.",
"example": "LIVING",
"type": "string"
},
"parentCategory": {
"description": "systemName of the tag's parent.",
"example": "LIVING",
"type": "string"
},
"systemName": {
"description": "Unique name used by the API, similar to systemId.",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagId": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"tagScope": {
"default": "transaction",
"description": "Object of the tag, user or transaction",
"example": "transaction",
"type": "string"
},
"tagType": {
"default": "CATEGORY",
"description": "Type of the tag",
"example": "CATEGORY",
"type": "string"
},
"tagVersion": {
"description": "Version of the tag tree",
"example": "1.5",
"type": "string"
}
},
"required": [
"category",
"displayName",
"systemName",
"tagVersion"
],
"type": "object"
},
"type": "array"
},
"tenant": {
"description": "Tenant ID to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "Universally Unique Identifier of the user",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"verwendungszweck": {
"description": "Text entered during posting",
"example": "Miete 2020 03 Wohnung 123 Bahnhofsstraße 1",
"type": "string"
},
"wertstellungsdatum": {
"description": "Financial booking date in in yyyy-mm-dd HH:MM format.",
"example": "2020-03-01 10:00",
"type": "string"
}
},
"required": [
"betrag",
"buchungsdatum",
"id",
"product",
"provider",
"tenant",
"user",
"verwendungszweck"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
betrag | number | true | none | Amount in Euros |
buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
buchungstext | string | false | none | Text entered during posting |
gegenkontoBic | string | false | none | BIC of the counterparty |
gegenkontoIban | string | false | none | IBAN of the counterparty |
gegenkontoInhaber | string | false | none | Name of the counterparty |
gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
hash | string | false | none | Hash value for historical ordering |
id | string | true | none | Unique Universal Identifier (UUID) |
primanotaNummer | string | false | none | Id used by the bank |
product | string | true | none | Account which the transaction is associated with |
provider | string | true | none | Id of the bank |
tags | [v1_tag] | false | none | List of tags of the transaction |
tenant | string | true | none | Tenant ID to which the transaction belongs |
user | string | true | none | Universally Unique Identifier of the user |
verwendungszweck | string | true | none | Text entered during posting |
wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
v1_tag
{
"properties": {
"category": {
"description": "Unique name used by the API, similar to systemId.",
"example": "LIVING_GROCERIES",
"type": "string"
},
"confidenceLevel": {
"description": "Probability that the tag is correct.",
"example": 0.95,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"displayName": {
"description": "User friendly local name.",
"example": "Lebensmittel",
"type": "string"
},
"parent": {
"description": "systemName of the tag's parent.",
"example": "LIVING",
"type": "string"
},
"parentCategory": {
"description": "systemName of the tag's parent.",
"example": "LIVING",
"type": "string"
},
"systemName": {
"description": "Unique name used by the API, similar to systemId.",
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagId": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"tagScope": {
"default": "transaction",
"description": "Object of the tag, user or transaction",
"example": "transaction",
"type": "string"
},
"tagType": {
"default": "CATEGORY",
"description": "Type of the tag",
"example": "CATEGORY",
"type": "string"
},
"tagVersion": {
"description": "Version of the tag tree",
"example": "1.5",
"type": "string"
}
},
"required": [
"category",
"displayName",
"systemName",
"tagVersion"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | string | true | none | Unique name used by the API, similar to systemId. |
confidenceLevel | number | false | none | Probability that the tag is correct. |
displayName | string | true | none | User friendly local name. |
parent | string | false | none | systemName of the tag's parent. |
parentCategory | string | false | none | systemName of the tag's parent. |
systemName | string | true | none | Unique name used by the API, similar to systemId. |
tagId | string | false | none | Unique Universal Identifier (UUID) |
tagScope | string | false | none | Object of the tag, user or transaction |
tagType | string | false | none | Type of the tag |
tagVersion | string | true | none | Version of the tag tree |
v1_transaction
{
"properties": {
"betrag": {
"description": "Amount in Euros",
"example": -3.94,
"type": "number"
},
"buchungsdatum": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM format",
"example": "2020-03-01 10:00",
"type": "string"
},
"buchungstext": {
"description": "Text entered during posting",
"example": "Lastschrift",
"type": "string"
},
"gegenkontoBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"gegenkontoIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"gegenkontoInhaber": {
"description": "Name of the counterparty",
"example": "Erika Musterfrau",
"type": "string"
},
"gegenkontoInhaberAbweichend": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"primanotaNummer": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"product": {
"description": "Account which the transaction is associated with",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "Id of the bank",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tenant": {
"description": "Tenant ID to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "Universally Unique Identifier of the user",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"verwendungszweck": {
"description": "Text entered during posting",
"example": "Miete 2020 03 Wohnung 123 Bahnhofsstraße 1",
"type": "string"
},
"wertstellungsdatum": {
"description": "Financial booking date in in yyyy-mm-dd HH:MM format.",
"example": "2020-03-01 10:00",
"type": "string"
}
},
"required": [
"betrag",
"buchungsdatum",
"id",
"product",
"provider",
"tenant",
"user",
"verwendungszweck"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
betrag | number | true | none | Amount in Euros |
buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
buchungstext | string | false | none | Text entered during posting |
gegenkontoBic | string | false | none | BIC of the counterparty |
gegenkontoIban | string | false | none | IBAN of the counterparty |
gegenkontoInhaber | string | false | none | Name of the counterparty |
gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
hash | string | false | none | Hash value for historical ordering |
id | string | true | none | Unique Universal Identifier (UUID) |
primanotaNummer | string | false | none | Id used by the bank |
product | string | true | none | Account which the transaction is associated with |
provider | string | true | none | Id of the bank |
tenant | string | true | none | Tenant ID to which the transaction belongs |
user | string | true | none | Universally Unique Identifier of the user |
verwendungszweck | string | true | none | Text entered during posting |
wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
v3_connect_put_schema
{
"properties": {
"tags": {
"items": {
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tags | [tag_tree_item_input_schema] | false | none | none |
v3_connect_user_rule_input_schema
{
"properties": {
"counterpartyIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"counterpartyName": {
"description": "Name of the counterparty",
"example": "ALLIANZ LV",
"type": "string"
},
"tagTreeItem": {
"allOf": [
{
"properties": {
"systemId": {
"example": 17,
"type": "integer"
},
"systemName": {
"example": "LIVING_GROCERIES",
"type": "string"
},
"tagTree": {
"properties": {
"systemId": {
"example": 1,
"type": "integer"
},
"systemName": {
"example": "CATEGORIES",
"type": "string"
}
},
"required": [
"systemName"
],
"type": "object"
}
},
"required": [
"systemName",
"tagTree"
],
"type": "object"
}
],
"description": "tag tree item to use for custom categorization"
}
},
"required": [
"counterpartyIban",
"counterpartyName",
"tagTreeItem"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
counterpartyIban | string | true | none | IBAN of the counterparty |
counterpartyName | string | true | none | Name of the counterparty |
tagTreeItem | tag_tree_item_input_schema | true | none | tag tree item to use for custom categorization |
v3_output_connect_schema
{
"properties": {
"betrag": {
"description": "Amount in Euros",
"example": -3.94,
"type": "number"
},
"buchungsdatum": {
"description": "Date the transaction was initiated in yyyy-mm-dd HH:MM format",
"example": "2020-03-01 10:00",
"type": "string"
},
"buchungstext": {
"description": "Text entered during posting",
"example": "Lastschrift",
"type": "string"
},
"gegenkontoBic": {
"description": "BIC of the counterparty",
"example": "PBNKDEFF",
"type": "string"
},
"gegenkontoIban": {
"description": "IBAN of the counterparty",
"example": "DE75512108001245126199",
"type": "string"
},
"gegenkontoInhaber": {
"description": "Name of the counterparty",
"example": "Erika Musterfrau",
"type": "string"
},
"gegenkontoInhaberAbweichend": {
"description": "Name of the ultimate counterparty",
"example": "REWE",
"type": "string"
},
"gvCode": {
"description": "SEPA GV Code (Geschäftsvorfallcode)",
"example": "082",
"type": "string"
},
"hash": {
"description": "Hash value for historical ordering",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"primanotaNummer": {
"description": "Id used by the bank",
"example": "999001",
"type": "string"
},
"product": {
"description": "Account which the transaction is associated with",
"example": "30cc4587-7e5f-450f-bb51-dc3829f67db4",
"type": "string"
},
"provider": {
"description": "Id of the bank",
"example": "23d67ff8-ff6a-44ff-93da-f2af835394e4",
"type": "string"
},
"tags": {
"description": "List of tags of the transaction",
"items": {
"properties": {
"entity": {
"properties": {
"displayName": {
"description": "Display name of the entity",
"example": "Kontoumsatz",
"type": "string"
},
"entityClass": {
"description": "Class of the entity, such as TRANSACTION or USER",
"example": "TRANSACTION",
"type": "string"
},
"id": {
"description": "Transaction UUID or USER UUID.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"userId": {
"description": "UUID of the USER. Same as id field for USER entities.",
"example": "156ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
}
},
"required": [
"displayName",
"entityClass",
"id"
],
"type": "object"
},
"id": {
"description": "Unique Universal Identifier (UUID)",
"example": "956ca508-c0e2-52c5-3202-8de20e7ed12b",
"type": "string"
},
"relations": {
"description": "List of relations",
"items": {
"properties": {
"href": {
"description": "Link of the relation",
"example": "https://banksapi.io/tags/tag-trees/",
"type": "string"
},
"rel": {
"description": "Name of the relation",
"example": "tag_trees",
"type": "string"
}
},
"required": [
"href",
"rel"
],
"type": "object"
},
"type": "array"
},
"tagTreeItem": {
"properties": {
"description": {
"description": "Gives a description of the tagTreeItem",
"example": "Expenses from daily grocery purchases",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Groceries",
"type": "string"
},
"systemId": {
"description": "Unique internal id of the tag tree item",
"example": 17,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree item",
"example": "LIVING_GROCERIES",
"type": "string"
},
"systemNameParent": {
"description": "Unique name of the parent of the tagTreeItem",
"example": "LIVING",
"type": "string"
},
"tagTree": {
"allOf": [
{
"properties": {
"description": {
"description": "Gives a description of the tag tree",
"example": "Detailed inusrance categories.",
"type": "string"
},
"displayName": {
"description": "User-friendly name shown to the end-users",
"example": "Kategorien",
"type": "string"
},
"isTenantGenerated": {
"description": "Boolean flag, set TRUE if the tag was manually set",
"example": true,
"type": "boolean"
},
"systemId": {
"description": "Unique internal id of the tag tree",
"example": 1,
"type": "integer"
},
"systemName": {
"description": "Unique name of the tag tree",
"example": "CATEGORIES",
"type": "string"
},
"version": {
"description": "Version of the tag tree",
"example": 1.5,
"minimum": 0,
"type": "number"
}
},
"required": [
"displayName",
"isTenantGenerated",
"systemId",
"systemName",
"version"
],
"type": "object"
}
],
"description": "tagTree that the tagTreeItem belongs to"
}
},
"required": [
"displayName",
"systemId",
"systemName",
"tagTree"
],
"type": "object"
}
},
"required": [
"entity",
"id",
"tagTreeItem"
],
"type": "object"
},
"type": "array"
},
"tenant": {
"description": "Tenant ID to which the transaction belongs",
"example": "1bcb487e-f409-4438-a358-d8d128581761",
"type": "string"
},
"user": {
"description": "Universally Unique Identifier of the user",
"example": "624ca509-b0f2-42f6-b202-8de20e9ed12a",
"type": "string"
},
"verwendungszweck": {
"description": "Text entered during posting",
"example": "Miete 2020 03 Wohnung 123 Bahnhofsstraße 1",
"type": "string"
},
"wertstellungsdatum": {
"description": "Financial booking date in in yyyy-mm-dd HH:MM format.",
"example": "2020-03-01 10:00",
"type": "string"
}
},
"required": [
"betrag",
"buchungsdatum",
"id",
"product",
"provider",
"tenant",
"user",
"verwendungszweck"
],
"type": "object"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
betrag | number | true | none | Amount in Euros |
buchungsdatum | string | true | none | Date the transaction was initiated in yyyy-mm-dd HH:MM format |
buchungstext | string | false | none | Text entered during posting |
gegenkontoBic | string | false | none | BIC of the counterparty |
gegenkontoIban | string | false | none | IBAN of the counterparty |
gegenkontoInhaber | string | false | none | Name of the counterparty |
gegenkontoInhaberAbweichend | string | false | none | Name of the ultimate counterparty |
gvCode | string | false | none | SEPA GV Code (Geschäftsvorfallcode) |
hash | string | false | none | Hash value for historical ordering |
id | string | true | none | Unique Universal Identifier (UUID) |
primanotaNummer | string | false | none | Id used by the bank |
product | string | true | none | Account which the transaction is associated with |
provider | string | true | none | Id of the bank |
tags | [tag_instance_schema] | false | none | List of tags of the transaction |
tenant | string | true | none | Tenant ID to which the transaction belongs |
user | string | true | none | Universally Unique Identifier of the user |
verwendungszweck | string | true | none | Text entered during posting |
wertstellungsdatum | string | false | none | Financial booking date in in yyyy-mm-dd HH:MM format. |
Frequently Asked Questions
How do I get the banking products for my customer?
The banking products are available via the Banks/Connect Customer API. After you have authenticated your user, you must add a Bank Access. You will need the online banking credentials (credentials of your customer, which you transmit to us asymmetrically encrypted.
If the data retrieval is successful, the data is ready for retrieval via the API.
What are credentials?
Credentials are here defined as the customer's access data to his online banking. The credentials usually consist of a user ID/login name and a password/PIN. The concrete specification is different per provider and can be queried via the [Banks/Connect Providers API (#tocSauthenticationinfo).
What's a TAN?
A TAN (transaction number) is a random code that can only be used once. In the Banks/Connect Customer API the TAN is needed for the transfer process.
After the transfer data has been transmitted to the provider, the TAN or the instruction for TAN generation (e.g. chip card reader) is then sent directly from the provider to the customer. The TAN must then be queried by the customer and forwarded to Banks/Connect Customer API to confirm the order.
Is there a test account or a demo account?
Yes, there is a demo bank. It is a fictitious bank with fictitious but not unrealistic banking products. This test access demonstrates the possibilities our API offers you. There is no connection to the real world. For further information please refer to our [Quickstart Guide (#quick-start)
What is BANKSapi Banks/Connect?
BANKSapi Banks/Connect is an interface through which a large number of providers can obtain their customers'
- accounts including account details, account transactions and transfers
- custody accounts incl. total custody account holdings, valued individual custody account holdings and custody account risk
- credit cards including credit card details and credit card transactions
Where and how is the data stored?
Depending on the selected range of services, we store the data for you permanently or only for a few minutes, but in any case in the high-security data center of DATEV eG or your own.
How much does BANKSapi Banks/Connect cost me?
Information about our price model can be found on the website.