Denizbank AG PSD2

API change history

Denizbank AG PSD2 API

Read account details.

Reads details about an account, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system.The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token.

Try it

Request

Request URL

Request parameters

  • string

    This identification is denoting the addressed account.

Request headers

  • string

    ID of the request, unique to the call, as determined by the initiating party

  • (optional)
    string

    Is contained if and only if the "Signature" element is contained in the header of the request.

  • (optional)
    string

    A signature of the request by the TPP on application level. This might be mandated by ASPSP.

  • (optional)
    string

    The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.

  • (optional)
    string

    The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available

  • (optional)
    string

    The forwarded header field of the HTTP request between PSU and TPP, if available

  • (optional)
    string

    The forwarded header field of the HTTP request between PSU and TPP, if available

  • (optional)
    string

    The forwarded header field of the HTTP request between PSU and TPP, if available

  • (optional)
    string

    UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependent application installation. In case of an installation identification, this ID needs to be unaltered until removal from the device

  • (optional)
    string

    The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available

  • (optional)
    string

    The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP

  • (optional)
    string

    The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available

  • (optional)
    string

    The forwarded Agent header field of the HTTP request between PSU and TPP, if available

  • string
    Subscription key which provides access to this API. Found in your Profile.

Request body

Responses

200 OK

Ok

Representations

