Bank Accounts API Reference Beta
These endpoints let you retrieve bank account information for a consumer and collect ACH payment details for credential-less verification. When ACH details and transaction history are retrieved together during the initial connection, customers can generate multiple reports across our product offerings later without another step from the consumer.
Where to configure
To enable and configure functionality, please contact your Nova Credit Representative. Our support team will assist you in setting up the necessary configurations to use this functionality.
Authentication
All requests require a bearer token to be obtained by exchanging your client credentials. Use the same authentication flow as other Nova Endpoints.
Endpoints
Our API host is api.novacredit.com. (See Quickstart Guide for environment information.)
| Endpoint | Description |
|---|---|
GET /connect/consumers/:consumer_id/bank-accounts | Retrieves bank accounts for a consumer |
GET /connect/consumers/:consumer_id/bank-accounts/:bank_account_id/ach-details | Retrieves ACH details for a bank account |
List Bank Accounts
Endpoint: GET /connect/consumers/:consumer_id/bank-accounts
This API is used to retrieve connected bank accounts for a consumer.
Path Params
| Param | Type | Required | Description |
|---|---|---|---|
| Consumer ID | String (UUID) | True | The unique ID for the consumer |
Response
Example
{
"accounts": [
{
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"institution_name": "Chase",
"truncated_account_number": "****1234",
"owner_full_name": "John Doe",
"account_name": "Primary Checking",
"account_type": "CASH_EQUIVALENT",
"date_opened": "2020-03-15T00:00:00Z",
"routing_number": null,
"full_account_number": null
}
]
}
Accounts []
| Field | Format | Notes |
|---|---|---|
account_id | String (UUID) | The identifier for the account |
institution_name | String | Name of the institution providing the account. Example: "Chase", "Bank of America". |
truncated_account_number | String | Null | Account display number |
owner_full_name | String | Legal name on the bank account. |
account_name | String | Consumer-defined name (e.g., "Main Checking"). |
account_type | Enum | See account types |
date_opened | ISO 8601 | Null | The date the account was originally opened. |
full_account_number | String | Null | The full account number or tokenized account number TAN of the selected bank account |
routing_number | String | Null | The routing number from the selected bank account. |
account_type
Values of the account_type field.
Note: We only support CASH_EQUIVALENT account types as these are Demand Deposit Accounts (DDA)
| Value |
|---|
CASH_EQUIVALENT |
Errors
| Code | Text | Description |
|---|---|---|
| 400 | BAD_REQUEST | Invalid request parameters |
| 403 | FORBIDDEN | The client_id and secret_key combination is not recognized. Please email support via support@novacredit.com |
| 404 | NOT_FOUND | Resource not found |
Get ACH Details
Endpoint: GET /connect/consumers/:consumer_id/bank-accounts/:bank_account_id/ach-details
Use this endpoint to retrieve ACH payment details (routing number and full account number) for a specific bank account.
Note: ACH details are cached after first retrieval
Path Params
| Param | Type | Required | Description |
|---|---|---|---|
| Consumer ID | String (UUID) | True | The unique ID for the consumer |
| Bank Account ID | String (UUID) | True | The unique ID for a bank account |
Response
Example
{
"full_account_number": "1234567890",
"routing_number": "021000021"
}
ACH Details
| Field | Format | Notes |
|---|---|---|
full_account_number | String | The full account number or tokenized account number TAN of the selected bank account |
routing_number | String | The routing number from the selected bank account. |
Errors
| Code | Text | Description |
|---|---|---|
| 400 | BAD_REQUEST | Invalid request parameters |
| 403 | FORBIDDEN | The client_id and secret_key combination is not recognized. Please email support via support@novacredit.com |
| 403 | CONSENT_NOT_PROVIDED | Consumer has revoked consent |
| 404 | NOT_FOUND | Resource not found |
Tokenized Account Numbers
Some financial institutions (e.g., Chase, PNC, and US Bank) return Tokenized Account Numbers (TANs) instead of the consumer’s actual account number. A TAN is a bank-issued substitute that can be used for ACH and other operations while keeping the real account number hidden.
TANs can be revoked if the consumer withdraws consent at the bank or if fraud is detected so your application should treat any account identifier as potentially revocable and handle cases where a previously successful TAN is no longer valid during a payment attempt.
Data Persistence
Connection Lifetime
To support long-lived TANs, connections may be maintained beyond the standard 14-day period.
Changelog
March 2026
- Added documentation for v1 of Bank Accounts API