openapi: 3.2.0
info:
title: Barclays Accounts API
version: '1.0'
description: 'Operations tagged Accounts across 2 of this provider''s published API definitions: barclays-account-and-transactions-openapi.json, barclays-bank-ireland-account-information-openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: Accounts
description: Get Accounts
paths:
/accounts/{accountId}:
summary: Get Accounts
description: Get Accounts
get:
tags:
- Accounts
summary: Get an Account by AccountId
description: Enables an AISP to retrieve information about a specific PSU account.
operationId: GetAccountsAccountId
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/500Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
/accounts:
summary: Get Accounts
description: Get Accounts
get:
tags:
- Accounts
summary: Get Accounts
description: Enables an AISP to retrieve a list of a PSU's accounts and information about those account(s) that the PSU has consented to.
operationId: GetAccounts
parameters:
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'500':
$ref: '#/components/responses/500Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
deprecated: false
/accounts/{account-id}:
get:
description: Retrieve basic information of a specific account based on given account id
operationId: get_accounts__account-id_
parameters:
- name: PSU-IP-Address
in: header
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
required: false
schema:
type: string
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
maxLength: 39
minLength: 2
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
description: ID of the request, unique to the call, as determined by the initiating party.
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-IP-Port
in: header
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
maxLength: 10
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#\/]{1,10})$
- name: PSU-Accept
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
- name: PSU-Accept-Charset
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-Accept-Encoding
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-User-Agent
in: header
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
maxLength: 200
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,200})$
- name: PSU-Accept-Language
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
- name: PSU-Http-Method
in: header
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE'
required: false
schema:
type: string
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
'
enum:
- GET
- POST
- PUT
- PATCH
- DELETE
- name: PSU-Device-ID
in: header
description: 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 device.
required: false
schema:
type: string
description: 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 device.
maxLength: 36
minLength: 36
pattern: ^(?!\s)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-Geo-Location
in: header
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
required: false
schema:
type: string
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
maxLength: 27
minLength: 23
pattern: ^(?!\s)(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}
- name: Consent-ID
in: header
description: Consent Id already stored on the ASPSP system
required: true
schema:
type: string
description: Consent Id already stored on the ASPSP system
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: withBalance
in: query
description: Filter to fetch the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP.
required: true
schema:
type: boolean
description: Filter to fetch the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP.
- name: account-id
in: path
description: This identification is denoting the addressed account.
required: true
schema:
type: string
description: This identification is denoting the addressed account.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/get_account_details_response'
example: null
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid400Response'
example: null
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid401Response'
example: null
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid404Response'
example: null
tags:
- Accounts
summary: Get accounts account id
x-summary-source: derived
/accounts/{account-id}/transactions:
get:
description: Retrieve transaction reports or transaction lists of a given account ddressed by "account-id", depending on the steering parameter "bookingStatus" together with balances
operationId: get_accounts__account-id__transactions
parameters:
- name: PSU-IP-Address
in: header
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
required: false
schema:
type: string
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
maxLength: 39
minLength: 2
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
description: ID of the request, unique to the call, as determined by the initiating party.
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-IP-Port
in: header
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
maxLength: 10
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#\/]{1,10})$
- name: PSU-Accept
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
- name: PSU-Accept-Charset
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-Accept-Encoding
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-User-Agent
in: header
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
maxLength: 200
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,200})$
- name: PSU-Accept-Language
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
- name: PSU-Http-Method
in: header
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE'
required: false
schema:
type: string
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
'
enum:
- GET
- POST
- PUT
- PATCH
- DELETE
- name: PSU-Device-ID
in: header
description: 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 device.
required: false
schema:
type: string
description: 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 device.
maxLength: 36
minLength: 36
pattern: ^(?!\s)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-Geo-Location
in: header
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
required: false
schema:
type: string
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
maxLength: 27
minLength: 23
pattern: ^(?!\s)(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}
- name: Consent-ID
in: header
description: Consent Id already stored on the ASPSP system
required: true
schema:
type: string
description: Consent Id already stored on the ASPSP system
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: Accept
in: header
description: Accept header
required: false
schema:
type: string
description: Accept header
enum:
- application/json
- name: bookingStatus
in: query
description: Filters the transactions by booking status
required: true
schema:
type: string
description: Filters the transactions by booking status
enum:
- booked
- pending
- both
- information
- name: dateFrom
in: query
description: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.For booked transactions, the relevant date is the booking date.For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.
required: false
schema:
type: string
format: date
description: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required.For booked transactions, the relevant date is the booking date.For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.
- name: dateTo
in: query
description: End date (inclusive the data dateTo) of the transaction list, default is "now" if not given.For booked transactions, the relevant date is the booking date.For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP
required: false
schema:
type: string
format: date
description: End date (inclusive the data dateTo) of the transaction list, default is "now" if not given.For booked transactions, the relevant date is the booking date.For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP
- name: account-id
in: path
description: This identification is denoting the addressed account.
required: true
schema:
type: string
description: This identification is denoting the addressed account.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/get_account_transactions_response'
example: null
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid400Response'
example: null
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid401Response'
example: null
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid404Response'
example: null
tags:
- Accounts
summary: Get accounts account id transactions
x-summary-source: derived
/accounts/{account-id}/balances:
get:
description: Retrieve account balance data from a given account addressed by Account Id.
operationId: get_accounts__account-id__balances
parameters:
- name: PSU-IP-Address
in: header
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
required: false
schema:
type: string
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
maxLength: 39
minLength: 2
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
description: ID of the request, unique to the call, as determined by the initiating party.
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-IP-Port
in: header
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
maxLength: 10
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#\/]{1,10})$
- name: PSU-Accept
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
- name: PSU-Accept-Charset
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-Accept-Encoding
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-User-Agent
in: header
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
maxLength: 200
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,200})$
- name: PSU-Accept-Language
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
- name: PSU-Http-Method
in: header
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE'
required: false
schema:
type: string
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
'
enum:
- GET
- POST
- PUT
- PATCH
- DELETE
- name: PSU-Device-ID
in: header
description: 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 device.
required: false
schema:
type: string
description: 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 device.
maxLength: 36
minLength: 36
pattern: ^(?!\s)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-Geo-Location
in: header
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
required: false
schema:
type: string
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
maxLength: 27
minLength: 23
pattern: ^(?!\s)(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}
- name: Consent-ID
in: header
description: Consent Id already stored on the ASPSP system
required: true
schema:
type: string
description: Consent Id already stored on the ASPSP system
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: account-id
in: path
description: This identification is denoting the addressed account.
required: true
schema:
type: string
description: This identification is denoting the addressed account.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/get_account_balance_details_response'
example: null
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid400Response'
example: null
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid401Response'
example: null
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid404Response'
example: null
tags:
- Accounts
summary: Get accounts account id balances
x-summary-source: derived
/accounts/{account-id}/transactions/{transactionId}:
get:
description: Retrieves the transaction details for the given transactionId Id
operationId: get_accounts__account-id__transactions__transactionId_
parameters:
- name: PSU-IP-Address
in: header
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
required: false
schema:
type: string
description: Consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU
maxLength: 39
minLength: 2
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
- name: X-Request-ID
in: header
description: ID of the request, unique to the call, as determined by the initiating party.
required: true
schema:
type: string
description: ID of the request, unique to the call, as determined by the initiating party.
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-IP-Port
in: header
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
maxLength: 10
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#\/]{1,10})$
- name: PSU-Accept
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
- name: PSU-Accept-Charset
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-Accept-Encoding
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
- name: PSU-User-Agent
in: header
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
maxLength: 200
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,200})$
- name: PSU-Accept-Language
in: header
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
required: false
schema:
type: string
description: The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
maxLength: 100
minLength: 1
- name: PSU-Http-Method
in: header
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE'
required: false
schema:
type: string
description: 'HTTP method used at the interface between PSU and TPP, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
'
enum:
- GET
- POST
- PUT
- PATCH
- DELETE
- name: PSU-Device-ID
in: header
description: 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 device.
required: false
schema:
type: string
description: 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 device.
maxLength: 36
minLength: 36
pattern: ^(?!\s)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: PSU-Geo-Location
in: header
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
required: false
schema:
type: string
description: The forwarded Geo Location of the corresponding HTTP request between PSU and TPP if available
maxLength: 27
minLength: 23
pattern: ^(?!\s)(GEO:)[0-9]{1,3}\.[-][0-9]{6}\,[-][0-9]{1,3}\.[0-9]{6}
- name: Consent-ID
in: header
description: Consent Id already stored on the ASPSP system
required: true
schema:
type: string
description: Consent Id already stored on the ASPSP system
maxLength: 36
minLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
- name: transactionId
in: path
description: This identification is given by the attribute transactionId of the corresponding entry of a transaction list
required: true
schema:
type: string
description: This identification is given by the attribute transactionId of the corresponding entry of a transaction list
maxLength: 36
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,36})$
- name: account-id
in: path
description: This identification is denoting the addressed account.
required: true
schema:
type: string
description: This identification is denoting the addressed account.
maxLength: 100
minLength: 1
pattern: ^(?!\s)([a-zA-Z0-9-., '()="_@£$#/]{1,100})$
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/get_account_transaction_details_response'
example: null
'400':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid400Response'
example: null
'401':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid401Response'
example: null
'404':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountsAccountIdTransactionsTransactionid404Response'
example: null
tags:
- Accounts
summary: Get accounts account id transactions transaction id
x-summary-source: derived
components:
schemas:
Meta:
type: object
additionalProperties: false
description: Meta Data relevant to the payload
properties:
TotalPages:
type: integer
format: int32
example: 42
maximum: 999999
minimum: 0
FirstAvailableDateTime:
$ref: '#/components/schemas/ISODateTime'
LastAvailableDateTime:
$ref: '#/components/schemas/ISODateTime'
title: MetaData
UnitNumber:
type: string
description: Number that identifies the unit of a specific address .
example: A88
maxLength: 16
minLength: 1
AccountId:
type: string
description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
example: '22289'
maxLength: 40
minLength: 1
Identification_0:
type: string
description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
example: '80200112344562'
maxLength: 256
minLength: 1
OBInternalAccountType1Code:
type: string
description: Specifies the type of account (personal or business).
For a full list of enumeration values refer to 'OBInternalAccountType1Code' in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- Business
- Personal
Links:
type: object
additionalProperties: false
description: Links relevant to the payload
properties:
Self:
type: string
format: uri
First:
type: string
format: uri
Prev:
type: string
format: uri
Next:
type: string
format: uri
Last:
type: string
format: uri
required:
- Self
OBErrorResponse1:
type: object
additionalProperties: false
deprecated: false
description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
properties:
Id:
type: string
description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
maxLength: 40
minLength: 1
Code:
type: string
description: Deprecated
High level textual error code, to help categorise the errors.
example: 400 BadRequest
maxLength: 40
minLength: 1
Message:
type: string
description: Deprecated
Brief Error message
example: There is something wrong with the request parameters provided
maxLength: 500
minLength: 1
Errors:
type: array
items:
$ref: '#/components/schemas/OBError1'
maxItems: 99999
minItems: 1
required:
- Errors
nullable: false
OBPostalAddress7:
type: object
description: Information that locates and identifies a specific address, as defined by postal services.
properties:
AddressType:
$ref: '#/components/schemas/OBAddressType2Code'
Department:
type: string
description: Identification of a division of a large organisation or building.
example: Finance
maxLength: 70
minLength: 1
SubDepartment:
type: string
description: Identification of a sub-division of a large organisation or building.
example: Payroll
maxLength: 70
minLength: 1
StreetName:
$ref: '#/components/schemas/StreetName'
BuildingNumber:
$ref: '#/components/schemas/BuildingNumber'
BuildingName:
$ref: '#/components/schemas/BuildingName'
Floor:
$ref: '#/components/schemas/Floor'
UnitNumber:
$ref: '#/components/schemas/UnitNumber'
Room:
$ref: '#/components/schemas/Room'
PostBox:
$ref: '#/components/schemas/PostBox'
TownLocationName:
$ref: '#/components/schemas/TownName'
DistrictName:
$ref: '#/components/schemas/DistrictName'
CareOf:
$ref: '#/components/schemas/CareOf'
PostCode:
$ref: '#/components/schemas/PostCode'
TownName:
$ref: '#/components/schemas/TownName'
CountrySubDivision:
type: string
description: Identifies a subdivision of a country such as state, region, county.
maxLength: 35
minLength: 1
Country:
type: string
description: Nation with its own government.
pattern: ^[A-Z]{2,2}$
AddressLine:
type: array
items:
type: string
description: Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
maxLength: 70
minLength: 1
maxItems: 7
minItems: 0
ActiveOrHistoricCurrencyCode_0:
type: string
description: "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account."
pattern: ^[A-Z]{3,3}$
BuildingName:
type: string
description: Name of a referenced building.
maxLength: 140
minLength: 1
SecondaryIdentification:
type: string
description: "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)."
example: '87562298675897'
maxLength: 34
minLength: 1
OBAddressType2Code:
type: string
description: Identifies the nature of the postal address.
For a full set of codes see `OBAddressType2Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets).
enum:
- BIZZ
- DLVY
- MLTO
- PBOX
- ADDR
- HOME
- CORR
- STAT
example: BIZZ
OpeningDate:
type: string
format: date-time
description: "Date on which the account and related basic services are effectively operational for the account owner. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
StatementFrequencyAndFormat:
type: array
items:
type: object
description: Frequency and format of statements for an account
properties:
Frequency:
$ref: '#/components/schemas/OBFrequency2'
CommunicationMethod:
$ref: '#/components/schemas/OBCommunicationMethod'
Format:
$ref: '#/components/schemas/OBFileFormat'
DeliveryAddress:
$ref: '#/components/schemas/OBPostalAddress7'
maxItems: 99999
minItems: 0
BuildingNumber:
type: string
description: Number that identifies the position of a building on a street.
example: '11'
maxLength: 16
minLength: 1
Room:
type: string
description: Information that locates and identifies a room to form part of an address
example: Basement 03
maxLength: 70
minLength: 1
StreetName:
type: string
description: Name of a street or thoroughfare.
example: Bank Street
maxLength: 140
minLength: 1
LEI:
type: string
description: Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
example: IZ9Q00LZEVUKWCQY6X15
maxLength: 20
minLength: 1
pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
OBFileFormat:
type: string
description: For a full list of enumeration values refer to `ExternalDocumentFormat1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets)
enum:
- DPDF
- DXML
- SDSH
- WORD
- XSLT
- DCSV
OBBranchAndFinancialInstitutionIdentification5_0:
type: object
description: Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name_1'
required:
- Identification
- SchemeName
MaturityDate:
type: string
format: date-time
description: "Maturity date of the account. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
Nickname:
type: string
description: The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.
maxLength: 70
minLength: 1
OBExternalStatusReason1Code:
type: string
description: Low level textual error code, for all enum values see `OBExternalStatusReason1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
example: U001
maxLength: 4
minLength: 4
TownName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government.
example: London
maxLength: 140
minLength: 1
Description_0:
type: string
description: Specifies the description of the account type.
maxLength: 35
minLength: 1
PostCode:
type: string
description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
example: EC2N 4AG
maxLength: 16
minLength: 1
OBCommunicationMethod:
type: string
description: 'For a full list of enumeration values see `OBExternalCommunicationMethod2Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets) '
enum:
- EMAL
- FAXI
- FILE
- ONLI
- POST
Floor:
type: string
description: Number that identifies the level within a building
example: '11'
maxLength: 70
minLength: 1
OBInternalSwitchStatusCode:
type: string
description: Specifies the switch status for the account, in a coded form.
For a full list of enumeration values refer to `OBInternalSwitchStatusCode` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
x-namespaced-enum:
- UK.CASS.NotSwitched
- UK.CASS.SwitchCompleted
OBInternalAccountIdentification4Code:
type: string
description: Name of the identification scheme, in a coded form as published in an external list.
For a full list of enumeration values refer to `OBInternalAccountIdentification4Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
x-namespaced-enum:
- UK.OBIE.BBAN
- UK.OBIE.IBAN
- UK.OBIE.PAN
- UK.OBIE.Paym
- UK.OBIE.SortCodeAccountNumber
- UK.OBIE.Wallet
OBError1:
type: object
additionalProperties: false
minProperties: 1
properties:
ErrorCode:
$ref: '#/components/schemas/OBExternalStatusReason1Code'
Message:
type: string
description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''
OBL doesn''t standardise this field'
maxLength: 500
minLength: 1
Path:
type: string
description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
maxLength: 500
minLength: 1
Url:
type: string
description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
required:
- ErrorCode
OBInternalAccountStatus1Code:
type: string
description: 'Specifies the status of account resource in code form.
For a full list of enumeration values refer to `OBInternalAccountStatus1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)'
enum:
- Deleted
- Disabled
- Enabled
- Pending
- ProForma
example: Enabled
CareOf:
type: string
description: The 'care of' address is used whenever sending mail to a person or organisation who does not actually live or work at the address. They will receive the mail for the individual.
example: Jane Smith
maxLength: 140
minLength: 1
OBInternalFinancialInstitutionIdentification4Code:
type: string
description: Name of the identification scheme, in a coded form as published in an external list.
For a full list of enumeration values refer to `OBInternalFinancialInstitutionIdentification4Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
example: UK.OBIE.BICFI
x-namespaced-enum:
- UK.OBIE.BICFI
OBFrequency2:
type: string
description: For a full list of enumeration values refer to `OBFrequency2Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets)
enum:
- YEAR
- DAIL
- INDA
- MNTH
- QURT
- MIAN
- TEND
- MOVE
- WEEK
- NONE
- SLCT
PostBox:
type: string
description: Information that locates and identifies a box in a post office assigned to a person or organization, where letters for them are kept until called for.
example: PO Box 123456
maxLength: 16
minLength: 1
OBReadAccount6:
type: object
additionalProperties: false
deprecated: false
properties:
Data:
type: object
properties:
Account:
type: array
items:
$ref: '#/components/schemas/OBAccount6'
maxItems: 99999
minItems: 0
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
required:
- Data
nullable: false
OBAccount6:
type: object
additionalProperties: false
description: "Unambiguous identification of the account to which credit and debit entries are made. The following fields are optional only for accounts that are switched:\n\n * Data.Currency \n * Data.AccountCategory \n * Data.AccountTypeCode\n\nFor all other accounts, the fields must be populated by the ASPSP."
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Status:
$ref: '#/components/schemas/OBInternalAccountStatus1Code'
StatusUpdateDateTime:
$ref: '#/components/schemas/StatusUpdateDateTime'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
AccountCategory:
$ref: '#/components/schemas/OBInternalAccountType1Code'
AccountTypeCode:
$ref: '#/components/schemas/OBExternalAccountSubType1Code'
Description:
$ref: '#/components/schemas/Description_0'
Nickname:
$ref: '#/components/schemas/Nickname'
OpeningDate:
$ref: '#/components/schemas/OpeningDate'
MaturityDate:
$ref: '#/components/schemas/MaturityDate'
SwitchStatus:
$ref: '#/components/schemas/OBInternalSwitchStatusCode'
Account:
type: array
items:
type: object
description: Provides the details to identify an account.
properties:
SchemeName:
$ref: '#/components/schemas/OBInternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
$ref: '#/components/schemas/Name_0'
LEI:
$ref: '#/components/schemas/LEI'
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
required:
- Identification
- SchemeName
maxItems: 99999
minItems: 0
StatementFrequencyAndFormat:
$ref: '#/components/schemas/StatementFrequencyAndFormat'
Servicer:
$ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0'
required:
- AccountId
OBExternalAccountSubType1Code:
type: string
description: Specifies the sub type of account (product family group)
For a full list of enumeration values refer to `OBExternalCashAccountType1Code` *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
enum:
- CACC
- CARD
- CASH
- CHAR
- CISH
- COMM
- CPAC
- LLSV
- LOAN
- MGLD
- MOMA
- NREX
- ODFT
- ONDP
- OTHR
- SACC
- SLRY
- SVGS
- TAXE
- TRAN
- TRAS
- VACC
- NFCA
- MORT
- WALT
Identification_1:
type: string
description: Unique and unambiguous identification of the servicing institution.
example: '80200112344562'
maxLength: 35
minLength: 1
StatusUpdateDateTime:
type: string
format: date-time
description: "Date and time at which the resource status was updated. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
DistrictName:
type: string
description: Number that of the regional area, known as a district, which forms part of an address
example: Greater London
maxLength: 140
minLength: 1
ISODateTime:
type: string
format: date-time
description: "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
Name_1:
type: string
description: Name by which an agent is known and which is usually used to identify that agent.
example: Agent Name
maxLength: 140
minLength: 1
Name_0:
type: string
description: 'The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP''s online channels.
Note, the account name is not the product name or the nickname of the account.'
example: Jane Smith
maxLength: 350
minLength: 1
get_accounts_response:
type: object
properties:
accounts:
type: array
items:
type: object
properties:
cashAccountType:
type: string
resourceId:
type: string
balances:
type: array
items:
type: object
properties:
balanceType:
type: string
balanceAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
required:
- balanceAmount
- balanceType
ownerName:
type: string
iban:
type: string
name:
type: string
currency:
type: string
required:
- accounts
GetAccountsAccountIdTransactionsTransactionid400Response:
type: object
properties:
code:
type: string
additionalErrors:
type: array
items:
type: object
properties:
code:
type: string
detail:
type: string
title:
type: string
required:
- code
detail:
type: string
type:
type: string
title:
type: string
required:
- code
- type
get_account_balance_details_response:
type: object
properties:
balances:
type: array
items:
type: object
properties:
balanceType:
type: string
balanceAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
required:
- balanceAmount
- balanceType
account:
type: object
properties:
bban:
type: string
iban:
type: string
currency:
type: string
required:
- balances
get_account_details_response:
type: object
properties:
cashAccountType:
type: string
resourceId:
type: string
balances:
type: array
items:
type: object
properties:
balanceType:
type: string
balanceAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
required:
- balanceAmount
- balanceType
ownerName:
type: string
iban:
type: string
name:
type: string
currency:
type: string
get_account_transactions_response:
type: object
properties:
transactions:
type: object
properties:
booked:
type: array
items:
type: object
properties:
transactionAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
creditorAccount:
type: object
properties:
bban:
type: string
iban:
type: string
currency:
type: string
bookingDate:
type: string
format: date-time
transactionId:
type: string
required:
- transactionAmount
pending:
type: array
items:
type: object
properties:
transactionAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
creditorAccount:
type: object
properties:
bban:
type: string
iban:
type: string
currency:
type: string
bookingDate:
type: string
format: date-time
transactionId:
type: string
required:
- transactionAmount
account:
type: object
properties:
bban:
type: string
iban:
type: string
currency:
type: string
GetAccountsAccountIdTransactionsTransactionid404Response:
type: object
properties:
code:
type: string
additionalErrors:
type: array
items:
type: object
properties:
code:
type: string
detail:
type: string
title:
type: string
required:
- code
detail:
type: string
type:
type: string
title:
type: string
required:
- code
- type
get_account_transaction_details_response:
type: object
properties:
transactionAmount:
type: object
properties:
amount:
type: string
currency:
type: string
required:
- amount
- currency
creditorAccount:
type: object
properties:
bban:
type: string
iban:
type: string
currency:
type: string
bookingDate:
type: string
format: date-time
transactionId:
type: string
required:
- transactionAmount
GetAccountsAccountIdTransactionsTransactionid401Response:
type: object
properties:
code:
type: string
additionalErrors:
type: array
items:
type: object
properties:
code:
type: string
detail:
type: string
title:
type: string
required:
- code
detail:
type: string
type:
type: string
title:
type: string
required:
- code
- type
parameters:
x-fapi-interaction-id:
name: x-fapi-interaction-id
in: header
description: An RFC4122 UID used as a correlation id.
required: false
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
x-fapi-customer-ip-address:
name: x-fapi-customer-ip-address
in: header
description: The PSU's IP address if the PSU is currently logged in with the TPP.
required: false
schema:
type: string
maxLength: 40
minLength: 7
pattern: ^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$
nullable: false
example: 104.25.212.99
Authorization:
name: Authorization
in: header
description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
required: true
schema:
type: string
maxLength: 4871
minLength: 1
pattern: ^Bearer [A-Za-z0-9-_=]{1,256}\.\.[A-Za-z0-9-_=]{1,100}\.[A-Za-z0-9-_=]{1,4096}\.[A-Za-z0-9-_=]{1,100}$
nullable: false
example: Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0OTk4NTA5NjUsInN1YiI6IkJhcmNsYXlzX1BheW1lbnRfU2VydmljZSIsInNjb3BlIjpbImlkcy5tYW5hZ2Vfa2V5IiwiaWRzLm1hbmFnZV9jbGllbnQiXSwiaXNzIjoiaHR0cDovL2lkZW50aXR5LXNlcnZpY2UvIiwiaWF0IjoxNDk5ODUwMDY1fQ.OX-u14YLs7iksl6gnZ9ZqMBu-ekFi4pSva5mzhuf2xU
AccountId:
name: accountId
in: path
description: AccountId
required: true
schema:
type: string
deprecated: false
maxLength: 20
minLength: 1
pattern: ^\d{1,20}$
nullable: false
example: '12345678901234567890'
x-customer-user-agent:
name: x-customer-user-agent
in: header
description: Indicates the user-agent that the PSU is using.
required: false
schema:
type: string
deprecated: false
maxLength: 500
minLength: 1
nullable: false
example: Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
x-fapi-auth-date:
name: x-fapi-auth-date
in: header
description: "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC"
required: false
schema:
type: string
deprecated: false
maxLength: 29
minLength: 29
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
nullable: false
example: Sun, 10 Sep 2017 19:43:31 UTC
responses:
405Error:
description: Method Not Allowed
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
406Error:
description: Not Acceptable
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
200AccountsRead:
description: Accounts Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBReadAccount6'
examples:
get-accounts-response:
value:
Data:
Account:
- AccountId: '22289'
Status: Enabled
MaturityDate: '2019-01-01T06:06:06+00:00'
StatusUpdateDateTime: '2019-01-01T06:06:06+00:00'
Currency: GBP
AccountCategory: Personal
AccountTypeCode: CACC
Description: For paying bills
Nickname: Bills
OpeningDate: '2017-04-05T10:43:07+00:00'
SwitchStatus: UK.CASS.NotSwitched
StatementFrequencyAndFormat:
- Frequency: YEAR
CommunicationMethod: EMAL
Format: DPDF
DeliveryAddress:
AddressType: HOME
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
Servicer:
SchemeName: UK.OBIE.BICFI
Identification: '8020441910203345'
Name: ServicerName
Account:
- SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '80200110203345'
Name: Mr Kevin
SecondaryIdentification: '00021'
LEI: 9193001QZMP2PQT4AK86
- AccountId: '31820'
Status: Enabled
StatusUpdateDateTime: '2018-01-01T06:06:06+00:00'
Currency: GBP
AccountCategory: Personal
AccountTypeCode: CACC
Nickname: Household
Account:
- SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '80200110203348'
Name: Mr Kevin
Links:
Self: https://api.alphabank.com/open-banking/v4.0/aisp/accounts/
Meta:
TotalPages: 1
403Error:
description: Forbidden
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
examples:
403ErrorResponse:
value:
Code: OB.BadRequest
Id: 2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc
Message: Invalid request parameters
Errors:
- ErrorCode: AC17
Message: Version must be supplied
Path: Data.Initiation
Url:
- ErrorCode: AC17
Message: Version supplied is not valid
Path: Data.Initiation.CreditorAccount
Url:
500Error:
description: Internal Server Error
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
examples:
500ErrorResponse:
value:
Code: OB.BadRequest
Id: 2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc
Message: Invalid request parameters
Errors:
- ErrorCode: AC17
Message: Version must be supplied
Path: Data.Initiation
Url:
- ErrorCode: AC17
Message: Version supplied is not valid
Path: Data.Initiation.CreditorAccount
Url:
429Error:
description: Too Many Requests
headers:
Retry-After:
description: Number in seconds to wait
schema:
type: integer
deprecated: false
maximum: 9999999
minimum: 1
nullable: false
example: 120
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
400Error:
description: Bad request
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
examples:
400ErrorResponse:
value:
Code: OB.BadRequest
Id: 2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc
Message: Invalid request parameters
Errors:
- ErrorCode: AC17
Message: Version must be supplied
Path: Data.Initiation
Url:
- ErrorCode: AC17
Message: Version supplied is not valid
Path: Data.Initiation.CreditorAccount
Url:
401Error:
description: Unauthorized
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
200AccountsAccountIdRead:
description: Accounts Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
deprecated: false
maxLength: 36
minLength: 32
pattern: ^[A-Za-f0-9]{8}-?[A-Za-f0-9]{4}-?[1-5][A-Za-f0-9]{3}-?[89ab][A-Za-f0-9]{3}-?[A-Za-f0-9]{12}$
nullable: false
example: 93bac548-d2de-4546-b106-880a5018460d
Cache-Control:
description: GIS mandatory response header. This is added by the Cognac sidecar.
schema:
type: string
default: no-cache, no-store, must-revalidate
deprecated: false
maxLength: 35
minLength: 35
pattern: ^no-cache, no-store, must-revalidate$
nullable: false
example: no-cache, no-store, must-revalidate
content:
application/json:
schema:
$ref: '#/components/schemas/OBReadAccount6'
examples:
get-accounts-response:
value:
Data:
Account:
- AccountId: '22289'
Status: Enabled
MaturityDate: '2019-01-01T06:06:06+00:00'
StatusUpdateDateTime: '2019-01-01T06:06:06+00:00'
Currency: GBP
AccountCategory: Personal
AccountTypeCode: CACC
Description: For paying bills
Nickname: Bills
OpeningDate: '2017-04-05T10:43:07+00:00'
SwitchStatus: UK.CASS.NotSwitched
StatementFrequencyAndFormat:
- Frequency: YEAR
CommunicationMethod: EMAL
Format: DPDF
DeliveryAddress:
AddressType: HOME
StreetName: Bank Street
BuildingNumber: '11'
Floor: '6'
PostCode: Z78 4TY
TownName: London
Country: UK
Servicer:
SchemeName: UK.OBIE.BICFI
Identification: '8020441910203345'
Name: ServicerName
Account:
- SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '80200110203345'
Name: Mr Kevin
SecondaryIdentification: '00021'
LEI: 9193001QZMP2PQT4AK86
- AccountId: '31820'
Status: Enabled
StatusUpdateDateTime: '2018-01-01T06:06:06+00:00'
Currency: GBP
AccountCategory: Personal
AccountTypeCode: CACC
Nickname: Household
Account:
- SchemeName: UK.OBIE.SortCodeAccountNumber
Identification: '80200110203348'
Name: Mr Kevin
Links:
Self: https://api.alphabank.com/open-banking/v4.0/aisp/accounts/
Meta:
TotalPages: 1
securitySchemes:
TPPOAuth2Security:
type: oauth2
description: TPP client credential authorisation flow with the ASPSP
flows:
clientCredentials:
tokenUrl: https://authserver.example/token
scopes:
accounts: Ability to read Accounts information
PSUOAuth2Security:
type: oauth2
description: OAuth flow, it is required when the PSU needs to perform SCA with the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU
flows:
authorizationCode:
authorizationUrl: https://authserver.example/authorization
tokenUrl: https://authserver.example/token
scopes:
accounts: Ability to read Accounts information
x-refined-from:
- barclays-account-and-transactions-openapi.json
- barclays-bank-ireland-account-information-openapi.json