API Explorer

v5.1.0 (617 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Add User to a Consent

This endpoint is used to add the User of Consent.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

CONSENT_ID:

JSON response body fields:

consent_id:

jwt:

status:

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"AUTHORISED" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20057: User not found by userId.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-35024: The Consent's User is already added.
  • OBP-10001: Incorrect json format.
  • OBP-35001: Consent not found by CONSENT_ID.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by addConsentUser, operation_id: OBPv4.0.0-addConsentUser Tags: Consent, Account Information Service (AIS),

Answer Consent Challenge

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.

Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg

Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache

Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.

Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live

This endpoint is used to confirm a Consent previously created.

The User must supply a code that was sent out of band (OOB) for example via an SMS.

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

CONSENT_ID:

JSON request body fields:

answer:

JSON response body fields:

consent_id:

jwt:

status:

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by answerConsentChallenge, operation_id: OBPv3.1.0-answerConsentChallenge Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent (EMAIL)

This endpoint starts the process of creating a Consent.

The Consent is created in an INITIATED state.

A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.

When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.

Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg

Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache

Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.

Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live

Authentication is Mandatory

Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"phone_number": "+49 170 1234567"
}

Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
"phone_number": "+49 170 1234567"
}

Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"phone_number": "+49 170 1234567"
}

URL Parameters:

BANK_ID: gh.29.uk

EMAIL: felixsmith@example.com

JSON request body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

email: felixsmith@example.com

entitlements:

everything:

role_name:

view_id: owner

views:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

time_to_live:

valid_from: 2020-01-27

JSON response body fields:

consent_id:

jwt:

status:

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by createConsentEmail, operation_id: OBPv3.1.0-createConsentEmail Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent (IMPLICIT)

This endpoint starts the process of creating a Consent.

The Consent is created in an INITIATED state.

A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.

When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.

Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg

Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache

Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.

Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live

Authentication is Mandatory

Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
}

Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
}

Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
}

URL Parameters:

BANK_ID: gh.29.uk

IMPLICIT: IMPLICIT

JSON request body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

entitlements:

everything:

role_name:

view_id: owner

views:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

time_to_live:

valid_from: 2020-01-27

JSON response body fields:

consent_id:

jwt:

status:

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-00010: Missing props value at this API instance -
  • OBP-35010: SMS server is not working or SMS server can not send the message to the phone number:
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by createConsentImplicit, operation_id: OBPv3.1.0-createConsentImplicit Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent (SMS)

This endpoint starts the process of creating a Consent.

The Consent is created in an INITIATED state.

A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.

When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.

Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg

Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache

Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.

Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live

Authentication is Mandatory

Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com"
}

Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
"email": "eveline@example.com"
}

Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com"
}

URL Parameters:

BANK_ID: gh.29.uk

SMS:

JSON request body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

entitlements:

everything:

phone_number:

role_name:

view_id: owner

views:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

time_to_live:

valid_from: 2020-01-27

JSON response body fields:

consent_id:

jwt:

status:

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-00010: Missing props value at this API instance -
  • OBP-35010: SMS server is not working or SMS server can not send the message to the phone number:
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by createConsentSms, operation_id: OBPv3.1.0-createConsentSms Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent By CONSENT_REQUEST_ID (EMAIL)

This endpoint continues the process of creating a Consent.

It starts the SCA flow which changes the status of the consent from INITIATED to ACCEPTED or REJECTED.

Please note that the Consent cannot elevate the privileges of the logged in user.

Authentication is Mandatory

URL Parameters:

CONSENT_REQUEST_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

EMAIL: felixsmith@example.com

JSON request body fields:

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by createConsentByConsentRequestIdEmail, operation_id: OBPv5.0.0-createConsentByConsentRequestIdEmail Tags: Consent, Account Information Service (AIS), PSD2, VRP,

Create Consent By CONSENT_REQUEST_ID (IMPLICIT)

This endpoint continues the process of creating a Consent. It starts the SCA flow which changes the status of the consent from INITIATED to ACCEPTED or REJECTED.
Please note that the Consent cannot elevate the privileges logged in user already have.

Authentication is Mandatory

URL Parameters:

CONSENT_REQUEST_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

IMPLICIT: IMPLICIT

JSON request body fields:

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35029: The CONSENT_REQUEST_ID is invalid.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-00010: Missing props value at this API instance -
  • OBP-35010: SMS server is not working or SMS server can not send the message to the phone number:
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by createConsentByConsentRequestIdImplicit, operation_id: OBPv5.0.0-createConsentByConsentRequestIdImplicit Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent By CONSENT_REQUEST_ID (SMS)

