> ## 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/{bankAccountId} — Get a Bank Account

> GET /v1/bank-accounts/{bankAccountId} retrieves a single bank account by ID, including verification status and micro-deposit timestamps.

Retrieve a single bank account by its ID. Use this endpoint to check the current verification status of an account, inspect micro-deposit timestamps, or fetch account metadata before initiating a payment.

## HTTP Request

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

## Authentication

Include your bearer token on every request:

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

***

## Path Parameters

<ParamField path="bankAccountId" type="string" required>
  The unique identifier of the bank account to retrieve. This is the `id` returned when the account was created, or from the list accounts response.
</ParamField>

***

## Response Fields

<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: `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 once this field is non-null.
</ResponseField>

<ResponseField name="verificationAttempts" type="number" required>
  The number of failed verification attempts made so far. The maximum is 3; exceeding it sets the account status to `unverified`.
</ResponseField>

***

## Example Request

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

***

## Example Response

```json theme={null}
{
  "id": "ba_01j9kxm2p4fghe3t7q8wnvd5rc",
  "status": "verified",
  "type": "checking",
  "connectionType": "manual",
  "name": "Primary Operating Account",
  "institutionName": "Chase",
  "accountNumberLast4": "4321",
  "routingNumberLast4": "0021",
  "isDefault": true,
  "microDepositsInitiatedAt": "2024-10-01T10:00:00Z",
  "microDepositsCompletedAt": "2024-10-03T08:30:00Z",
  "verificationAttempts": 0
}
```

<Tip>
  Poll this endpoint (or listen for `bank_account.*` webhooks) to track when `microDepositsCompletedAt` becomes non-null. Once deposits have landed, prompt the account holder to submit the two deposit amounts via the [verify micro-deposits](/api-reference/bank-accounts/verify-micro-deposits) endpoint.
</Tip>
