Our PSD2 APIs

Account Information Service (AIS)

Account Information Service (AIS)

The aim of the AIS is to give customers relevant and up-to-date information at any time to any platform they wish. DHB Bank Account Information Service API offers TPPs to create applications to retrieve information about DHB Bank payment accounts including the balances and the transactions of those accounts.  

The AIS API can be consumed by Account Information Service Providers with valid PSD2 license. The account information can only be accessed with a consent of the DHB Bank account holder, where the account holder must explicitly authorize the access of the TPP to his/her account.

If your customers would like to have aggregated financial information or an overview of accounts held at different banks then this is the API you need.

Following information of an account is available on this API:

  • Account general information, such as account holder name and/or account name
  • Real-time balance information
  • Transactions information 
  • Transaction details information, such as booking date and amount

Following we give example requests and possible responses for each function.

Account List

Example Request:

GET {dhburl}/auth/v1/psd2/account/account-list Header:Content-Type: application/jsonAuthorization: Bearer 9a0781de-a859-4f6c-9cc1-3a67bd60b288digest: sha-512=z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==tpp-signing-certificate=MIIK...2NERsignature=eyAi...date=Sun, 01 Sep 2019 08:49:37 GMTx-request-id=7f3d80df-bfee-4501-bca8-f8397342ebbe

Request with Curl:

curl -X GET \  http:// {dhburl}/auth/v1/psd2/account/account-list \  -H 'Authorization: Bearer 8e11a8cd-0718-4278-92df-a6c53ceac16b' \  -H 'Content-Type: application/json' \  -H 'date: Sun, 01 Sep 2019 08:49:37 GMT' \  -H 'digest: sha-512=z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==' \  -H 'signature: eyAi...' \  -H 'tpp-signing-certificate: MIIK...2NER' \  -H 'x-request-id: 7f3d80df-bfee-4501-bca8-f8397342ebbe'

Example Responses

200 Response

{    "accounts": [        {            "resourceId": "0-0744511712-EUR",            "iban": "NL58DHBN0412431432",            "accountHolderName": "null IIDZ",            "currency": "EUR"        }    ]}

401 Response

{    "error": "invalid_token",    "error_description": "Access token expired: 9a0781de-a859-4f6c-9cc1-3a67bd60b288"}

500 Response

{    "errorId": "b1d8124c-1f63-479d-94d6-3a70bb4ca528",    "timestamp": "2019-06-28T12:14:53.111+0000",    "message": "Unexpected error is occurred! Please contact with your system adminstration."}

Account Balance

Example Request:

GET {dhburl}/auth/v1/psd2/account/account-balance Header:Content-Type: application/jsonAuthorization: Bearer 9a0781de-a859-4f6c-9cc1-3a67bd60b288digest: sha-256=gxRcuelmYDTckWq9Gi0wF83N1RA+ndT53HaBVmgFSds=tpp-signing-certificate=MIIK...2NERsignature=eyAi...date=Sun, 01 Sep 2019 08:49:37 GMTx-request-id=7f3d80df-bfee-4501-bca8-f8397342ebbeBody:{"referenceId": "0-0744511712-EUR"}

Example Request with Curl:

curl -X GET \  http:// {dhburl}/auth/v1/psd2/account/account-balance \  -H 'Authorization: Bearer 9a0781de-a859-4f6c-9cc1-3a67bd60b288' \  -H 'Content-Type: application/json' \  -H 'date: Sun, 01 Sep 2019 08:49:37 GMT' \  -H 'digest: sha-256=gxRcuelmYDTckWq9Gi0wF83N1RA+ndT53HaBVmgFSds=' \  -H 'signature: eyAi...' \  -H 'tpp-signing-certificate: MIIK...2NER' \  -H 'x-request-id: 7f3d80df-bfee-4501-bca8-f8397342ebbe' \  -d '{"referenceId": "0-0744511712-EUR"}'

Example Responses

200 Response

{    "account": {        "iban": "NL58DHBN0412431432",        "currency": "EUR"    },    "balances": [        {            "balanceType": "AvailableBalance",            "balanceAmount": {                "currency": "EUR",                "amount": 532.26            },            "lastChangeDateTime": "2018-10-08",            "referenceDate": "2019-06-27"        }    ]}

401 Response

{    "error": "invalid_token",    "error_description": "Access token expired: 9a0781de-a859-4f6c-9cc1-3a67bd60b288"}

500 Response

{    "errorId": "b1d8124c-1f63-479d-94d6-3a70bb4ca528",    "timestamp": "2019-06-28T12:14:53.111+0000",    "message": "Unexpected error is occurred! Please contact with your system adminstration."}

Account Transaction

Example Request:

GET {dhburl}/auth/v1/psd2/account/{account-id}/transactions?{dateFrom}&{dateTo}&{pageIndex}Header:Content-Type: application/jsonAuthorization: Bearer 9a0781de-a859-4f6c-9cc1-3a67bd60b288digest: sha-512=z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==tpp-signing-certificate=MIIK...2NERsignature=eyAi...date=Sun, 01 Sep 2019 08:49:37 GMTx-request-id=7f3d80df-bfee-4501-bca8-f8397342ebbe

Example Request with Curl:

curl -X GET \  'http:// {dhburl}/auth/v1/psd2/account/156324/transactions?dateFrom=2019-01-25&dateTo=2019-04-20&pageIndex=0' \  -H 'Authorization: Bearer 3f522f04-a8dc-4ac5-ae6c-085779ee6eb9' \  -H 'Content-Type: application/json' \  -H 'date: Sun, 01 Sep 2019 08:49:37 GMT' \  -H 'digest: sha-512=z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==' \  -H 'signature: eyAi...' \  -H 'tpp-signing-certificate: MIIK...2NER' \  -H 'x-request-id: 7f3d80df-bfee-4501-bca8-f8397342ebbe'

Example Responses:

200 Response

{    "account": {        "iban": "NL58DHBN0412431432",        "currency": "EUR"    },    " transactions": [        {                "transactionId": " transactionId",                "bookingDate": "2019-06-27",                "bookingDate": "2019-06-27",                "explanation": "transaction explanation",                "balanceAmount": {                "amount": 532.26,                "sourceCurrency": "EUR",            }        }    ]}

401 Response

{    "error": "invalid_token",    "error_description": "Access token expired: 9a0781de-a859-4f6c-9cc1-3a67bd60b288"}

500 Response

{    "errorId": "b1d8124c-1f63-479d-94d6-3a70bb4ca528",    "timestamp": "2019-06-28T12:14:53.111+0000",    "message": "Unexpected error is occurred! Please contact with your system adminstration."}

Are you curious to see what you can do with the Account Information Service API?