This endpoint continues the process of creating a Consent. It starts the SCA flow which changes the status of the consent from INITIATED to ACCEPTED or REJECTED.

Please note that the Consent you are creating cannot exceed the entitlements that the User creating this consents already has.

Authentication is Mandatory

URL Parameters:

CONSENT_REQUEST_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

SMS:

JSON request body fields:

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-35029: The CONSENT_REQUEST_ID is invalid.
  • OBP-35009: Only SMS, EMAIL and IMPLICIT are supported as SCA methods.
  • OBP-35013: Consents can only contain Roles that you already have access to.
  • OBP-35014: Consents can only contain Views that you already have access to.
  • OBP-30019: Consumer not found. Please specify a valid value for CONSUMER_ID.
  • OBP-20058: Consumer is disabled.
  • OBP-00010: Missing props value at this API instance -
  • OBP-35010: SMS server is not working or SMS server can not send the message to the phone number:
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by createConsentByConsentRequestIdSms, operation_id: OBPv5.0.0-createConsentByConsentRequestIdSms Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent Request

Client Authentication (mandatory)

It is used when applications request an access token to access their own resources, not on behalf of a user.

The client needs to authenticate themselves for this request.
In case of public client we use client_id and private key to obtain access token, otherwise we use client_id and client_secret.
The obtained access token is used in the HTTP Bearer auth header of our request.

Example:
Authorization: Bearer eXtneO-THbQtn3zvK_kQtXXfvOZyZFdBCItlPDbR2Bk.dOWqtXCtFX-tqGTVR0YrIjvAolPIVg7GZ-jz83y6nA0

After successfully creating the VRP consent request, you need to call the Create Consent By CONSENT_REQUEST_ID endpoint to finalize the consent.

Authentication is Optional

JSON request body fields:

account_access: account_access

account_routing:

address:

bank_id: gh.29.uk

everything:

role_name:

scheme: OBP

view_id: owner

bank_id: gh.29.uk

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

email: felixsmith@example.com

entitlements:

phone_number:

time_to_live:

valid_from: 2020-01-27

JSON response body fields:

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

payload: payload

Typical Successful Response:

								
									