{
  "account": {
    "resourceId": "string",
    "iban": "string",
    "bban": "string",
    "msisdn": "string",
    "currency": "string",
    "name": "string",
    "product": "string",
    "cashAccountType": "string",
    "status": "string",
    "bic": "string",
    "linkedAccounts": "string",
    "usage": "string",
    "details": "string",
    "balances": [
      {
        "balanceAmount": {
          "currency": "string",
          "amount": 0.0
        },
        "balanceType": "string",
        "lastChangeDateTime": "string",
        "referenceDate": "string",
        "lastCommittedTransaction": "string",
        "creditLimitIncluded": true
      }
    ],
    "links": {},
    "ownerName": "string",
    "ownerAddress": {
      "street": "string",
      "buildingNumber": "string",
      "city": "string",
      "postalCode": "string",
      "country": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "account": {
      "type": "object",
      "properties": {
        "resourceId": {
          "description": "This is the data element to be used in the path when retrieving data from a dedicated account.",
          "type": "string"
        },
        "iban": {
          "description": "IBAN of an account",
          "type": "string"
        },
        "bban": {
          "description": "Basic Bank Account Number (BBAN) Identifier",
          "type": "string"
        },
        "msisdn": {
          "description": "Mobile phone number.",
          "type": "string"
        },
        "currency": {
          "description": "ISO 4217 Alpha 3 currency code",
          "type": "string"
        },
        "name": {
          "description": "Name of the account given by the bank or the PSU in online-banking.",
          "type": "string"
        },
        "product": {
          "description": "Product name of the bank for this account, proprietary definition.",
          "type": "string"
        },
        "cashAccountType": {
          "description": "ExternalCashAccountType1Code from ISO 20022",
          "type": "string"
        },
        "status": {
          "description": "Account status. The value is one of the following: \r\n\"enabled\": account is available \r\n\"deleted\": account is terminated \r\n\"blocked\": account is blocked e.g. for legal reasons\r\nIf this field is not used, than the account is available in the sense of this specification.",
          "type": "string"
        },
        "bic": {
          "description": "The BIC associated to the account.",
          "type": "string"
        },
        "linkedAccounts": {
          "description": "This data attribute is a field, where an ASPSP can name a cash account associated to pending card transactions.",
          "type": "string"
        },
        "usage": {
          "description": "Specifies the usage of the account \r\n- PRIV: private personal account \r\n- ORGA: professional account",
          "type": "string"
        },
        "details": {
          "description": "Specifications that might be provided by the ASPSP\r\n- characteristics of the account \r\n- characteristics of the relevant card",
          "type": "string"
        },
        "balances": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "balanceAmount": {
                "type": "object",
                "properties": {
                  "currency": {
                    "description": "The currency of the account.",
                    "type": "string"
                  },
                  "amount": {
                    "format": "double",
                    "description": "The amount given with fractional digits, where fractions must be compliant to the currency definition. The decimal separator is a dot.",
                    "type": "number"
                  }
                }
              },
              "balanceType": {
                "type": "string"
              },
              "lastChangeDateTime": {
                "format": "date-time",
                "description": "This data element might be used to indicate e.g.with the expected or booked balance that no action is known on the account, which is not yet booked.",
                "type": "string"
              },
              "referenceDate": {
                "format": "date-time",
                "description": "Reference date of the balance",
                "type": "string"
              },
              "lastCommittedTransaction": {
                "description": "entryReference of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known.",
                "type": "string"
              },
              "creditLimitIncluded": {
                "description": "A flag indicating if the credit limit of the corresponding account is included in the calculation of the balance, where applicable.",
                "type": "boolean"
              }
            }
          }
        },
        "links": {
          "type": "object"
        },
        "ownerName": {
          "type": "string"
        },
        "ownerAddress": {
          "type": "object",
          "properties": {
            "street": {
              "description": "The street of the bank.",
              "type": "string"
            },
            "buildingNumber": {
              "description": "The building number of the bank.",
              "type": "string"
            },
            "city": {
              "description": "The city of the bank.",
              "type": "string"
            },
            "postalCode": {
              "description": "Postal code.",
              "type": "string"
            },
            "country": {
              "description": "The code country of the bank.",
              "type": "string"
            }
          }
        }
      }
    }
  }
}
{
  "account": {
    "resourceId": "string",
    "iban": "string",
    "bban": "string",
    "msisdn": "string",
    "currency": "string",
    "name": "string",
    "product": "string",
    "cashAccountType": "string",
    "status": "string",
    "bic": "string",
    "linkedAccounts": "string",
    "usage": "string",
    "details": "string",
    "balances": [
      {
        "balanceAmount": {
          "currency": "string",
          "amount": 0.0
        },
        "balanceType": "string",
        "lastChangeDateTime": "string",
        "referenceDate": "string",
        "lastCommittedTransaction": "string",
        "creditLimitIncluded": true
      }
    ],
    "links": {},
    "ownerName": "string",
    "ownerAddress": {
      "street": "string",
      "buildingNumber": "string",
      "city": "string",
      "postalCode": "string",
      "country": "string"
    }
  }
}
{
  "type": "object",
  "properties": {
    "account": {
      "type": "object",
      "properties": {
        "resourceId": {
          "description": "This is the data element to be used in the path when retrieving data from a dedicated account.",
          "type": "string"
        },
        "iban": {
          "description": "IBAN of an account",
          "type": "string"
        },
        "bban": {
          "description": "Basic Bank Account Number (BBAN) Identifier",
          "type": "string"
        },
        "msisdn": {
          "description": "Mobile phone number.",
          "type": "string"
        },
        "currency": {
          "description": "ISO 4217 Alpha 3 currency code",
          "type": "string"
        },
        "name": {
          "description": "Name of the account given by the bank or the PSU in online-banking.",
          "type": "string"
        },
        "product": {
          "description": "Product name of the bank for this account, proprietary definition.",
          "type": "string"
        },
        "cashAccountType": {
          "description": "ExternalCashAccountType1Code from ISO 20022",
          "type": "string"
        },
        "status": {
          "description": "Account status. The value is one of the following: \r\n\"enabled\": account is available \r\n\"deleted\": account is terminated \r\n\"blocked\": account is blocked e.g. for legal reasons\r\nIf this field is not used, than the account is available in the sense of this specification.",
          "type": "string"
        },
        "bic": {
          "description": "The BIC associated to the account.",
          "type": "string"
        },
        "linkedAccounts": {
          "description": "This data attribute is a field, where an ASPSP can name a cash account associated to pending card transactions.",
          "type": "string"
        },
        "usage": {
          "description": "Specifies the usage of the account \r\n- PRIV: private personal account \r\n- ORGA: professional account",
          "type": "string"
        },
        "details": {
          "description": "Specifications that might be provided by the ASPSP\r\n- characteristics of the account \r\n- characteristics of the relevant card",
          "type": "string"
        },
        "balances": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "balanceAmount": {
                "type": "object",
                "properties": {
                  "currency": {
                    "description": "The currency of the account.",
                    "type": "string"
                  },
                  "amount": {
                    "format": "double",
                    "description": "The amount given with fractional digits, where fractions must be compliant to the currency definition. The decimal separator is a dot.",
                    "type": "number"
                  }
                }
              },
              "balanceType": {
                "type": "string"
              },
              "lastChangeDateTime": {
                "format": "date-time",
                "description": "This data element might be used to indicate e.g.with the expected or booked balance that no action is known on the account, which is not yet booked.",
                "type": "string"
              },
              "referenceDate": {
                "format": "date-time",
                "description": "Reference date of the balance",
                "type": "string"
              },
              "lastCommittedTransaction": {
                "description": "entryReference of the last commited transaction to support the TPP in identifying whether all PSU transactions are already known.",
                "type": "string"
              },
              "creditLimitIncluded": {
                "description": "A flag indicating if the credit limit of the corresponding account is included in the calculation of the balance, where applicable.",
                "type": "boolean"
              }
            }
          }
        },
        "links": {
          "type": "object"
        },
        "ownerName": {
          "type": "string"
        },
        "ownerAddress": {
          "type": "object",
          "properties": {
            "street": {
              "description": "The street of the bank.",
              "type": "string"
            },
            "buildingNumber": {
              "description": "The building number of the bank.",
              "type": "string"
            },
            "city": {
              "description": "The city of the bank.",
              "type": "string"
            },
            "postalCode": {
              "description": "Postal code.",
              "type": "string"
            },
            "country": {
              "description": "The code country of the bank.",
              "type": "string"
            }
          }
        }
      }
    }
  }
}

