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

# Retrieve a Bank Account

> Retrieve a single bank account by ID, including its status, account details, and address.

**GET** `/api/external/bank_accounts/{bankAccountId}/`

Returns one bank account by its identifier. Use this to read the current status and exact account fields for a previously created bank account.

<Warning>
  Bank-account data is sensitive. Avoid logging full account and routing numbers, and preserve the organization or sub-org scope returned by the API.
</Warning>

## Path parameters

<ParamField path="bankAccountId" type="string" required>
  The bank account ID.
</ParamField>

## Response

Returns a [BankAccount](/api-basics/data-models#bankaccount).

<ResponseField name="id" type="string">
  Bank account ID.
</ResponseField>

<ResponseField name="orgId" type="string">
  Organization that owns the bank account.
</ResponseField>

<ResponseField name="subOrgId" type="string">
  [Sub-org](/sub-orgs/overview) that owns the bank account, if any.
</ResponseField>

<ResponseField name="orgEntityId" type="string">
  Organization entity that owns the account.
</ResponseField>

<ResponseField name="createdById" type="string">
  User or API user that created the bank account.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Creation timestamp (ISO 8601).
</ResponseField>

<ResponseField name="updatedAt" type="string">
  Last update timestamp (ISO 8601).
</ResponseField>

<ResponseField name="isDeleted" type="boolean">
  Whether the bank account is deleted.
</ResponseField>

<ResponseField name="status" type="BankAccountStatus">
  `PENDING`, `APPROVED`, or `DECLINED`. A new bank account stays `PENDING` until it's [approved](/approvals/overview). See [BankAccountStatus](/api-basics/data-models#bankaccountstatus).
</ResponseField>

<ResponseField name="accountNumber" type="string">
  Bank account number.
</ResponseField>

<ResponseField name="accountName" type="string">
  Account-holder name.
</ResponseField>

<ResponseField name="routingNumber" type="string">
  Domestic routing identifier where applicable.
</ResponseField>

<ResponseField name="clientBankAccountId" type="string">
  Client-controlled bank-account reference.
</ResponseField>

<ResponseField name="paymentMethod" type="string">
  Payment rail, for example `US_ACH`, `US_WIRE`, `SEPA`, `SWIFT`, or `BANK_TRANSFER`.
</ResponseField>

<ResponseField name="bankName" type="string">
  Bank name.
</ResponseField>

<ResponseField name="streetLine" type="string">
  Street address line for the bank or beneficiary.
</ResponseField>

<ResponseField name="city" type="string">
  City for the bank or beneficiary address.
</ResponseField>

<ResponseField name="state" type="string">
  State or province for the bank or beneficiary address.
</ResponseField>

<ResponseField name="postalCode" type="string">
  Postal code for the bank or beneficiary address.
</ResponseField>

<ResponseField name="country" type="string">
  Country code for the bank or beneficiary address.
</ResponseField>

<RequestExample dropdown>
  ```json Request example theme={null}
  {
    "path": {
      "bankAccountId": "bank_account_123"
    }
  }
  ```

  ```bash cURL theme={null}
  # Sample only. Generate a new signed token for each request
  # (see Authentication). Tokens expire after 120 seconds.
  curl --request GET \
    --url "https://api.primevault.com/api/external/bank_accounts/bank_account_123/" \
    --header "Authorization: Bearer <signed JWT>" \
    --header "Api-Key: <API key>" \
    --header "Accept: application/json"
  ```

  ```typescript JavaScript SDK theme={null}
  getBankAccountById(bankAccountId: string): Promise<BankAccount>
  ```
</RequestExample>

<ResponseExample dropdown>
  ```json Response example theme={null}
  {
    "id": "bank_account_123",
    "orgId": "org_456",
    "subOrgId": "sub_org_123",
    "orgEntityId": "org_entity_123",
    "createdById": "api_user_123",
    "createdAt": "2026-08-04T10:30:00Z",
    "updatedAt": "2026-08-04T10:30:00Z",
    "isDeleted": false,
    "status": "PENDING",
    "accountNumber": "111222333",
    "accountName": "Acme Corp",
    "routingNumber": "021000021",
    "clientBankAccountId": "erp-bank-001",
    "paymentMethod": "US_ACH",
    "bankName": "Chase",
    "streetLine": "270 Park Avenue",
    "city": "New York",
    "state": "NY",
    "postalCode": "10017",
    "country": "US"
  }
  ```

  ```typescript JavaScript SDK theme={null}
  interface BankAccount {
    id: string;
    orgId: string;
    subOrgId?: string;
    orgEntityId: string;
    createdById: string;
    createdAt: string;
    updatedAt: string;
    isDeleted: boolean;
    status: BankAccountStatus;
    accountNumber?: string;
    accountName?: string;
    routingNumber?: string;
    clientBankAccountId?: string;
    paymentMethod?: string;
    bankName?: string;
    streetLine?: string;
    city?: string;
    state?: string;
    postalCode?: string;
    country?: string;
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.