{ "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "payload":{ "everything":false, "account_access":[{ "account_routing":{ "scheme":"OBP", "address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0" }, "view_id":"owner" }], "phone_number":"+44 07972 444 876", "valid_from":"2022-06-14T12:42:00Z", "time_to_live":3600 }, "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-35020: You exceeded max value of time to live of consents.
  • OBP-20306: PEM Encoded Certificate cannot be found at request header.
  • OBP-20300: PEM Encoded Certificate issue.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by createConsentRequest, operation_id: OBPv5.0.0-createConsentRequest Tags: Consent, Account Information Service (AIS), PSD2,

Create Consent Request VRP

This endpoint is used to begin the process of creating a consent that may be used for Variable Recurring Payments (VRPs).

VRPs are useful in situations when a beneficiary needs to be paid different amounts on a regular basis.

Once granted, the consent allows its holder to initiate multiple Transaction Requests to the Counterparty defined in this endpoint as long as the
Counterparty Limits are respected.

Client, Consumer or Application Authentication is mandatory for this endpoint.

i.e. the caller of this endpoint is the API Client, Consumer or Application rather than a specific User.

At the end of the process the following objects are created in OBP or connected backend systems:
- An automatically generated View which controls access.
- A Counterparty that is the Beneficiary of the Variable Recurring Payments. The Counterparty specifies the Bank Account number or other routing address.
- Limits for the Counterparty which constrain the amount of money that can be sent to it in various periods (yearly, monthly, weekly).

The Account holder may modify the Counterparty or Limits e.g. to increase or decrease the maximum possible payment amounts or the frequencey of the payments.

In the case of a public client we use the client_id and private key to obtain an access token, otherwise we use the client_id and client_secret.
The obtained access token is used in the HTTP Authorization header of the request as follows:

Example:
Authorization: Bearer eXtneO-THbQtn3zvK_kQtXXfvOZyZFdBCItlPDbR2Bk.dOWqtXCtFX-tqGTVR0YrIjvAolPIVg7GZ-jz83y6nA0

After successfully creating the VRP consent request, you need to call the Create Consent By CONSENT_REQUEST_ID endpoint to finalize the consent using the CONSENT_REQUEST_ID returned by this endpoint.

Authentication is Optional

JSON request body fields:

account_routing:

address:

bank_routing:

branch_routing:

counterparty_name: John Smith Ltd.

currency: EUR

from_account: from_account

limit: 100

max_monthly_amount: 10000

max_number_of_monthly_transactions: 10

max_number_of_yearly_transactions: 100

max_single_amount: 1000

max_yearly_amount: 12000

scheme: OBP

to_account: to_account

email: felixsmith@example.com

phone_number:

time_to_live:

valid_from: 2020-01-27

JSON response body fields:

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

payload: payload

Typical Successful Response:

								
									
{ "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "payload":{ "from_account":{ "bank_routing":{ "scheme":"OBP", "address":"gh.29.uk" }, "account_routing":{ "scheme":"OBP", "address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0" }, "branch_routing":{ "scheme":"OBP", "address":"DERBY6" } }, "to_account":{ "bank_routing":{ "scheme":"OBP", "address":"gh.29.uk" }, "account_routing":{ "scheme":"OBP", "address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0" }, "branch_routing":{ "scheme":"OBP", "address":"DERBY6" }, "limit":{ "currency":"EUR", "max_single_amount":1000, "max_monthly_amount":10000, "max_number_of_monthly_transactions":10, "max_yearly_amount":12000, "max_number_of_yearly_transactions":100 } }, "valid_from":"2024-07-10T09:22:06Z", "time_to_live":3600 }, "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-35020: You exceeded max value of time to live of consents.
  • OBP-20306: PEM Encoded Certificate cannot be found at request header.
  • OBP-20300: PEM Encoded Certificate issue.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by createVRPConsentRequest, operation_id: OBPv5.1.0-createVRPConsentRequest Tags: Consent, VRP, Transaction-Request,

Get Consent By Consent Id

This endpoint gets the Consent By consent id.

Authentication is Mandatory

URL Parameters:

CONSENT_ID:

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by getConsentByConsentIdViaConsumer, operation_id: OBPv5.1.0-getConsentByConsentIdViaConsumer Tags: Consent, Account Information Service (AIS), PSD2,

Get Consent By Consent Id

This endpoint gets the Consent By consent id.

Authentication is Mandatory

URL Parameters:

CONSENT_ID:

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by getConsentByConsentId, operation_id: OBPv5.1.0-getConsentByConsentId Tags: Consent, Account Information Service (AIS), PSD2,

Get Consent By Consent Request Id

This endpoint gets the Consent By consent request id.

Authentication is Mandatory

URL Parameters:

CONSENT_REQUEST_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

bank_id: gh.29.uk

consent_id:

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

helper_info: helper_info

jwt:

status:

view_id: owner

account_access: account_access

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_access":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "view_id":"owner", "helper_info":{ "counterparty_id":["9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"] } } }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by getConsentByConsentRequestId, operation_id: OBPv5.0.0-getConsentByConsentRequestId Tags: Consent, Account Information Service (AIS), PSD2,

Get Consent Request

Authentication is Optional

URL Parameters:

CONSENT_REQUEST_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

JSON response body fields:

consent_request_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

payload: payload

Typical Successful Response:

								
									
{ "consent_request_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "payload":{ "everything":false, "account_access":[{ "account_routing":{ "scheme":"OBP", "address":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0" }, "view_id":"owner" }], "phone_number":"+44 07972 444 876", "valid_from":"2022-06-14T12:42:00Z", "time_to_live":3600 }, "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-35020: You exceeded max value of time to live of consents.
  • OBP-20306: PEM Encoded Certificate cannot be found at request header.
  • OBP-20300: PEM Encoded Certificate issue.
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by getConsentRequest, operation_id: OBPv5.0.0-getConsentRequest Tags: Consent, Account Information Service (AIS), PSD2,

Get Consents at Bank

This endpoint gets the Consents at Bank by BANK_ID.

Authentication is Mandatory

1 limit (for pagination: defaults to 50) eg:limit=200

2 offset (for pagination: zero index, defaults to 0) eg: offset=10

3 consumer_id (ignore if omitted)

4 user_id (ignore if omitted)

5 status (ignore if omitted)

eg: /management/consents/banks/BANK_ID?&consumer_id=78&limit=10&offset=10

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

api_standard: api_standard

api_version:

aud: String

bank_id: gh.29.uk

consent_reference_id: consent_reference_id

consents:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

createdByUserId: createdByUserId

created_by_user_id:

entitlements:

exp: String

iat: String

iss: String

jti: String

jwt:

jwt_payload: jwt_payload

last_action_date: last_action_date

