Get External Account Activity
The Get External Account Activity endpoint retrieves a list of recent transactions and activities for an external account linked to a specific user profile. By providing the unique profileId, this endpoint delivers detailed insights into the financial activity of the account, including deposits, withdrawals, and transfers. This allows users and partners to monitor and review external account transaction histories effectively.
Endpoint
GET /netevia/externalAccountActivity/{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 recent activity on a customer's linked external bank account, such as accounts connected via Finicity or Plaid. It is suitable for building transaction history views, reconciliation dashboards, or monitoring external account movements. You can filter results by date range or by the specific financial account and provider.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique identifier of the customer profile whose external account activity is being retrieved |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| financialAccountId | string | No | The ID of a specific financial account to filter activity for |
| provider | string | No | The external account provider to filter by. Enum: FINICITY, PLAID |
| dateFrom | string (date-time) | No | Start of the date range for filtering activity (ISO 8601 format) |
| dateTo | string (date-time) | No | End of the date range for filtering activity (ISO 8601 format) |
Response
200 OK
The response returns a merged data object combining transfer pagination info, transaction pagination info, and the list of activity records.
Top-level response fields:
| Field | Type | Description |
|---|---|---|
| transferPageInfo | array of pageInfo | Pagination info for transfer records |
| transactionPageInfo | pageInfo object | Pagination info for transaction records |
| activity | array of activityResponseModel | List of merged activity entries (transactions and transfers) |
pageInfo object:
| Field | Type | Description |
|---|---|---|
| startCursor | string | Cursor pointing to the start of the current result page |
| endCursor | string | Cursor pointing to the end of the current result page |
| hasNextPage | boolean | Whether additional records exist after the current page |
| hasPreviousPage | boolean | Whether records exist before the current page |
Activity entry fields (activityResponseModel):
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the activity record |
| typename | string | GraphQL type name of the activity (e.g., ACHTransfer, CardTransaction) |
| name | string | Display name or label of the activity |
| typeModel | string | Model type classification |
| pendingAmount | amount object | Amount currently pending for this activity |
| amount | amount object | Settled or total amount of the activity |
| lastEventBalanceSnapshot | amount object | Account balance snapshot at the time of the last event |
| createdAt | string (date-time) | Timestamp when the activity was created |
| isComplete | boolean | Whether the activity has completed processing |
| transactionSource | source object | Source details of the transaction |
| transferStatus | transferStatus object | Status and reason code of the transfer |
| companyName | string | Name of the company associated with the activity |
| descriptor | descriptor object | ACH descriptor details including company entry description |
| toFinancialAccount | transferFinAccount object | Destination financial account details |
| fromFinancialAccount | transferFinAccount object | Source financial account details |
| refundEvent | transactionEvent object | Details of the refund event if applicable |
| lastEvent | transactionEvent object | Most recent event associated with this activity |
| firstEvent | transactionEvent object | First event associated with this activity |
| isBetweenOwnAccounts | boolean | Whether the transfer is between the customer's own accounts |
| activityInfo | activityInfo object | Profile and history information for the activity |
| purpose | string | Purpose or reason for the activity |
| giftCardOrderId | string | Associated gift card order ID if applicable |
| memo | string | Free-text memo attached to the activity |
| fromDBA | string | DBA (doing business as) name of the sending party |
| toDBA | string | DBA (doing business as) name of the receiving party |
amount object:
| Field | Type | Description |
|---|---|---|
| value | integer (int64) | Amount in the smallest currency unit (e.g., cents) |
| currencyCode | string | ISO 4217 currency code (e.g., USD) |
transferFinAccount object:
| Field | Type | Description |
|---|---|---|
| id | string | Financial account identifier |
| name | string | Display name of the financial account |
| last4 | string | Last 4 digits of the account number |
| externalBankAccountDetails | externalBankAccountDetails object | Details of the linked external bank account |
| provider | string | Provider name (e.g., FINICITY, PLAID) |
externalBankAccountDetails object:
| Field | Type | Description |
|---|---|---|
| last4 | string | Last 4 digits of the external account number |
| type | string | Account type (e.g., CHECKING, SAVINGS) |
| routingNumber | string | Bank routing number |
| createdAt | string (date-time) | Timestamp when the external account was linked |
| updatedAt | string (date-time) | Timestamp of the last update to the external account |
| accountNumber | string | Full external account number (sanitized in examples) |
transactionEvent object:
| Field | Type | Description |
|---|---|---|
| typename | string | Type of event |
| id | string | Unique event identifier |
| merchantDetails | merchantDetails object | Merchant information for card transactions |
| pointOfServiceDetails | pointOfServiceDetails object | PAN and PIN entry mode details |
| responseCode | string | Authorization response code |
| responseDescription | string | Human-readable response description |
| approvedAmount | amount object | Amount approved by the network |
| requestedAmount | amount object | Amount originally requested |
| paymentCard | paymentCardActivity object | Payment card details associated with the event |
| createdAt | string (date-time) | Timestamp when the event was created |
| authorizationExpiration | string (date-time) | Expiration timestamp of the authorization |
| processingType | string | Processing type indicator |
| rewardPoints | integer (int64) | Reward points earned or applied on this event |
| accountingDirection | string | Direction of the accounting entry. Enum: DEBIT, CREDIT |
activityInfo object:
| Field | Type | Description |
|---|---|---|
| fromProfile | profileInfo object | Profile of the sending party |
| toProfile | profileInfo object | Profile of the receiving party |
| historyRecords | array of historyRecord | Status history of the activity |
profileInfo object:
| Field | Type | Description |
|---|---|---|
| id | integer (int32) | Profile identifier |
| name | string | Profile display name |
| agentId | integer (int32) | Agent identifier associated with this profile |
historyRecord object:
| Field | Type | Description |
|---|---|---|
| date | string (date-time) | Timestamp of the status change |
| status | string | Status value at that point in time |
transferStatus object:
| Field | Type | Description |
|---|---|---|
| status | string | Current transfer status (e.g., PENDING, COMPLETED, FAILED) |
| statusReasonCode | string | Reason code for the current status |
descriptor object:
| Field | Type | Description |
|---|---|---|
| companyEntryDescription | string | ACH company entry description |
| individualName | string | Name of the individual associated with the ACH entry |
| individualIdentificationNumber | string | Identification number for the individual in the ACH record |
merchantDetails object:
| Field | Type | Description |
|---|---|---|
| category | string | Merchant category name |
| categoryCode | string | Merchant category code (MCC) |
| countryCodeAlpha3 | string | ISO 3166-1 alpha-3 country code |
| description | string | Merchant description |
| name | string | Merchant name |
| merchantId | string | Unique merchant identifier |
paymentCardActivity object:
| Field | Type | Description |
|---|---|---|
| id | string | Payment card identifier |
| bin | string | Bank identification number (first 6 digits) |
| last4 | string | Last 4 digits of the card number |
pointOfServiceDetails object:
| Field | Type | Description |
|---|---|---|
| panEntryMode | string | How the card number was entered (e.g., CONTACTLESS, CHIP) |
| pinEntryMode | string | How the PIN was entered (e.g., PIN_VERIFIED, NOT_APPLICABLE) |
{
"transferPageInfo": [
{
"startCursor": "cursor_abc123",
"endCursor": "cursor_def456",
"hasNextPage": false,
"hasPreviousPage": false
}
],
"transactionPageInfo": {
"startCursor": "cursor_ghi789",
"endCursor": "cursor_jkl012",
"hasNextPage": true,
"hasPreviousPage": false
},
"activity": [
{
"id": "txn_7a8b9c0d1e2f",
"typename": "ACHTransfer",
"name": "ACH Pull from External Account",
"typeModel": "Transfer",
"pendingAmount": {
"value": 0,
"currencyCode": "USD"
},
"amount": {
"value": 50000,
"currencyCode": "USD"
},
"lastEventBalanceSnapshot": {
"value": 125000,
"currencyCode": "USD"
},
"createdAt": "2025-06-01T14:22:00Z",
"isComplete": true,
"transactionSource": {
"typename": "ACHTransfer",
"id": "src_11223344",
"transactionEvents": []
},
"transferStatus": {
"status": "COMPLETED",
"statusReasonCode": null
},
"companyName": "Example Corp",
"descriptor": {
"companyEntryDescription": "PAYROLL",
"individualName": "John Doe",
"individualIdentificationNumber": "ID-00001"
},
"toFinancialAccount": {
"id": "fa_aabbccdd",
"name": "Main Checking",
"last4": "1234",
"externalBankAccountDetails": null,
"provider": null
},
"fromFinancialAccount": {
"id": "fa_extbank01",
"name": "External Savings",
"last4": "5678",
"externalBankAccountDetails": {
"last4": "5678",
"type": "SAVINGS",
"routingNumber": "021000021",
"createdAt": "2025-01-15T09:00:00Z",
"updatedAt": "2025-01-15T09:00:00Z",
"accountNumber": "XXXXXXXXXX"
},
"provider": "PLAID"
},
"refundEvent": null,
"lastEvent": null,
"firstEvent": null,
"isBetweenOwnAccounts": true,
"activityInfo": {
"fromProfile": {
"id": 10042,
"name": "John Doe",
"agentId": 1
},
"toProfile": {
"id": 10042,
"name": "John Doe",
"agentId": 1
},
"historyRecords": [
{
"date": "2025-06-01T14:22:00Z",
"status": "INITIATED"
},
{
"date": "2025-06-03T08:00:00Z",
"status": "COMPLETED"
}
]
},
"purpose": "Transfer from linked external savings account",
"giftCardOrderId": null,
"memo": null,
"fromDBA": null,
"toDBA": null
}
]
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing or invalid profileId, malformed dateFrom/dateTo format, or invalid provider enum value |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access the specified profile's external account data |
| 404 | No profile found for the given profileId, or no external account linked to the profile |
| 500 | Internal server error |
Common Mistakes
- Providing
dateFromanddateToin a non-ISO 8601 date-time format will result in a 400 error; always use the formatYYYY-MM-DDTHH:MM:SSZ. - Omitting a valid linked external account will return an empty
activityarray rather than a 404; verify that the customer has completed external account linking via Finicity or Plaid before calling this endpoint. - The
providerquery parameter must be exactlyFINICITYorPLAID(uppercase); any other value will produce a 400 error. - Amount values in the response are expressed in the smallest currency unit (cents for USD), so a
valueof50000represents $500.00. - This endpoint is marked deprecated; monitor Netevia release notes for the recommended replacement endpoint.
Related Endpoints
GET /netevia/externalAccounts/{profileId}— List all external accounts linked to a profilePOST /netevia/externalAccount/{profileId}— Link a new external bank account to a profile via Finicity or PlaidDELETE /netevia/externalAccount/{profileId}/{financialAccountId}— Remove a linked external account from a profileGET /netevia/accountActivity/{profileId}— Retrieve internal financial account activity for a profile
Example
curl -X GET "https://api.banking.netevia.dev/netevia/externalAccountActivity/10042?provider=PLAID&dateFrom=2025-06-01T00:00:00Z&dateTo=2025-06-07T23:59:59Z" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"