Accounts API
The Account Information Service (AIS) API allows you to retrieve account details, balances, and transaction history with customer consent.
Required Consent
All AIS endpoints require an active account-access consent. Pass the consent ID in the X-Consent-ID header.
List Accounts
Returns a list of accounts the customer has consented to share.
/open-banking/v1/accountsRetrieve all accounts covered by the consent.
Request
GET /open-banking/v1/accounts
Authorization: Bearer {access_token}
X-Consent-ID: {consent_id}Response
{
"data": [
{
"account_id": "acc_1234567890",
"status": "enabled",
"currency": "GBP",
"account_type": "current",
"account_sub_type": "personal",
"nickname": "Main Account",
"opening_date": "2020-01-15",
"identifiers": [
{
"scheme": "SortCodeAccountNumber",
"id": "608371-12345678"
},
{
"scheme": "IBAN",
"id": "GB33BUKB60837112345678"
}
],
"servicer": {
"scheme": "BICFI",
"id": "HABORLONXXX"
}
}
],
"links": {
"self": "/accounts"
}
}Account Fields
| Field | Type | Description |
|---|---|---|
account_id | string | Unique account identifier |
status | string | enabled, disabled, or pending |
currency | string | ISO 4217 currency code |
account_type | string | current, savings, credit_card, or loan |
account_sub_type | string | Optional. personal, business, etc. |
nickname | string | Customer's name for the account |
opening_date | string | Account opening date (ISO 8601) |
identifiers | array | Account identifiers (IBAN, Sort Code, etc.) |
servicer | object | Servicing institution (BIC) |
Get Account
/open-banking/v1/accounts/{accountId}Retrieve details for a specific account.
Request
GET /open-banking/v1/accounts/acc_1234567890
Authorization: Bearer {access_token}
X-Consent-ID: {consent_id}Response
{
"data": {
"account_id": "acc_1234567890",
"status": "enabled",
"currency": "GBP",
"account_type": "current",
"nickname": "Main Account",
"identifiers": [
{
"scheme": "SortCodeAccountNumber",
"id": "608371-12345678"
}
]
},
"links": {
"self": "/accounts/acc_1234567890"
}
}Get Balances
Returns current balances for an account. Requires ReadBalances permission.
/open-banking/v1/accounts/{accountId}/balancesRetrieve balances for a specific account.
Request
GET /open-banking/v1/accounts/acc_1234567890/balances
Authorization: Bearer {access_token}
X-Consent-ID: {consent_id}Response
{
"data": [
{
"account_id": "acc_1234567890",
"balance_type": "booked",
"amount": {
"amount": "1234.56",
"currency": "GBP"
},
"credit_debit_indicator": "Credit",
"date_time": "2024-01-15T10:30:00Z"
},
{
"account_id": "acc_1234567890",
"balance_type": "available",
"amount": {
"amount": "1034.56",
"currency": "GBP"
},
"credit_debit_indicator": "Credit",
"date_time": "2024-01-15T10:30:00Z",
"credit_lines": [
{
"type": "available",
"amount": {
"amount": "500.00",
"currency": "GBP"
},
"included": true
}
]
}
],
"links": {
"self": "/accounts/acc_1234567890/balances"
}
}Balance Types
| Field | Type | Description |
|---|---|---|
booked | BalanceType | Posted balance (cleared transactions) |
available | BalanceType | Available to spend (includes pending) |
pending | BalanceType | Balance including holds |
expected | BalanceType | Future expected balance |
closing_booked | BalanceType | End of day booked balance |
Get All Balances
Returns balances for all consented accounts in a single request.
/open-banking/v1/balancesRetrieve balances for all consented accounts.
Get Transactions
Returns transaction history for an account. Requires ReadTransactions permission.
/open-banking/v1/accounts/{accountId}/transactionsRetrieve transactions for a specific account.
Request
GET /open-banking/v1/accounts/acc_1234567890/transactions?fromBookingDateTime=2024-01-01T00:00:00Z
Authorization: Bearer {access_token}
X-Consent-ID: {consent_id}Response
{
"data": [
{
"transaction_id": "txn_abc123",
"account_id": "acc_1234567890",
"status": "booked",
"booking_date_time": "2024-01-15T14:30:00Z",
"value_date_time": "2024-01-15T00:00:00Z",
"amount": {
"amount": "25.99",
"currency": "GBP"
},
"credit_debit_indicator": "Debit",
"transaction_information": "ACME Store Purchase",
"merchant_details": {
"name": "ACME Store",
"category_code": "5411"
},
"reference": "POS-12345"
},
{
"transaction_id": "txn_def456",
"account_id": "acc_1234567890",
"status": "booked",
"booking_date_time": "2024-01-14T09:00:00Z",
"amount": {
"amount": "1500.00",
"currency": "GBP"
},
"credit_debit_indicator": "Credit",
"transaction_information": "SALARY",
"creditor_account": {
"scheme": "SortCodeAccountNumber",
"id": "123456-87654321",
"name": "Employer Ltd"
}
}
],
"links": {
"self": "/accounts/acc_1234567890/transactions"
},
"meta": {
"first_available_date_time": "2023-01-01T00:00:00Z",
"last_available_date_time": "2024-01-15T23:59:59Z"
}
}Query Parameters
| Field | Type | Description |
|---|---|---|
fromBookingDateTime | string | Filter transactions from this date (ISO 8601) |
toBookingDateTime | string | Filter transactions until this date (ISO 8601) |
Transaction Fields
| Field | Type | Description |
|---|---|---|
transaction_id | string | Unique transaction identifier |
status | string | booked or pending |
booking_date_time | string | When transaction was posted |
value_date_time | string | Value date for interest calculation |
amount | object | Transaction amount and currency |
credit_debit_indicator | string | Credit or Debit |
transaction_information | string | Description from bank |
merchant_details | object | Merchant name and MCC code |
creditor_account | object | Payee account details (for credits) |
debtor_account | object | Payer account details (for debits) |
reference | string | Payment reference |
Get All Transactions
Returns transactions for all consented accounts.
/open-banking/v1/transactionsRetrieve transactions for all consented accounts.
Get Standing Orders
Returns standing orders for an account. Requires ReadStandingOrders permission.
/open-banking/v1/accounts/{accountId}/standing-ordersRetrieve standing orders for an account.
Get Direct Debits
Returns direct debit mandates for an account. Requires ReadDirectDebits permission.
/open-banking/v1/accounts/{accountId}/direct-debitsRetrieve direct debits for an account.
Error Responses
Common error responses for the Accounts API:
missing_consentX-Consent-ID header is required
invalid_consentConsent not found or expired
wrong_consent_typeThis endpoint requires an AIS consent
account_not_consentedAccount not covered by consent
permission_deniedConsent does not include required permission
account_not_foundAccount not found