last_usage_date: last_usage_date

nbf: String

status:

sub: felixsmith

view_id: owner

views:

access: access

accounts:

allPsd2: allPsd2

availableAccounts: availableAccounts

balances: balances

bban: bban

currency: EUR

email: felixsmith@example.com

iban: DE91 1000 0000 0123 4567 89

maskedPan: maskedPan

msisdn: msisdn

name: ACCOUNT_MANAGEMENT_FEE

pan: pan

transactions:

Typical Successful Response:

								
									
{ "consents":[{ "consent_reference_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "created_by_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "status":"INITIATED", "last_action_date":"2020-01-27", "last_usage_date":"2021-04-08T09:12:27Z", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiIiLCJzdWIiOiJmY2YzNDZkMi0xNTNiLTQ0MzAtOWE4Zi1mMzU3Njg1MzM5ODciLCJhdWQiOiIyNjY0NjUwYy04MDkwLTQ4MWUtOGJkOC0wM2E5MmY5Yzg3ZWEiLCJuYmYiOjE3MzAzNzMyNzEsImFjY2VzcyI6eyJhY2NvdW50cyI6W3siaWJhbiI6IlJTMzUyNjAwMDU2MDEwMDE2MTEzNzkifV19LCJpc3MiOiJodHRwczovLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNzMwOTM3NjAwLCJpYXQiOjE3MzAzNzMyNzEsImp0aSI6ImQzM2Y3NDYzLWVlNDktNGU4YS04YTkyLTYxMzhkYzE4M2QxNiIsInZpZXdzIjpbeyJiYW5rX2lkIjoibmxia2IiLCJhY2NvdW50X2lkIjoiOTUzODkyOTctNDVjNC00MGViLTllZmQtMzMxYmExOTQzZGE0Iiwidmlld19pZCI6IlJlYWRBY2NvdW50c0Jlcmxpbkdyb3VwIn1dfQ.SXE4W34596lrSXqZrA8cvQs_fvhjWYilU8VDpXZ3C3Y", "jwt_payload":{ "createdByUserId":"", "sub":"fcf346d2-153b-4430-9a8f-f35768533987", "iss":"https://127.0.0.1:8080", "aud":"2664650c-8090-481e-8bd8-03a92f9c87ea", "jti":"d33f7463-ee49-4e8a-8a92-6138dc183d16", "iat":1730373271, "nbf":1730373271, "exp":1730937600, "entitlements":[], "views":[{ "bank_id":"nlbkb", "account_id":"95389297-45c4-40eb-9efd-331ba1943da4", "view_id":"ReadAccountsBerlinGroup" }], "access":{ "accounts":[{ "iban":"RS35260005601001611379" }] } }, "api_standard":"Berlin Group", "api_version":"v1.3" }] }
Required Roles:
  • CanGetConsentsAtOneBank - Please login to request this Role
  • CanGetConsentsAtAnyBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv5.1.0, function_name: by getConsentsAtBank, operation_id: OBPv5.1.0-getConsentsAtBank Tags: Consent, Account Information Service (AIS), PSD2,

Get My Consents

This endpoint gets the Consents created by a current User.

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

api_standard: api_standard

api_version:

consent_id:

consents:

jwt:

status:

Typical Successful Response:

								
									
{ "consents":[{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED", "api_standard":"Berlin Group", "api_version":"v1.3" }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by getMyConsents, operation_id: OBPv5.1.0-getMyConsents Tags: Consent, Account Information Service (AIS), PSD2,

Get My Consents Info

This endpoint gets the Consents that the current User created.

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

api_standard: api_standard

api_version:

consent_id:

consents:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

created_by_user_id:

last_action_date: last_action_date

last_usage_date: last_usage_date

status:

Typical Successful Response:

								
									
{ "consents":[{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "created_by_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "last_action_date":"2020-01-27", "last_usage_date":"2021-04-08T09:12:27Z", "status":"INITIATED", "api_standard":"Berlin Group", "api_version":"v1.3" }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getConsentInfos, operation_id: OBPv4.0.0-getConsentInfos Tags: Consent, Account Information Service (AIS), PSD2,

Provide client's certificate info of a current call

Provide client's certificate info of a current call specified by PSD2-CERT value at Request Header

Authentication is Mandatory

JSON response body fields:

issuer_domain_name: issuer_domain_name

not_after: not_after

not_before: not_before

subject_domain_name: subject_domain_name

roles: CanCreateMyUser

roles_info: roles_info

Typical Successful