> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleo-pay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /v1/bank-accounts — List Bank Accounts

> GET /v1/bank-accounts returns all bank accounts linked to your business. Response includes verification status and account metadata.

Retrieve all bank accounts linked to your business. The response contains every account regardless of its current verification status, so you can use this endpoint to audit your connected accounts or present a selection UI to your users.

## HTTP Request

```
GET https://api.cleo-pay.com/v1/bank-accounts
```

## Authentication

Include your bearer token on every request:

```
Authorization: Bearer <token>
```

***

## Request Parameters

This endpoint does not accept any query parameters, path parameters, or a request body.

***

## Response Fields

<ResponseField name="items" type="array" required>
  An array of bank account objects. Returns an empty array if no accounts are linked to your business.

  <Expandable title="BankAccount object">
    <ResponseField name="id" type="string" required>
      Unique identifier for the bank account.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Current verification status of the account. One of:

      * `pending_verification` — micro-deposits have been initiated and are awaiting confirmation.
      * `verified` — account is verified and ready to use for payments.
      * `unverified` — verification failed because the maximum number of attempts was exceeded.
      * `removed` — account has been deleted.
    </ResponseField>

    <ResponseField name="type" type="string" required>
      The bank account type. Either `checking` or `savings`.
    </ResponseField>

    <ResponseField name="connectionType" type="string" required>
      How the account was connected. Either `manual` (linked via the API) or `plaid`. The API only creates `manual` accounts.
    </ResponseField>

    <ResponseField name="name" type="string | null">
      The display name assigned to this account.
    </ResponseField>

    <ResponseField name="institutionName" type="string | null">
      The name of the financial institution.
    </ResponseField>

    <ResponseField name="accountNumberLast4" type="string | null">
      The last four digits of the account number.
    </ResponseField>

    <ResponseField name="routingNumberLast4" type="string | null">
      The last four digits of the routing number.
    </ResponseField>

    <ResponseField name="isDefault" type="boolean" required>
      Whether this account is the default account for your business.
    </ResponseField>

    <ResponseField name="microDepositsInitiatedAt" type="datetime | null">
      The timestamp at which micro-deposits were initiated, or `null` if not yet started.
    </ResponseField>

    <ResponseField name="microDepositsCompletedAt" type="datetime | null">
      The timestamp at which micro-deposits landed in the account. Verification can be attempted from this point forward.
    </ResponseField>

    <ResponseField name="verificationAttempts" type="number" required>
      The number of failed verification attempts made so far. The maximum is 3.
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Example Request

```bash theme={null}
curl --request GET \
  --url https://api.cleo-pay.com/v1/bank-accounts \
  --header 'Authorization: Bearer <token>'
```

***

## Example Response

```json theme={null}
{
  "items": [
    {
      "id": "ba_01j9kxm2p4fghe3t7q8wnvd5rc",
      "status": "verified",
      "type": "checking",
      "connectionType": "manual",
      "name": "Primary Operating Account",
      "institutionName": "Chase",
      "accountNumberLast4": "4321",
      "routingNumberLast4": "0001",
      "isDefault": true,
      "microDepositsInitiatedAt": "2024-10-01T10:00:00Z",
      "microDepositsCompletedAt": "2024-10-03T08:30:00Z",
      "verificationAttempts": 0
    },
    {
      "id": "ba_02k8lzn3q5gihf4u8r9xowe6sd",
      "status": "pending_verification",
      "type": "savings",
      "connectionType": "manual",
      "name": "Reserve Savings",
      "institutionName": "Bank of America",
      "accountNumberLast4": "8765",
      "routingNumberLast4": "0002",
      "isDefault": false,
      "microDepositsInitiatedAt": "2024-10-05T14:22:00Z",
      "microDepositsCompletedAt": null,
      "verificationAttempts": 0
    }
  ]
}
```

<Note>
  This endpoint is **not paginated**. All bank accounts linked to your business are returned in a single response. If your business has many accounts, consider filtering client-side by `status` to surface only the accounts relevant to your workflow.
</Note>
