Open Data API v2.1.1
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
UK Open Banking API specification v 2.1.1
API allows to access information about Danske Banks ATMs and branches in UK. API is part of the UK Open Banking initiative: https://www.openbanking.org.uk
Base URL = https://obp-data.danskebank.com/open-banking/v2.1
Branch
Endpoint for getting Branch data
GET /branches
Code samples
# You can also use wget
curl -X get https://obp-data.danskebank.com/open-banking/v2.1/branches \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
GET https://obp-data.danskebank.com/open-banking/v2.1/branches HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/branches',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/branches',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.get 'https://obp-data.danskebank.com/open-banking/v2.1/branches', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.get('https://obp-data.danskebank.com/open-banking/v2.1/branches', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/branches");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code 200
{
"meta": {
"LastUpdated":"2018-01-03T12:24:04.000Z",
"TotalResults": 48,
"Agreement":"Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions",
"License":"https://www.openbanking.org.uk/open-licence",
"TermsOfUse":"https://www.openbanking.org.uk/terms"
},
"data": [{
"Brand": [{
"BrandName":"DanskeBank",
"Branch": [{
"Identification":"950611",
"SequenceNumber":"0",
"Name":"Belfast Business Centre",
"Type":"Physical",
"CustomerSegment": ["Business"],
"ServiceAndFacility": ["InternalATM","ExternalATM","QuickDeposit"],
"Accessibility": ["AutomaticDoors"],
"Availability": {
"StandardAvailability": {
"Day": [{
"Name":"Monday",
"OpeningHours": [{
"OpeningTime":"09:30:00.000",
"ClosingTime":"16:30:00.000"
}]
},
{
"Name":"Thursday",
"OpeningHours": [{
"OpeningTime":"10:00:00.000",
"ClosingTime":"16:30:00.000"
}]
},
{
"Name":"Friday",
"OpeningHours": [{
"OpeningTime":"09:30:00.000",
"ClosingTime":"16:30:00.000"
}]
},
{
"Name":"Wednesday",
"OpeningHours": [{
"OpeningTime":"10:00:00.000",
"ClosingTime":"16:30:00.000"
}]
},
{
"Name":"Tuesday",
"OpeningHours": [{
"OpeningTime":"09:30:00.000",
"ClosingTime":"16:30:00.000"
}]
}]
}
},
"PostalAddress": {
"BuildingNumber":"P.O. Box 183",
"StreetName":"Donegall Square West",
"TownName":"Belfast",
"CountrySubDivision": ["NIR"],
"Country":"GB",
"PostCode":"BT1 6JS",
"GeoLocation": {
"GeographicCoordinates": {
"Latitude":"54.596184",
"Longitude":"-5.931737"
}
}
}
}]
}]
}]
}
Example response Http Code 400
{
"status": "400",
"title": "Bad request",
"description": "You have sent a request which could not be understood."
}
Example response Http Code 408
{
"status": "408",
"title": "Client timeout",
"description": "Your client has failed to submit a request, and a timeout has occurred."
}
Example response Http Code 429
{
"status": "429",
"title": "Too many requests",
"description": "You have requested this resource too often. Slow down."
}
Example response Http Code 500
{
"status": "500",
"title": "Internal server error",
"description": "An error occurred on the server. No further information is available."
}
Example response Http Code 503
{
"status": "503",
"title": "Service temporarily unavailable",
"description": "The service is temporarily unavailable."
}
Example response Http Code default
{
"status": "string",
"title": "string",
"description": "string"
}
Gets a list of all Branch
objects.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
200 | OK | Successful response with a list of Branch data |
400 | Bad Request | You have sent a request which could not be understood. |
408 | Request Timeout | Your client has failed to submit a request, and a timeout has occurred. |
429 | Too Many Requests | You have requested this resource too often. Slow down. |
500 | Internal Server Error | An error occurred on the server. No further information is available. |
503 | Service Unavailable | The service is temporarily unavailable. |
default | Default | A standard error response. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Strict-Transport-Security | string | HTTPS strict transport security header | |
200 | Etag | string | A unique ID identifying whether this resource has changed | |
200 | Cache-Control | string | Describes how long this response can be cached | |
200 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
200 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Strict-Transport-Security | string | HTTPS strict transport security header | |
400 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
400 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Status Code | integer | The HTTP status code defining the error | |
408 | Strict-Transport-Security | string | HTTPS strict transport security header | |
408 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
408 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
408 | Status Code | integer | The HTTP status code defining the error | |
429 | Strict-Transport-Security | string | HTTPS strict transport security header | |
429 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
429 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
429 | Status Code | integer | The HTTP status code defining the error | |
500 | Strict-Transport-Security | string | HTTPS strict transport security header | |
500 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
500 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
500 | Status Code | integer | The HTTP status code defining the error | |
503 | Strict-Transport-Security | string | HTTPS strict transport security header | |
503 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
503 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
503 | Status Code | integer | The HTTP status code defining the error | |
default | Strict-Transport-Security | string | HTTPS strict transport security header | |
default | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
default | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
default | Status Code | integer | The HTTP status code defining the error |
HEAD /branches
Code samples
# You can also use wget
curl -X head https://obp-data.danskebank.com/open-banking/v2.1/branches \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
HEAD https://obp-data.danskebank.com/open-banking/v2.1/branches HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/branches',
method: 'head',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/branches',
{
method: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.head 'https://obp-data.danskebank.com/open-banking/v2.1/branches', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.head('https://obp-data.danskebank.com/open-banking/v2.1/branches', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/branches");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("HEAD");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code default
Gets header information on the current set of Branch
data
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
default | Default | No response |
ATM
Endpoint for getting ATM data
GET /atms
Code samples
# You can also use wget
curl -X get https://obp-data.danskebank.com/open-banking/v2.1/atms \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
GET https://obp-data.danskebank.com/open-banking/v2.1/atms HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/atms',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/atms',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.get 'https://obp-data.danskebank.com/open-banking/v2.1/atms', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.get('https://obp-data.danskebank.com/open-banking/v2.1/atms', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/atms");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code 200
{
"meta": {
"LastUpdated":"2018-01-03T12:24:05.000Z",
"TotalResults": 1,
"Agreement":"Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions",
"License":"https://www.openbanking.org.uk/open-licence",
"TermsOfUse":"https://www.openbanking.org.uk/terms"
},
"data": [{
"Brand": [{
"BrandName":"Danske Bank",
"ATM": [{
"Identification":"95010308",
"SupportedLanguages": ["eng"],
"ATMServices": ["Balance","CashWithdrawal","PINActivation","PINChange"],
"Accessibility": ["AudioCashMachine","AutomaticDoors","LevelAccess","WheelchairAccess"],
"SupportedCurrencies": ["GBP","EUR"],
"MinimumPossibleAmount":"£10",
"OtherATMServices": [{
"Name":"MiniStatement",
"Description":"This details the last ten transactions on the account."
}],
"Branch": {
"Identification":"950103"
},
"Location": {
"LocationCategory": ["BranchInternal"],
"Site": {
"Name":"Kennedy Centre "
},
"PostalAddress": {
"BuildingNumber":"564-568",
"StreetName":"Falls Road",
"TownName":"Belfast",
"CountrySubDivision": ["NIR"],
"Country":"GB",
"PostCode":"BT11 9AE",
"GeoLocation": {
"GeographicCoordinates": {
"Latitude":"54.58197",
"Longitude":"-5.978689"
}
}
}
}
}]
}]
}]
}
Example response Http Code 400
{
"status": "400",
"title": "Bad request",
"description": "You have sent a request which could not be understood."
}
Example response Http Code 408
{
"status": "408",
"title": "Client timeout",
"description": "Your client has failed to submit a request, and a timeout has occurred."
}
Example response Http Code 429
{
"status": "429",
"title": "Too many requests",
"description": "You have requested this resource too often. Slow down."
}
Example response Http Code 500
{
"status": "500",
"title": "Internal server error",
"description": "An error occurred on the server. No further information is available."
}
Example response Http Code 503
{
"status": "503",
"title": "Service temporarily unavailable",
"description": "The service is temporarily unavailable."
}
Example response Http Code default
{
"status": "string",
"title": "string",
"description": "string"
}
Gets a list of all ATM
objects.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
200 | OK | Successful response with a list of ATM data |
400 | Bad Request | You have sent a request which could not be understood. |
408 | Request Timeout | Your client has failed to submit a request, and a timeout has occurred. |
429 | Too Many Requests | You have requested this resource too often. Slow down. |
500 | Internal Server Error | An error occurred on the server. No further information is available. |
503 | Service Unavailable | The service is temporarily unavailable. |
default | Default | A standard error response. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Strict-Transport-Security | string | HTTPS strict transport security header | |
200 | Etag | string | A unique ID identifying whether this resource has changed | |
200 | Cache-Control | string | Describes how long this response can be cached | |
200 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
200 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Strict-Transport-Security | string | HTTPS strict transport security header | |
400 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
400 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Status Code | integer | The HTTP status code defining the error | |
408 | Strict-Transport-Security | string | HTTPS strict transport security header | |
408 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
408 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
408 | Status Code | integer | The HTTP status code defining the error | |
429 | Strict-Transport-Security | string | HTTPS strict transport security header | |
429 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
429 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
429 | Status Code | integer | The HTTP status code defining the error | |
500 | Strict-Transport-Security | string | HTTPS strict transport security header | |
500 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
500 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
500 | Status Code | integer | The HTTP status code defining the error | |
503 | Strict-Transport-Security | string | HTTPS strict transport security header | |
503 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
503 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
503 | Status Code | integer | The HTTP status code defining the error | |
default | Strict-Transport-Security | string | HTTPS strict transport security header | |
default | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
default | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
default | Status Code | integer | The HTTP status code defining the error |
HEAD /atms
Code samples
# You can also use wget
curl -X head https://obp-data.danskebank.com/open-banking/v2.1/atms \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
HEAD https://obp-data.danskebank.com/open-banking/v2.1/atms HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/atms',
method: 'head',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/atms',
{
method: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.head 'https://obp-data.danskebank.com/open-banking/v2.1/atms', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.head('https://obp-data.danskebank.com/open-banking/v2.1/atms', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/atms");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("HEAD");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code default
Gets header information on the current set of ATM
data
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
default | Default | No response |
PCA
Endpoint for getting Personal Current Account data
GET /personal-current-accounts
Code samples
# You can also use wget
curl -X get https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
GET https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.get 'https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.get('https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code 200
{
"meta": {
"LastUpdated":"2018-01-03T12:24:04.000Z",
"TotalResults": 5,
"Agreement":"Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions",
"License":"https://www.openbanking.org.uk/open-licence",
"TermsOfUse":"https://www.openbanking.org.uk/terms"
},
"data": [{
"Brand": [{
"BrandName":"DanskeBank",
"PCA": [{
"Name":"Danske Sample",
"Identification":"99S",
"Segment": ["General"],
"PCAMarketingState": [{
"Identification":"99S",
"MarketingState":"Regular",
"FirstMarketedDate":"1900-01-01",
"LastMarketedDate":"9999-12-31",
"Overdraft": {
"TcsAndCsURL":"http://www.danskebank.co.uk/SiteCollectionDocuments/tcs-personal-banking.pdf",
"OverdraftTierBandSet": [{
"TierBandMethod":"Tiered",
"OverdraftType":"OnDemand",
"Identification":"99S",
"AuthorisedIndicator": true,
"BufferAmount":"5",
"OverdraftTierBand": [{
"Identification":"99S",
"TierValueMin":"0",
"TierValueMax":"100",
"OverdraftInterestChargingCoverage":"Tiered",
"EAR":"0",
"Notes": ["Free Overdraft up to £100"],
"OverdraftFeesCharges": [{
"OverdraftFeeChargeCap": [{
"FeeType": ["UnauthorisedPaidTrans"],
"FeeMinMaxType":"Maximum",
"FeeCapOccurrence": 1,
"CappingPeriod":"Day"
}],
"OverdraftFeeChargeDetail": [{
"FeeType":"UnauthorisedBorrowing",
"FeeAmount":"25",
"ApplicationFrequency":"Monthly",
"CalculationFrequency":"Monthly"
}
}]
}],
"OverdraftFeesCharges": [{
"OverdraftFeeChargeCap": [{
"FeeType": ["UnauthorisedPaidTrans"],
"FeeMinMaxType":"Maximum",
"FeeCapOccurrence": 1,
"CappingPeriod":"Day"
}],
"OverdraftFeeChargeDetail": [{
"FeeType":"UnauthorisedBorrowing",
"FeeAmount":"25",
"ApplicationFrequency":"Monthly",
"CalculationFrequency":"Monthly"
}]
}]
}]
},
"Eligibility": {
"AgeEligibility": {
"MinimumAge": 18
},
"ResidencyEligibility": {
"ResidencyIncluded": ["EUEU"]
},
"CreditCheck": {
"ScoringType":"Hard"
},
"IDVerificationCheck": {
"URL":"https://www.danskebank.co.uk/en-gb/Personal/customer-service/Pages/Become-a-customer.aspx",
"Notes": ["Identity Authenticate by Experian used for identity verification."]
}
},
"FeaturesAndBenefits": {
"FeatureBenefitGroup": [{
"Name":"Cash Reward",
"Type":"Cashback",
"BenefitGroupNominalValue":"7",
"ApplicationFrequency":"Monthly",
"CalculationFrequency":"Monthly",
"FeatureBenefitItem": [{
"Identification":"99S",
"Type":"Cashback",
"FeatureBenefitEligibility": [{
"Name":"Cash Reward",
"Type":"MinimumDeposit",
"Amount":"1200",
"Period":"Month"
}]
}]
}],
"FeatureBenefitItem": [{
"Identification":"99S",
"Type":"Cashback",
"FeatureBenefitEligibility": [{
"Name":"Cash Reward",
"Type":"MinimumDeposit",
"Amount":"1200",
"Period":"Month"
}]
}],
"Card": [{
"Type":"DebitCard",
"Scheme":"MasterCard",
"ContactlessIndicator": true
}],
"MobileWallet": [{
"Type":"PayM"
},
{
"Type":"IssuerMobileApp"
},
{
"Type":"ApplePay"
}]
},
"OtherFeesCharges": {
"FeeChargeDetail": [{
"FeeCategory":"PaymentScheme",
"FeeType":"FPSInBranch",
"FeeRate":"5",
"ApplicationFrequency":"PerTransaction",
"CalculationFrequency":"PerTransaction"
}
},
"CoreProduct": {
"ProductURL":"http://www.danskebank.co.uk/en-gb/99S",
"ProductDescription":"Product description",
"TcsAndCsURL":"http://www.danskebank.co.uk/SiteCollectionDocuments/tcs-personal-banking.pdf",
"SalesAccessChannels": ["Branch","Online","CallCentre"],
"ServicingAccessChannels": ["Branch","Online","MobileBankingApp","CallCentre","Post"],
"MonthlyMaximumCharge":"75"
}
}]
}]
}]
}]
}
Example response Http Code 400
{
"status": "400",
"title": "Bad request",
"description": "You have sent a request which could not be understood."
}
Example response Http Code 408
{
"status": "408",
"title": "Client timeout",
"description": "Your client has failed to submit a request, and a timeout has occurred."
}
Example response Http Code 429
{
"status": "429",
"title": "Too many requests",
"description": "You have requested this resource too often. Slow down."
}
Example response Http Code 500
{
"status": "500",
"title": "Internal server error",
"description": "An error occurred on the server. No further information is available."
}
Example response Http Code 503
{
"status": "503",
"title": "Service temporarily unavailable",
"description": "The service is temporarily unavailable."
}
Example response Http Code default
{
"status": "string",
"title": "string",
"description": "string"
}
Gets a list of all Personal Current Account
objects.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
200 | OK | Successful response with a list of Personal Current Account data |
400 | Bad Request | You have sent a request which could not be understood. |
408 | Request Timeout | Your client has failed to submit a request, and a timeout has occurred. |
429 | Too Many Requests | You have requested this resource too often. Slow down. |
500 | Internal Server Error | An error occurred on the server. No further information is available. |
503 | Service Unavailable | The service is temporarily unavailable. |
default | Default | A standard error response. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Strict-Transport-Security | string | HTTPS strict transport security header | |
200 | Etag | string | A unique ID identifying whether this resource has changed | |
200 | Cache-Control | string | Describes how long this response can be cached | |
200 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
200 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Strict-Transport-Security | string | HTTPS strict transport security header | |
400 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
400 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Status Code | integer | The HTTP status code defining the error | |
408 | Strict-Transport-Security | string | HTTPS strict transport security header | |
408 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
408 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
408 | Status Code | integer | The HTTP status code defining the error | |
429 | Strict-Transport-Security | string | HTTPS strict transport security header | |
429 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
429 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
429 | Status Code | integer | The HTTP status code defining the error | |
500 | Strict-Transport-Security | string | HTTPS strict transport security header | |
500 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
500 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
500 | Status Code | integer | The HTTP status code defining the error | |
503 | Strict-Transport-Security | string | HTTPS strict transport security header | |
503 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
503 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
503 | Status Code | integer | The HTTP status code defining the error | |
default | Strict-Transport-Security | string | HTTPS strict transport security header | |
default | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
default | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
default | Status Code | integer | The HTTP status code defining the error |
HEAD /personal-current-accounts
Code samples
# You can also use wget
curl -X head https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
HEAD https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts',
method: 'head',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts',
{
method: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.head 'https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.head('https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/personal-current-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("HEAD");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code default
Gets header information on the current set of Personal Current Account
data
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
default | Default | No response |
BCA
Endpoint for getting Business Current Account data
GET /business-current-accounts
Code samples
# You can also use wget
curl -X get https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
GET https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.get 'https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.get('https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code 200
{
"meta": {
"LastUpdated":"2018-01-03T12:24:03.000Z",
"TotalResults": 5,
"Agreement":"Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions",
"License":"https://www.openbanking.org.uk/open-licence",
"TermsOfUse":"https://www.openbanking.org.uk/terms"
},
"data": [{
"Brand": [{
"BrandName":"DanskeBank",
"BCA": [{
"Name":"Danske Sample",
"Identification":"99C",
"Segment": ["Standard"],
"BCAMarketingState": [{
"Identification":"99C",
"MarketingState":"Regular",
"Overdraft": {
"OverdraftTierBandSet": [{
"TierBandMethod":"Tiered",
"OverdraftType":"OnDemand",
"AuthorisedIndicator": true,
"OverdraftTierBand": [{
"TierValueMin":"1",
"TierValueMax":"25000",
"OverdraftInterestChargingCoverage":"Tiered",
"Notes": ["Rate dependent on credit rating and amount"],
"OverdraftFeesCharges": [{
"OverdraftFeeChargeCap": [{
"FeeType": ["OverdraftSetup"],
"MinMaxType":"Minimum",
"FeeCapAmount":"250"
}],
"OverdraftFeeChargeDetail": [{
"FeeType":"OverdraftSetup",
"FeeRate":"1",
"ApplicationFrequency":"OnOpening",
"CalculationFrequency":"OnOpening"
}]
}]
}],
"OverdraftFeesCharges": [{
"OverdraftFeeChargeCap": [{
"FeeType": ["OverdraftSetup"],
"MinMaxType":"Minimum",
"FeeCapAmount":"250"
}],
"OverdraftFeeChargeDetail": [{
"FeeType":"OverdraftSetup",
"FeeRate":"1",
"ApplicationFrequency":"OnOpening",
"CalculationFrequency":"OnOpening"
}]
}]
},
{
"TierBandMethod":"Tiered",
"OverdraftType":"OnDemand",
"AuthorisedIndicator": false,
"OverdraftTierBand": [{
"TierValueMin":"1",
"TierValueMax":"25000",
"EAR":"22.13",
"OverdraftInterestChargingCoverage":"Tiered",
"OverdraftFeesCharges": [{
}]
}],
"OverdraftFeesCharges": [{
}]
}]
},
"Eligibility": {
"OtherEligibility": [{
}],
"LegalStructureEligibility": [{
"LegalStructure":"Charity"
}],
"IDEligibility": {
"Notes": ["New customers and additional signatories"]
},
"CreditCheckEligibility": {
"ScoringType":"Hard",
"Notes": ["Experian Credit Check"]
}
},
"FeaturesAndBenefits": {
"FeatureBenefitItem": [{
"Type":"Rewards",
"Textual":"Customer gets free access to online payments module to enable them to make payments from the accounts."
}],
"Card": [{
"Type":"DebitCard",
"Scheme": ["MasterCard"],
"ContactlessIndicator": false,
"MaxDailyCardWithdrawalLimit":"350"
}],
"MobileWallet": [{
"Type":"IssuerMobileApp"
}]
},
"OtherFeesCharges": [{
"FeeChargeDetail": [{
"FeeCategory":"Transaction",
"FeeType":"TransStandingOrd",
"FeeAmount":"0.05",
"ApplicationFrequency":"PerTransactionAmount",
"CalculationFrequency":"Monthly"
}]
}],
"CoreProduct": {
"ProductURL":"http://danskebank.co.uk/en-gb/99C",
"ProductDescription":"Product description",
"TcsAndCsURL":"http://www.danskebank.co.uk/sitecollectiondocuments/business/accounts/tcs-business-accounts.pdf",
"SalesAccessChannels": ["Branch"],
"ServicingAccessChannels": ["Branch","Post","Online","CallCentre"]
}
}]
}]
}]
}]
}
Example response Http Code 400
{
"status": "400",
"title": "Bad request",
"description": "You have sent a request which could not be understood."
}
Example response Http Code 408
{
"status": "408",
"title": "Client timeout",
"description": "Your client has failed to submit a request, and a timeout has occurred."
}
Example response Http Code 429
{
"status": "429",
"title": "Too many requests",
"description": "You have requested this resource too often. Slow down."
}
Example response Http Code 500
{
"status": "500",
"title": "Internal server error",
"description": "An error occurred on the server. No further information is available."
}
Example response Http Code 503
{
"status": "503",
"title": "Service temporarily unavailable",
"description": "The service is temporarily unavailable."
}
Example response Http Code default
{
"status": "string",
"title": "string",
"description": "string"
}
Gets a list of all Business Current Account
objects.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
200 | OK | Successful response with a list of Branch Current Account data |
400 | Bad Request | You have sent a request which could not be understood. |
408 | Request Timeout | Your client has failed to submit a request, and a timeout has occurred. |
429 | Too Many Requests | You have requested this resource too often. Slow down. |
500 | Internal Server Error | An error occurred on the server. No further information is available. |
503 | Service Unavailable | The service is temporarily unavailable. |
default | Default | A standard error response. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Strict-Transport-Security | string | HTTPS strict transport security header | |
200 | Etag | string | A unique ID identifying whether this resource has changed | |
200 | Cache-Control | string | Describes how long this response can be cached | |
200 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
200 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Strict-Transport-Security | string | HTTPS strict transport security header | |
400 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
400 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Status Code | integer | The HTTP status code defining the error | |
408 | Strict-Transport-Security | string | HTTPS strict transport security header | |
408 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
408 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
408 | Status Code | integer | The HTTP status code defining the error | |
429 | Strict-Transport-Security | string | HTTPS strict transport security header | |
429 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
429 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
429 | Status Code | integer | The HTTP status code defining the error | |
500 | Strict-Transport-Security | string | HTTPS strict transport security header | |
500 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
500 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
500 | Status Code | integer | The HTTP status code defining the error | |
503 | Strict-Transport-Security | string | HTTPS strict transport security header | |
503 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
503 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
503 | Status Code | integer | The HTTP status code defining the error | |
default | Strict-Transport-Security | string | HTTPS strict transport security header | |
default | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
default | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
default | Status Code | integer | The HTTP status code defining the error |
HEAD /business-current-accounts
Code samples
# You can also use wget
curl -X head https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
HEAD https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts',
method: 'head',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts',
{
method: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.head 'https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.head('https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/business-current-accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("HEAD");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code default
Gets header information on the current set of Business Current Account
data
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
default | Default | No response |
SME
Endpoint for getting Unsecured SME Loan data
GET /unsecured-sme-loans
Code samples
# You can also use wget
curl -X get https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
GET https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.get 'https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.get('https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code 200
{
"meta": {
"LastUpdated":"2018-01-03T17:06:27.000Z",
"TotalResults": 1,
"Agreement":"Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions",
"License":"https://www.openbanking.org.uk/open-licence",
"TermsOfUse":"https://www.openbanking.org.uk/terms"
},
"data": [{
"Brand": [{
"BrandName":"DanskeBank",
"SMELoan": [{
"Name":"Sample Loan",
"Identification":"99F",
"Segment": ["FlexibleBusinessLoan"],
"SMELoanMarketingState": [{
"Identification":"99F",
"MarketingState":"Regular",
"LoanInterest": {
"LoanInterestTierBandSet": [{
"TierBandMethod":"Whole",
"CalculationMethod":"Compound",
"LoanInterestTierBand": [{
"TierValueMinimum":"0",
"TierValueMaximum":"5000",
"TierValueMinTerm": 1,
"MinTermPeriod":"Year",
"TierValueMaxTerm": 1,
"MaxTermPeriod":"Year",
"FixedVariableInterestRateType":"Variable",
"RepAPR":"12.4",
"LoanProviderInterestRateType":"BOEBaseRate",
"LoanProviderInterestRate":"7.5",
"Notes": ["Total Cost of Credit £5351.89"]
}]
},
{
"TierBandMethod":"Whole",
"CalculationMethod":"Compound",
"LoanInterestTierBand": [{
"TierValueMinimum":"5001",
"TierValueMaximum":"20000",
"TierValueMinTerm": 1,
"MinTermPeriod":"Year",
"TierValueMaxTerm": 1,
"MaxTermPeriod":"Year",
"FixedVariableInterestRateType":"Variable",
"RepAPR":"8.9",
"LoanProviderInterestRateType":"BOEBaseRate",
"LoanProviderInterestRate":"7.5",
"Notes": ["Total Cost of Credit £ 21032.53"]
}]
}
},
"Repayment": [{
"RepaymentType":"CapitalAndInterest",
"RepaymentFrequency":"Monthly",
"AmountType":"CapitalAndInterest",
"RepaymentFeeCharges": {
"RepaymentFeeChargeDetail": [{
"FeeType":"Arrangement",
"FeeAmount":"125",
"ApplicationFrequency":"OnOpening",
"CalculationFrequency":"OnOpening"
}]
}
}],
"CoreProduct": {
"ProductDescription":"Product description",
"ProductURL":"http://www.danskebank.co.uk/en-gb/99F",
"TcsAndCsURL":"http://www.danskebank.co.uk",
"SalesAccessChannels": ["Branch"],
"ServicingAccessChannels": ["Branch","CallCentre","Online","MobileBankingApp"],
"EarlyPaymentFeeApplicable": false,
"OverPaymentFeeApplicable": false,
"LoanApplicationFeeChargeType":"NoLoanApplicatioFee",
"OverpaymentAllowedIndicator": true,
"FullEarlyRepaymentAllowedIndicator": true
}
}]
}]
}]
}]
}
Example response Http Code 400
{
"status": "400",
"title": "Bad request",
"description": "You have sent a request which could not be understood."
}
Example response Http Code 408
{
"status": "408",
"title": "Client timeout",
"description": "Your client has failed to submit a request, and a timeout has occurred."
}
Example response Http Code 429
{
"status": "429",
"title": "Too many requests",
"description": "You have requested this resource too often. Slow down."
}
Example response Http Code 500
{
"status": "500",
"title": "Internal server error",
"description": "An error occurred on the server. No further information is available."
}
Example response Http Code 503
{
"status": "503",
"title": "Service temporarily unavailable",
"description": "The service is temporarily unavailable."
}
Example response Http Code default
{
"status": "string",
"title": "string",
"description": "string"
}
Gets a list of all Unsercured SME Lending
objects.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
200 | OK | Successful response with a list of Unsecured SME Lending data |
400 | Bad Request | You have sent a request which could not be understood. |
408 | Request Timeout | Your client has failed to submit a request, and a timeout has occurred. |
429 | Too Many Requests | You have requested this resource too often. Slow down. |
500 | Internal Server Error | An error occurred on the server. No further information is available. |
503 | Service Unavailable | The service is temporarily unavailable. |
default | Default | A standard error response. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Strict-Transport-Security | string | HTTPS strict transport security header | |
200 | Etag | string | A unique ID identifying whether this resource has changed | |
200 | Cache-Control | string | Describes how long this response can be cached | |
200 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
200 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Strict-Transport-Security | string | HTTPS strict transport security header | |
400 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
400 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
400 | Status Code | integer | The HTTP status code defining the error | |
408 | Strict-Transport-Security | string | HTTPS strict transport security header | |
408 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
408 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
408 | Status Code | integer | The HTTP status code defining the error | |
429 | Strict-Transport-Security | string | HTTPS strict transport security header | |
429 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
429 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
429 | Status Code | integer | The HTTP status code defining the error | |
500 | Strict-Transport-Security | string | HTTPS strict transport security header | |
500 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
500 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
500 | Status Code | integer | The HTTP status code defining the error | |
503 | Strict-Transport-Security | string | HTTPS strict transport security header | |
503 | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
503 | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
503 | Status Code | integer | The HTTP status code defining the error | |
default | Strict-Transport-Security | string | HTTPS strict transport security header | |
default | X-Frame-Options | string | Prevent this request from being loaded in any iframes | |
default | X-Content-Type-Options | string | Ensures each page has a content type and prevents browsers from doing MIME type sniffing | |
default | Status Code | integer | The HTTP status code defining the error |
HEAD /unsecured-sme-loans
Code samples
# You can also use wget
curl -X head https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans \
-H 'If-Modified-Since: string' \
-H 'If-None-Match: string' \
-H 'Accept: application/prs.openbanking.opendata.v2.1+json' \
-H 'Content-Type: application/prs.openbanking.opendata.v2.1+json'
HEAD https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans HTTP/1.1
Host: api.openbanking.xyz
Content-Type: application/prs.openbanking.opendata.v2.1+json
Accept: application/prs.openbanking.opendata.v2.1+json
If-Modified-Since: string
If-None-Match: string
var headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
$.ajax({
url: 'https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans',
method: 'head',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'If-Modified-Since':'string',
'If-None-Match':'string',
'Accept':'application/prs.openbanking.opendata.v2.1+json',
'Content-Type':'application/prs.openbanking.opendata.v2.1+json'
};
fetch('https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans',
{
method: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'If-Modified-Since' => 'string',
'If-None-Match' => 'string',
'Accept' => 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type' => 'application/prs.openbanking.opendata.v2.1+json'
}
result = RestClient.head 'https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans', params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'If-Modified-Since': 'string',
'If-None-Match': 'string',
'Accept': 'application/prs.openbanking.opendata.v2.1+json',
'Content-Type': 'application/prs.openbanking.opendata.v2.1+json'
}
r = requests.head('https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://obp-data.danskebank.com/open-banking/v2.1/unsecured-sme-loans");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("HEAD");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Example response Http Code default
Gets header information on the current set of Unsercured SME Lending
data
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
If-Modified-Since | header | string | false | Used for conditional request, to retrieve data only if modified since a given date |
If-None-Match | header | string | false | Used for conditional request, to retrieve data only if the given Etag value does not match |
Responses
Status | Meaning | Description |
---|---|---|
default | Default | No response |