# Bank Accounts

`GET /banking/bank-accounts`

Group: Banking › Bank Accounts · Operation ID: `bankAccounts`

Returns a list of bank accounts. To match on an external identifier, a name, an account number, or a linked entity or institution, use POST banking/bank-accounts/search.

[Open in the interactive reference](https://docs.api.lensing.ai/?op=bankAccounts)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Api-Version` | header | `"v1"` | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version `v1`. |

## Query surface

- `id` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `type` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `currency` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `paymentAllowed` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `receivableAccount` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `payableAccount` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `isReady` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `reconciliationStartDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- `lastModifiedDate` — filter by eq, ne, gt, gte, lt, lte, in, notIn, between, like
- Orderable: id, type, currency, balance, paymentAllowed, isReady, reconciliationStartDate, lastModifiedDate
- Selectable: id, externalAccountId, externalAccountName, externalDescription, type, currency, balance, mask, reference, referenceType, referenceNumber, bankAccountCode, bankAccountHolderName, paymentAllowed, receivableAccount, payableAccount, isReady, reconciliationStartDate, transactionsImportDate, accountName, accountNumber, bankName, entityName, lastModifiedDate

## Response

`200` Success

Under `data`, an array of bankAccountsRow:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | no | The unique identifier for the bank account. |
| `externalAccountId` | string | no | The identifier this account has in the bank or aggregator it was connected from. Unique within the tenant. |
| `externalAccountName` | string or null | no | The account name as reported by the bank or aggregator. |
| `externalDescription` | string or null | no | The account description as reported by the bank or aggregator. |
| `type` | string or null | no | The kind of account, as free-form text. For example 'checking', 'saving' or 'creditCard'. |
| `currency` | string or null | no | The currency the account is held in. Format ISO 4217, for example 'USD'. balance is in this currency. |
| `balance` | string (decimal) or null | no | The current account balance, in currency. |
| `mask` | string or null | no | A masked form of the account number, for example '****1234'. Display it instead of reference where the full number is not needed. |
| `reference` | string or null | no | The full account number, the IBAN or the ACH account number. |
| `referenceType` | string or null | no | How referenceNumber is structured. Possible values: 'QRR', 'SCOR', 'NON'. 'QRR' is a Swiss QR reference, 'SCOR' an ISO 11649 creditor reference, and 'NON' none. |
| `referenceNumber` | string or null | no | A structured payment reference for payments to this account, interpreted per referenceType. |
| `bankAccountCode` | string or null | no | The bank identifier, the SWIFT/BIC code or the US routing number. |
| `bankAccountHolderName` | string or null | no | The name the account is held in. This is personal data. |
| `paymentAllowed` | boolean | no | Whether payments may be made from this account. |
| `receivableAccount` | boolean or null | no | Whether this account may be used to receive money. |
| `payableAccount` | boolean or null | no | Whether this account may be used to pay money out. |
| `isReady` | boolean or null | no | Whether the account is fully set up and usable. |
| `reconciliationStartDate` | string (date) | no | The date from which this account is reconciled. Format YYYY-MM-DD. Transactions before it are not reconciled. |
| `transactionsImportDate` | string (date) or null | no | The date from which transactions are imported for this account. Format YYYY-MM-DD. |
| `accountName` | string or null | no | The name of the linked chart-of-accounts account. |
| `accountNumber` | string or null | no | The number of the linked chart-of-accounts account. This is a general-ledger account number, not the bank account number, which is reference. |
| `bankName` | string or null | no | The name of the bank this account is held at. |
| `entityName` | string or null | no | The name of the legal entity that owns this account. |
| `lastModifiedDate` | string (date-time) or null | no | The date and time the bank account last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |

## Statuses

- `400` — Invalid request or business failure
- `401` — Missing or invalid access token
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests
- `500` — Internal server error
