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