Return financial accounts

Return Financial Accounts

This endpoint returns all financial accounts belonging to the authenticated customer. Each account includes balance information, direct deposit details, ledger data, and associated card product configuration. Up to 5 active financial accounts are returned by default per customer.

Deprecated: This endpoint is marked as deprecated in the current API version. Partners should plan to migrate to the updated financial accounts endpoint when available.

Endpoint

GET /api/financialAccounts

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint to retrieve the full list of a customer's financial accounts, including balances and account status, when building account overview screens or dashboards. It is suitable for both business and personal customers. When restricted details such as account numbers and routing numbers are needed for direct deposit setup, pass includeRestrictedDetails=true.

Query Parameters

ParameterTypeRequiredDescription
includeRestrictedDetailsbooleanNoWhen true (default), the response includes restricted details such as the full account number and routing number for direct deposit. Set to false to omit these sensitive fields.

Response

200 OK

Returns an array of financial account objects (financialaccountmodel).

Top-level account fields

FieldTypeDescription
idstringUnique identifier for the financial account.
namestringDisplay name of the financial account.
createdstring (date-time)ISO 8601 timestamp when the account was created.
accountStatusstringCurrent status of the account (e.g., ACTIVE, SUSPENDED, CLOSED).
partnerNamestringName of the partner associated with this account.
isLockAccountbooleanIndicates whether the account is a lock/savings account.
isProductFundingAccountbooleanIndicates whether the account is used as a product funding account.
cashInProcessobjectAmount currently in-process (not yet settled). Contains value (integer, in cents) and currencyCode (string).
directDepositobjectDirect deposit configuration for the account. See Direct Deposit fields below.
ledgersarrayList of ledgers attached to this account. See Ledger fields below.
cardProductobjectCard product configuration associated with this account.

Direct Deposit fields (directDeposit)

FieldTypeDescription
idstringUnique identifier for the direct deposit record.
restrictedDetails.typenamestringType name of the direct deposit configuration.
restrictedDetails.numberstringFull account number (only present when includeRestrictedDetails=true).
restrictedDetails.routingNumberstringABA routing number (only present when includeRestrictedDetails=true).

Ledger fields (ledgers[])

FieldTypeDescription
idstringUnique identifier for the ledger.
namestringName of the ledger (e.g., AVAILABLE, PENDING).
normalBalancestringNormal balance direction for this ledger.
asOfstring (date-time)Timestamp when balances were last computed.
creditBalance.valueintegerCredit balance in cents.
creditBalance.currencyCodestringCurrency code (e.g., USD).
debitBalance.valueintegerDebit balance in cents.
debitBalance.currencyCodestringCurrency code (e.g., USD).
ledgerEntriesobjectPaginated list of ledger entries for this ledger.
[
  {
    "id": "fa_1a2b3c4d5e6f7g8h",
    "name": "Primary Checking",
    "created": "2024-03-15T10:00:00Z",
    "accountStatus": "ACTIVE",
    "partnerName": "Netevia Partner",
    "isLockAccount": false,
    "isProductFundingAccount": false,
    "cashInProcess": {
      "value": 5000,
      "currencyCode": "USD"
    },
    "directDeposit": {
      "id": "dd_9z8y7x6w5v4u3t2s",
      "restrictedDetails": {
        "typename": "AchDirectDeposit",
        "number": "XXXXXXXXXX",
        "routingNumber": "021000021"
      }
    },
    "ledgers": [
      {
        "id": "ldg_abc123",
        "name": "AVAILABLE",
        "normalBalance": "CREDIT",
        "asOf": "2024-06-08T14:30:00Z",
        "creditBalance": {
          "value": 250000,
          "currencyCode": "USD"
        },
        "debitBalance": {
          "value": 0,
          "currencyCode": "USD"
        },
        "ledgerEntries": {
          "pageInfo": {
            "startCursor": "cursor_start",
            "endCursor": "cursor_end",
            "hasNextPage": false,
            "hasPreviousPage": false
          },
          "edges": []
        }
      }
    ],
    "cardProduct": {
      "id": "cp_prod456",
      "name": "Business Debit",
      "usage": "DEBIT",
      "vertical": "COMMERCIAL",
      "commercial": true
    }
  }
]

Error Codes

CodeWhen it happens
401Token missing, expired, or invalid
403Insufficient permissions to access the requested accounts
500Internal server error

Common Mistakes

  • Forgetting that monetary values (value fields inside cashInProcess, creditBalance, debitBalance) are expressed in cents (integer), not dollars. Divide by 100 to get the dollar amount.
  • Assuming restrictedDetails (account number and routing number) will always be populated — these fields are only returned when includeRestrictedDetails is true (the default). Explicitly setting it to false omits them.
  • Treating this endpoint as providing real-time balances. The asOf timestamp on each ledger indicates when the balance snapshot was taken.
  • Using this deprecated endpoint for new integrations. Plan migration to the replacement endpoint when it becomes available.

Related Endpoints

  • GET /api/financialAccounts/{financialAccountId} — Retrieve details for a single financial account by ID
  • POST /api/financialAccounts — Create a new financial account for a customer
  • GET /api/financialAccounts/{financialAccountId}/transactions — Retrieve transaction history for a specific financial account

Example

curl -X GET "https://api.banking.netevia.dev/api/financialAccounts?includeRestrictedDetails=true" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"
Query Params
boolean
Defaults to true
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json