Get External Accounts
The Get External Accounts endpoint retrieves a comprehensive list of external accounts linked to a specific customer profile. Each returned account includes details such as account type, balance information, account status, and the provider through which the account was connected. This endpoint supports financial oversight by allowing partners to surface all externally linked accounts for a given customer in a single call.
Endpoint
GET /netevia/externalAccounts/{profileId}
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 when you need to display or audit all external financial accounts a customer has linked to their profile, such as accounts connected via Finicity or Plaid. It is commonly called during account management flows, before initiating ACH transfers, or when presenting a consolidated view of a customer's external banking relationships.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique numeric identifier of the customer profile whose external accounts are to be retrieved. |
Response
200 OK
Returns an array of external financial account objects.
externalfinancialaccount object
| Field | Type | Description |
|---|---|---|
| typename | string | The type name label for the external account. |
| externalBankAccountType | integer (enum) | Numeric code representing the external bank account type. |
| id | string | Unique identifier of the external account record. |
| name | string | Display name of the external account. |
| externalBankAccountDetails | object | Detailed bank account information (see sub-fields below). |
| provider | string | The provider used to link the account (e.g., Finicity, Plaid). |
| createdAt | string (date-time) | Timestamp when the external account was linked. |
| accountStatus | string | Current status of the external account (e.g., active, inactive). |
| updatedAt | string (date-time) | Timestamp of the most recent update to the account record. |
| bankName | string | Name of the external financial institution. |
| owners | any | Account owner information, if available. |
| balanceInfo | object | Balance details for the account (see sub-fields below). |
externalBankAccountDetails sub-fields
| Field | Type | Description |
|---|---|---|
| last4 | string | Last four digits of the external account number. |
| type | string | Account subtype (e.g., checking, savings). |
| routingNumber | string | ABA routing number of the external bank. |
| createdAt | string (date-time) | Timestamp when the account detail record was created. |
| updatedAt | string (date-time) | Timestamp when the account detail record was last updated. |
| accountNumber | string | Full account number (masked in display contexts). |
balanceInfo sub-fields
| Field | Type | Description |
|---|---|---|
| date | string (date-time) | Date and time the balance was last retrieved. |
| value | number (double) | Balance amount. |
| currency | string | Currency code for the balance (e.g., USD). |
[
{
"typename": "ExternalBankAccount",
"externalBankAccountType": 0,
"id": "ext-acct-00112233",
"name": "My Checking Account",
"externalBankAccountDetails": {
"last4": "4321",
"type": "checking",
"routingNumber": "021000021",
"createdAt": "2025-03-10T08:00:00Z",
"updatedAt": "2025-03-10T08:00:00Z",
"accountNumber": "XXXXXXXXXX"
},
"provider": "Plaid",
"createdAt": "2025-03-10T08:00:00Z",
"accountStatus": "active",
"updatedAt": "2026-01-15T12:30:00Z",
"bankName": "Chase Bank",
"owners": null,
"balanceInfo": {
"date": "2026-06-08T00:00:00Z",
"value": 1540.75,
"currency": "USD"
}
}
]Error Codes
| Code | When it happens |
|---|---|
| 400 | The profileId is not a valid integer or is malformed. |
| 401 | Token missing, expired, or invalid. |
| 403 | Insufficient permissions to access the specified profile. |
| 404 | No profile found for the given profileId. |
| 500 | Internal server error while retrieving external accounts. |
Common Mistakes
- Passing a non-integer or string value for
profileId— the field must be a validint32. - Expecting a single object in the response — the endpoint always returns an array, even if only one account is linked.
- Assuming
accountNumberinexternalBankAccountDetailsis always populated — some providers return onlylast4and omit the full account number. - Not refreshing the Bearer token before calling this endpoint — tokens expire after 10 minutes and will return a 401 error.
Related Endpoints
POST /netevia/externalAccounts— Link a new external account to a customer profile via Finicity or Plaid.DELETE /netevia/externalAccounts/{profileId}/{accountId}— Remove a linked external account from a customer profile.GET /netevia/profile/{profileId}— Retrieve the customer profile associated with the given profile ID.
Example
curl -X GET https://api.banking.netevia.dev/netevia/externalAccounts/98765 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"