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 provide 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.

A consent has one of the following statuses:

Status
Description
INITIALIZED
The consent has been created but not yet authenticated.
AUTHENTICATING
The consent is in the process of being authenticated.
AUTHENTICATED
The consent is authenticated.
UPDATING
The consent is updating its transactions.
UPDATED
The consent has successfully updated its transactions during the last fetch or refresh. This means that the consent is active and synchronized up to the most recent update.
FAILING
Consent has failed to update its transactions.
INVALIDATED
Consent is invalidated, might be expired or replaced by a newer consent.
ERROR
Consent is in an error state.
TIMEDOUT
Consent was INITIALIZED but has timed out after a period of inactivity.

A consent can be automatically or manually refreshed (see Consent Refresh) and an history of such refreshes is kept for 7 days.

A consent refresh has one of the following statuses:

Status
Description
INITIALIZED
The consent refresh has been created.
UPDATED
The consent refresh finished and balance/transactions were updated.
ERROR
The consent refresh had an error.

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 two 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 is also called an ASPSP (Account Servicing Payment Service Provider) 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 section.

info

Authorized third-party providers (TPPs) can access account information or initiate payments on behalf of users. The two types are:

  1. AISP (Account Information Service Provider) – only reads account data (e.g. transaction history, balances).
  2. PISP (Payment Initiation Service Provider) – can initiate payments from the user’s account.

EnableNow is positioned as an AISP.