Bank Accounts
List Bank Accounts
Retrieve a paginated list of your saved bank accounts.
Request example
{
"query": {
"limit": 20,
"cursor": 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/?limit=20" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getBankAccounts(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<BankAccountListResponse>
Response example
{
"results": [
{
"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"
}
],
"nextCursor": "eyJpZCI6ImJhbmtfYWNjb3VudF8xMjMifQ==",
"hasNext": true
}
interface BankAccountListResponse {
results: BankAccount[];
nextCursor?: string | null;
hasNext?: boolean;
}
GET
/api/external/bank_accounts/?limit={limit}&cursor={cursor}&{filters}
Lists the bank accounts available to the API user’s organization. Use cursor pagination to walk through large sets, and apply filters to narrow results.
Bank-account data is sensitive. Avoid logging full account and routing numbers, and preserve the organization or sub-org scope returned by the API.
Query parameters
number
Requested page size. SDK default: 20.
string | null
Cursor for the next page. First page: null or empty.
Record<string, string>
Bank-account filters accepted by the endpoint.
Response
Returns a page of BankAccount objects. See Cursor response.BankAccount[]
Bank accounts on this page. Each item is a BankAccount.
Show Properties
Show Properties
string
Bank account ID.
string
Organization that owns the bank account.
string
Organization entity that owns the account.
string
User or API user that created the bank account.
string
Creation timestamp (ISO 8601).
string
Last update timestamp (ISO 8601).
boolean
Whether the bank account is deleted.
BankAccountStatus
PENDING, APPROVED, or DECLINED. A new bank account stays PENDING until it’s approved. See BankAccountStatus.string
Bank account number.
string
Account-holder name.
string
Domestic routing identifier where applicable.
string
Client-controlled bank-account reference.
string
Payment rail, for example
US_ACH, US_WIRE, SEPA, SWIFT, or BANK_TRANSFER.string
Bank name.
string
Street address line for the bank or beneficiary.
string
City for the bank or beneficiary address.
string
State or province for the bank or beneficiary address.
string
Postal code for the bank or beneficiary address.
string
Country code for the bank or beneficiary address.
string | null
Cursor for the next page.
null on the last page.boolean
Whether another page exists.
Request example
{
"query": {
"limit": 20,
"cursor": 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/?limit=20" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getBankAccounts(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<BankAccountListResponse>
Response example
{
"results": [
{
"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"
}
],
"nextCursor": "eyJpZCI6ImJhbmtfYWNjb3VudF8xMjMifQ==",
"hasNext": true
}
interface BankAccountListResponse {
results: BankAccount[];
nextCursor?: string | null;
hasNext?: boolean;
}
⌘I
Request example
{
"query": {
"limit": 20,
"cursor": 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/?limit=20" \
--header "Authorization: Bearer <signed JWT>" \
--header "Api-Key: <API key>" \
--header "Accept: application/json"
getBankAccounts(
params?: Record<string, string>,
limit?: number,
cursor?: string | null,
): Promise<BankAccountListResponse>
Response example
{
"results": [
{
"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"
}
],
"nextCursor": "eyJpZCI6ImJhbmtfYWNjb3VudF8xMjMifQ==",
"hasNext": true
}
interface BankAccountListResponse {
results: BankAccount[];
nextCursor?: string | null;
hasNext?: boolean;
}