openapi: 3.2.0 info: title: Account and Transaction - UK OB Accounts API description: Retrieve account details and transaction information. version: 4.0.0 servers: - description: prod Environment url: https://obp-api.danskebank.com/open-banking/v4.0/aisp tags: - name: Accounts paths: /accounts: get: tags: - Accounts summary: Get Accounts operationId: GetAccounts security: - BearerAuth: [] 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/x-customer-user-agent' responses: '200': $ref: '#/components/responses/200AccountsRead' '400': $ref: '#/components/responses/400Error' '401': $ref: '#/components/responses/401Error' '403': $ref: '#/components/responses/403Error' '405': $ref: '#/components/responses/405Error' '406': $ref: '#/components/responses/406Error' '429': $ref: '#/components/responses/429Error' '500': $ref: '#/components/responses/500Error' '503': $ref: '#/components/responses/503Error' /accounts/{AccountId}: get: tags: - Accounts summary: Get Accounts operationId: GetAccountsAccountId security: - BearerAuth: [] 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/x-customer-user-agent' responses: '200': $ref: '#/components/responses/200AccountsAccountIdRead' '400': $ref: '#/components/responses/400Error' '401': $ref: '#/components/responses/401Error' '403': $ref: '#/components/responses/403Error' '405': $ref: '#/components/responses/405Error' '406': $ref: '#/components/responses/406Error' '429': $ref: '#/components/responses/429Error' '500': $ref: '#/components/responses/500Error' '503': $ref: '#/components/responses/503Error' components: schemas: LEI: 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). type: string example: IZ9Q00LZEVUKWCQY6X15 minLength: 1 maxLength: 20 pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$ BuildingNumber: description: Number that identifies the position of a building on a street. type: string minLength: 1 maxLength: 16 OBAddressType2Code: 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). type: string example: BIZZ enum: - BIZZ - DLVY - MLTO - PBOX - ADDR - HOME - CORR - STAT Name_0: 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. ' type: string minLength: 1 maxLength: 350 OBInternalFinancialInstitutionIdentification4Code: description: Name of the identification scheme, in a coded form as published in an external list. type: string example: UK.OBIE.BICFI x-namespaced-enum: - UK.OBIE.BICFI SecondaryIdentification: description: 'This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination). ' type: string minLength: 1 maxLength: 34 Description_0: description: Specifies the description of the account type. type: string minLength: 1 maxLength: 35 Links: description: Links relevant to the payload type: object additionalProperties: false required: - Self 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 OBInternalAccountIdentification4Code: description: Name of the identification scheme, in a coded form as published in an external list. type: string x-namespaced-enum: - UK.OBIE.IBAN - UK.OBIE.SortCodeAccountNumber Nickname: description: The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account. type: string minLength: 1 maxLength: 70 OBInternalAccountStatus1Code: description: Specifies the status of account resource in code form. type: string enum: - Deleted - Disabled - Enabled - Pending - ProForma CareOf: 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. type: string example: Jane Smith minLength: 1 maxLength: 140 Meta: title: MetaData description: Meta Data relevant to the payload type: object additionalProperties: false properties: TotalPages: type: integer format: int32 FirstAvailableDateTime: $ref: '#/components/schemas/ISODateTime' LastAvailableDateTime: $ref: '#/components/schemas/ISODateTime' OpeningDate: 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. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 ' type: string format: date-time OBError1: type: object minProperties: 1 additionalProperties: false required: - ErrorCode properties: ErrorCode: $ref: '#/components/schemas/OBExternalStatusReason1Code' Message: description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future'' OBIE doesn''t standardise this field ' type: string minLength: 1 maxLength: 500 Path: description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency type: string minLength: 1 maxLength: 500 Url: description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc type: string Floor: description: Number that identifies the level within a building type: string example: '11' minLength: 1 maxLength: 70 OBCommunicationMethod: description: For a full list of enumeration values see `OBExternalCommunicationMethod2Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets) type: string enum: - EMAL - FAXI - FILE - ONLI - POST OBAccount6: 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 * Currency\n * AccountType\n * AccountSubType\nFor all other accounts, the fields must be populated by the ASPSP.\n" type: object additionalProperties: false required: - AccountId 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. required: - SchemeName - Identification 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' StatementFrequencyAndFormat: $ref: '#/components/schemas/StatementFrequencyAndFormat' Servicer: $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0' Identification_0: description: Identification assigned by an institution to identify an account. This identification is known by the account owner. type: string minLength: 1 maxLength: 256 Name_1: description: Name by which an agent is known and which is usually used to identify that agent. type: string minLength: 1 maxLength: 140 OBFileFormat: description: For a full list of enumeration values refer to `ExternalDocumentFormat1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets) type: string enum: - DPDF - DXML - SDSH - WORD - XSLT OBPostalAddress7: description: Information that locates and identifies a specific address, as defined by postal services. type: object properties: AddressType: $ref: '#/components/schemas/OBAddressType2Code' Department: description: Identification of a division of a large organisation or building. type: string minLength: 1 maxLength: 70 SubDepartment: description: Identification of a sub-division of a large organisation or building. type: string minLength: 1 maxLength: 70 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: description: Identifies a subdivision of a country such as state, region, county. type: string minLength: 1 maxLength: 35 Country: description: Nation with its own government. type: string pattern: ^[A-Z]{2,2}$ AddressLine: type: array minItems: 0 maxItems: 7 items: description: Information that locates and identifies a specific address, as defined by postal services, presented in free format text. type: string minLength: 1 maxLength: 70 PostCode: description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. type: string minLength: 1 maxLength: 16 OBFrequency2: description: For a full list of enumeration values refer to `OBFrequency2Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets) type: string enum: - YEAR - DAIL - INDA - MNTH - QURT - MIAN - TEND - MOVE - WEEK StreetName: description: Name of a street or thoroughfare. type: string minLength: 1 maxLength: 140 OBReadAccount6: type: object additionalProperties: false required: - Data properties: Data: type: object properties: Account: type: array items: $ref: '#/components/schemas/OBAccount6' Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' OBExternalAccountSubType1Code: description: Specifies the sub type of account (product family group). For a full list of enumeration values see `OBExternalCashAccountType1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_internal_CodeSets) type: string 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 OBErrorResponse1: description: An array of detail error codes, and messages, and URLs to documentation to help remediation. type: object additionalProperties: false required: - Errors properties: Id: description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors. type: string minLength: 1 maxLength: 40 Errors: type: array minItems: 1 items: $ref: '#/components/schemas/OBError1' Identification_1: description: Unique and unambiguous identification of the servicing institution. type: string minLength: 1 maxLength: 35 OBInternalSwitchStatusCode: 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) type: string x-namespaced-enum: - UK.CASS.NotSwitched - UK.CASS.SwitchCompleted Room: description: Information that locates and identifies a room to form part of an address type: string example: Basement 03 minLength: 1 maxLength: 70 UnitNumber: description: Number that identifies the unit of a specific address . type: string example: A88 minLength: 1 maxLength: 16 ActiveOrHistoricCurrencyCode_0: description: 'Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account. ' type: string pattern: ^[A-Z]{3,3}$ 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' BuildingName: description: Name of a referenced building. type: string minLength: 1 maxLength: 140 AccountId: description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 OBBranchAndFinancialInstitutionIdentification5_0: 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. type: object required: - SchemeName - Identification properties: SchemeName: $ref: '#/components/schemas/OBInternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name_1' OBExternalStatusReason1Code: description: Low level textual error code, for all enum values see `ExternalReason1Code` [here](https://github.com/OpenBankingUK/External_Internal_CodeSets) type: string minLength: 4 maxLength: 4 example: AC17 TownName: description: Name of a built-up area, with defined boundaries, and a local government. type: string minLength: 1 maxLength: 140 StatusUpdateDateTime: 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. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 ' type: string format: date-time ISODateTime: description: 'All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 ' type: string format: date-time DistrictName: description: Number that of the regional area, known as a district, which forms part of an address type: string minLength: 1 maxLength: 140 PostBox: 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. type: string example: PO Box 123456 minLength: 1 maxLength: 16 OBInternalAccountType1Code: description: Specifies the type of account (personal or business). type: string enum: - Business - Personal MaturityDate: description: 'Maturity date of the account. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 ' type: string format: date-time parameters: AccountId: name: AccountId in: path description: AccountId required: true schema: type: string 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 x-fapi-auth-date: name: x-fapi-auth-date in: header description: 'The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC ' required: false schema: type: string 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)$ 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 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 responses: 400Error: description: Bad request headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBErrorResponse1' 503Error: description: Service temporary unavailable headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBErrorResponse1' 406Error: description: Not Acceptable headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string 403Error: description: Forbidden headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBErrorResponse1' 200AccountsRead: description: Accounts Read headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBReadAccount6' 200AccountsAccountIdRead: description: Accounts Read headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBReadAccount6' 405Error: description: Method Not Allowed headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string 500Error: description: Internal Server Error headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/OBErrorResponse1' 401Error: description: Unauthorized headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string 429Error: description: Too Many Requests headers: Retry-After: description: Number in seconds to wait required: true schema: type: integer x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. required: true schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT