---
title: "Request Bank Account Data"
method: POST
path: "/v1/users/{userId}/bankAccounts/{bankAccountId}/lookup"
tags: ["Real-Time Data"]
---

# Request Bank Account Data

`POST /v1/users/{userId}/bankAccounts/{bankAccountId}/lookup`

## Request

- Base URL: `https://sandbox-api.spinwheel.io`
- URL: `https://sandbox-api.spinwheel.io/v1/users/{userId}/bankAccounts/{bankAccountId}/lookup`
- Auth: API key in header `Authorization`

Request the current balance for a bank account

## Path parameters

- `userId` string, required
- `bankAccountId` string, required

## Request body

- BankAccountLookupRequest
  - `extRequestId` string, required: The external id for the refresh

## Response `202`

Successful response

- BankAccountLookupResponse
  - `status` ResponseStatus, required
    - `code` number
    - `desc` string
    - `messages` Message[]
      - `desc` string, required
      - `type` 'ERROR' | 'WARN' | 'INFO'
  - `data` BankAccountLookupResponseData, required
    - `bankAccountId` string, required: Id of the bank account
    - `userId` string, required: The id of the user for the bank account
    - `refreshTransactionId` string, required: The id of the asyncronous transaction
    - `extRequestId` string, required: The external id for the request
    - `refreshTransactionStatus` 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: The status of the transaction
    - `capabilities` CapabilityMatrix, required
      - `payments` PaymentsCapability
        - `billPayment` Capability, required
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `pushToCard` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `receiveOnlyPayment` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
      - `data` DataCapability
        - `realtimeBalance` Capability, required
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `payoffSummary` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `liabilityGroupPayoffQuote` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `statementSummary` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `annualPercentageRate` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.
        - `cardBrand` Capability
          - `availability` 'NOT_SUPPORTED' | 'SUPPORTED' | 'FIELD_ERROR', required: The availability status of a capability
          - `fieldErrors` FieldError[]: Field-level errors if applicable.
            - `field` string, required: The field associated with the error.
            - `error` string, required: The reason for the error.
          - `description` 'INSTITUTION_NOT_SUPPORTED' | 'INSTITUTION_DISABLED' | 'REFRESH_EXHAUSTED' | 'NOT_PRIMARY_ACCOUNT_HOLDER' | 'ACCOUNT_TERMINATED' | 'CLOSED_ACCOUNT_NO_BALANCE' | 'CLOSED_ACCOUNT' | 'ACCOUNT_NUMBER_VERIFICATION_FAILED': Description of why the capability is not supported, if applicable.
          - `nextEligibleRefreshOn` number: The earliest timestamp that the capability will be available, if applicable.
          - `liabilityGroupId` string: Unique identifier of the liability group for the capability.

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/spinwheel/apis/optimize.md) - [All operations](https://skmtc.dev/spinwheel/apis/optimize/llms.txt) - [OpenAPI document](https://skmtc.dev/spinwheel/apis/optimize/revisions/6222309663d2?raw)
