Skip to main content

Data structures

The following data structures are used within EnableNow.

Customer

A business customer of EnableNow. A customer is able to use the API's and systems provider by EnableNow.

App

An app is an entity a customer can create. Each app has it's own unique OAuth client ID which links the App to the customer.

User

A user is an end-user who uses the front-end provided by EnableNow for an app of the customer.

A user is linked directly to an app.

A user has an EnableNow ID, but also has a unique external_user_id.

A user can have multiple consents, even from different banks.

When using consent based access, users are not stored in the system.

A user can provides one or more consents to a bank. A consent is linked to a user and accounts.

A consent is created when a consent endpoint request is made through the AppScreen. This is the start of the consent process.

A consent can contain multiple accounts.

During authentication an access token and refresh token will be requested and stored in the token Key Vault.

A consent has one of the following statuses:

StatusDescription
INITIALIZEDThe consent has been created but not yet authenticated
AUTHENTICATINGThe consent is in the process of being authenticated
AUTHENTICATEDThe consent is authenticated
UPDATINGThe consent is updating its transactions
UPDATEDThe consent has updated its transactions
FAILINGConsent has failed to update its transactions
INVALIDATEDConsent is invalidated, might be expired or replaced by a newer consent
ERRORConsent is in error state
TIMEDOUTConsent was INITIALIZED but has timed out after period of inactivity

Failing state

The FAILING state is triggered after a transaction update request fails. After 20 consecutive failures, the consent state is converted to ERROR and the automatic transaction updates will ignore this consent. If a consent succeeds the transaction update when it is in the FAILING state, the counter of consecutive failures will reset to 0.

TimedOut state

The consent will receive the TIMEDOUT state automatically when a consent is created, but the end user does not complete the consent process within 4 hours of its creation.

Account

An account is a bank account from a user. It has it's own unique identifier which links this account to the consent.

The IBAN number is a unique account number in the banking world. However, the same IBAN can be linked multiple times in different Consents, for instance when a 2 users give consent of the same account when using a shared account. Some banks do not use IBAN numbers for some accounts. So a unique EnableNow AccountId is used for managing the ID of the account.

Transaction

A transaction is a bank transaction from an account.

There is one generic transaction model which all bank services should return.

Bank

A bank, also called an ASPSP or a provider. The financial institution to provide the consent and transaction data.

All banks that can be used within EnableNow can be found in the providers page.