400 Bad Request

Bad Request - The request was invalid

500 Internal Server Error

Internal Servor Error

Code samples

@ECHO OFF

curl -v -X GET "https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}"
-H "X-Request-ID: "
-H "Digest: "
-H "Signature: "
-H "TPP-Signature-Certificate: "
-H "PSU-Accept: "
-H "PSU-Accept-Charset: "
-H "PSU-Accept-Encoding: "
-H "PSU-Accept-Language: "
-H "PSU-Device-ID: "
-H "PSU-Geo-Location: "
-H "PSU-IP-Address: "
-H "PSU-IP-Port: "
-H "PSU-User-Agent: "
-H "Ocp-Apim-Subscription-Key: {subscription key}"

--data-ascii "{body}" 
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
        
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request headers
            client.DefaultRequestHeaders.Add("X-Request-ID", "");
            client.DefaultRequestHeaders.Add("Digest", "");
            client.DefaultRequestHeaders.Add("Signature", "");
            client.DefaultRequestHeaders.Add("TPP-Signature-Certificate", "");
            client.DefaultRequestHeaders.Add("PSU-Accept", "");
            client.DefaultRequestHeaders.Add("PSU-Accept-Charset", "");
            client.DefaultRequestHeaders.Add("PSU-Accept-Encoding", "");
            client.DefaultRequestHeaders.Add("PSU-Accept-Language", "");
            client.DefaultRequestHeaders.Add("PSU-Device-ID", "");
            client.DefaultRequestHeaders.Add("PSU-Geo-Location", "");
            client.DefaultRequestHeaders.Add("PSU-IP-Address", "");
            client.DefaultRequestHeaders.Add("PSU-IP-Port", "");
            client.DefaultRequestHeaders.Add("PSU-User-Agent", "");
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");

            var uri = "https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}?" + queryString;

            var response = await client.GetAsync(uri);
        }
    }
}	
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample 
{
    public static void main(String[] args) 
    {
        HttpClient httpclient = HttpClients.createDefault();

        try
        {
            URIBuilder builder = new URIBuilder("https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}");


            URI uri = builder.build();
            HttpGet request = new HttpGet(uri);
            request.setHeader("X-Request-ID", "");
            request.setHeader("Digest", "");
            request.setHeader("Signature", "");
            request.setHeader("TPP-Signature-Certificate", "");
            request.setHeader("PSU-Accept", "");
            request.setHeader("PSU-Accept-Charset", "");
            request.setHeader("PSU-Accept-Encoding", "");
            request.setHeader("PSU-Accept-Language", "");
            request.setHeader("PSU-Device-ID", "");
            request.setHeader("PSU-Geo-Location", "");
            request.setHeader("PSU-IP-Address", "");
            request.setHeader("PSU-IP-Port", "");
            request.setHeader("PSU-User-Agent", "");
            request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };
      
        $.ajax({
            url: "https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("X-Request-ID","");
                xhrObj.setRequestHeader("Digest","");
                xhrObj.setRequestHeader("Signature","");
                xhrObj.setRequestHeader("TPP-Signature-Certificate","");
                xhrObj.setRequestHeader("PSU-Accept","");
                xhrObj.setRequestHeader("PSU-Accept-Charset","");
                xhrObj.setRequestHeader("PSU-Accept-Encoding","");
                xhrObj.setRequestHeader("PSU-Accept-Language","");
                xhrObj.setRequestHeader("PSU-Device-ID","");
                xhrObj.setRequestHeader("PSU-Geo-Location","");
                xhrObj.setRequestHeader("PSU-IP-Address","");
                xhrObj.setRequestHeader("PSU-IP-Port","");
                xhrObj.setRequestHeader("PSU-User-Agent","");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
            },
            type: "GET",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    NSString* path = @"https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}";
    NSArray* array = @[
                         // Request parameters
                         @"entities=true",
                      ];
    
    NSString* string = [array componentsJoinedByString:@"&"];
    path = [path stringByAppendingFormat:@"?%@", string];

    NSLog(@"%@", path);

    NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
    [_request setHTTPMethod:@"GET"];
    // Request headers
    [_request setValue:@"" forHTTPHeaderField:@"X-Request-ID"];
    [_request setValue:@"" forHTTPHeaderField:@"Digest"];
    [_request setValue:@"" forHTTPHeaderField:@"Signature"];
    [_request setValue:@"" forHTTPHeaderField:@"TPP-Signature-Certificate"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Accept"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Accept-Charset"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Accept-Encoding"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Accept-Language"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Device-ID"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-Geo-Location"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-IP-Address"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-IP-Port"];
    [_request setValue:@"" forHTTPHeaderField:@"PSU-User-Agent"];
    [_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
    // Request body
    [_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];

    if (nil != error)
    {
        NSLog(@"Error: %@", error);
    }
    else
    {
        NSError* error = nil;
        NSMutableDictionary* json = nil;
        NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", dataString);
        
        if (nil != _connectionData)
        {
            json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
        }
        
        if (error || !json)
        {
            NSLog(@"Could not parse loaded json with error:%@", error);
        }
        
        NSLog(@"%@", json);
        _connectionData = nil;
    }
    
    [pool drain];

    return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

$request = new Http_Request2('https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'X-Request-ID' => '',
    'Digest' => '',
    'Signature' => '',
    'TPP-Signature-Certificate' => '',
    'PSU-Accept' => '',
    'PSU-Accept-Charset' => '',
    'PSU-Accept-Encoding' => '',
    'PSU-Accept-Language' => '',
    'PSU-Device-ID' => '',
    'PSU-Geo-Location' => '',
    'PSU-IP-Address' => '',
    'PSU-IP-Port' => '',
    'PSU-User-Agent' => '',
    'Ocp-Apim-Subscription-Key' => '{subscription key}',
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_GET);

// Request body
$request->setBody("{body}");

try
{
    $response = $request->send();
    echo $response->getBody();
}
catch (HttpException $ex)
{
    echo $ex;
}

?>
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
    # Request headers
    'X-Request-ID': '',
    'Digest': '',
    'Signature': '',
    'TPP-Signature-Certificate': '',
    'PSU-Accept': '',
    'PSU-Accept-Charset': '',
    'PSU-Accept-Encoding': '',
    'PSU-Accept-Language': '',
    'PSU-Device-ID': '',
    'PSU-Geo-Location': '',
    'PSU-IP-Address': '',
    'PSU-IP-Port': '',
    'PSU-User-Agent': '',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('api-gateway.denizbank.at')
    conn.request("GET", "/PSD2/v1/accounts/{accountId}?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'X-Request-ID': '',
    'Digest': '',
    'Signature': '',
    'TPP-Signature-Certificate': '',
    'PSU-Accept': '',
    'PSU-Accept-Charset': '',
    'PSU-Accept-Encoding': '',
    'PSU-Accept-Language': '',
    'PSU-Device-ID': '',
    'PSU-Geo-Location': '',
    'PSU-IP-Address': '',
    'PSU-IP-Port': '',
    'PSU-User-Agent': '',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('api-gateway.denizbank.at')
    conn.request("GET", "/PSD2/v1/accounts/{accountId}?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
require 'net/http'

uri = URI('https://api-gateway.denizbank.at/PSD2/v1/accounts/{accountId}')


request = Net::HTTP::Get.new(uri.request_uri)
# Request headers
request['X-Request-ID'] = ''
# Request headers
request['Digest'] = ''
# Request headers
request['Signature'] = ''
# Request headers
request['TPP-Signature-Certificate'] = ''
# Request headers
request['PSU-Accept'] = ''
# Request headers
request['PSU-Accept-Charset'] = ''
# Request headers
request['PSU-Accept-Encoding'] = ''
# Request headers
request['PSU-Accept-Language'] = ''
# Request headers
request['PSU-Device-ID'] = ''
# Request headers
request['PSU-Geo-Location'] = ''
# Request headers
request['PSU-IP-Address'] = ''
# Request headers
request['PSU-IP-Port'] = ''
# Request headers
request['PSU-User-Agent'] = ''
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request body
request.body = "{body}"

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body