Get Financial Account Activity
This endpoint retrieves merged transaction and transfer activity for a specific financial account belonging to a customer profile. Results can be filtered by date range, transaction type, status, amount range, and payment card, and support pagination for large result sets. Use this endpoint to power account statement views, activity feeds, and transaction history displays in your application.
Endpoint
POST /netevia/financialAccountActivity/{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 a customer's full account activity, including both card transactions and fund transfers, within a given time window. It is suitable for building statement pages, audit trails, or analytics dashboards. The endpoint supports three request variants — basic period filtering, amount filtering, and an extended form that also allows specifying the financial account ID in the body rather than relying solely on a previously resolved account context.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique numeric identifier of the customer profile whose financial account activity is being retrieved. |
Request Body
This endpoint accepts one of three request body variants. All variants extend a common base that requires financialAccountId, dateFrom, and dateTo.
Variant 1 — Period + Filter (financialaccountwithperiodandfilterrequest)
| Field | Type | Required | Description |
|---|---|---|---|
| financialAccountId | string | Yes | The unique identifier of the financial account to query. |
| dateFrom | string (date-time) | Yes | Start of the activity date range (ISO 8601). |
| dateTo | string (date-time) | Yes | End of the activity date range (ISO 8601). |
| filter | object | No | Transaction type filter. Contains boolean filter items: all, deposit, withdraw, transfers, pos, transactionStatus, others. |
| jsonFilter | string | No | Optional raw JSON filter string for advanced filtering. |
| spendEvents | array of string | No | List of spend event types to include in the results. |
| paymentCardId | string | No | Filter activity to transactions associated with a specific payment card ID. |
| status | string (enum) | No | Filter by activity status. One of: OTHER, PENDING, COMPLETED, FAILED. |
| paginationSettings | object | No | Pagination control. Contains take (1–10000) and skip (0–2147483647). |
Variant 2 — Period + Amount Filter (financialaccountwithperiodandamountfilterrequest)
Extends Variant 1 with the following additional fields:
| Field | Type | Required | Description |
|---|---|---|---|
| amountFilter | object | No | Filters results by transaction amount. Contains minValue (int64) and maxValue (int64), expressed in minor currency units (e.g., cents). |
| searchString | string | No | Free-text search string to match against activity records. |
Variant 3 — Extended (financialaccountwithperiodandamountfilterrequestextension)
Extends Variant 2 with the following additional field:
| Field | Type | Required | Description |
|---|---|---|---|
| financialAccountId | string | No | Overrides or supplements the financial account ID when provided in the body. |
{
"financialAccountId": "fa_0987654321abcdef",
"dateFrom": "2026-01-01T00:00:00Z",
"dateTo": "2026-03-31T23:59:59Z",
"status": "COMPLETED",
"filter": {
"all": { "displayName": "All", "value": false },
"deposit": { "displayName": "Deposits", "value": true },
"transfers": { "displayName": "Transfers", "value": true },
"pos": { "displayName": "POS", "value": false },
"withdraw": { "displayName": "Withdrawals", "value": false },
"transactionStatus": { "displayName": "Status", "value": false },
"others": { "displayName": "Others", "value": false }
},
"amountFilter": {
"minValue": 500,
"maxValue": 100000
},
"searchString": "payroll",
"paginationSettings": {
"take": 50,
"skip": 0
}
}Response
200 OK
The response contains a data object with merged transfer and transaction activity, along with the resolved filter state.
| Field | Type | Description |
|---|---|---|
| data | object | Merged activity data. Contains transferPageInfo, transactionPageInfo, and activity array. |
| data.transferPageInfo | array of pageInfo | Pagination cursors and flags for transfer results. Each item has startCursor, endCursor, hasNextPage, hasPreviousPage. |
| data.transactionPageInfo | object | Pagination cursors and flags for transaction results. Fields: startCursor, endCursor, hasNextPage, hasPreviousPage. |
| data.activity | array of activityItem | List of merged activity records. See activity item fields below. |
| filter | object | The resolved transaction type filter applied to the request. |
Activity item fields (data.activity[])
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier of the activity record. |
| typename | string | The GraphQL type name of the activity (e.g., ACHTransfer, CardTransaction). |
| name | string | Human-readable name or label for the activity. |
| typeModel | string | Internal model type classification. |
| amount | object | Settled amount. Contains value (int64, minor units) and currencyCode. |
| pendingAmount | object | Pending/hold amount if applicable. Same structure as amount. |
| lastEventBalanceSnapshot | object | Account balance after the last event. Same structure as amount. |
| createdAt | string (date-time) | Timestamp when the activity was created. |
| isComplete | boolean | Whether the activity has reached a terminal state. |
| transactionSource | object | Source details. Contains typename, id, and transactionEvents array. |
| transferStatus | object | Transfer status details. Contains status and statusReasonCode. |
| companyName | string | Company name associated with the activity, if applicable. |
| descriptor | object | ACH descriptor details. Contains companyEntryDescription, individualName, individualIdentificationNumber. |
| toFinancialAccount | object | Destination financial account for transfers. Contains id, name, last4, externalBankAccountDetails, provider. |
| fromFinancialAccount | object | Source financial account for transfers. Same structure as toFinancialAccount. |
| refundEvent | object | Transaction event for any associated refund. See transaction event fields below. |
| lastEvent | object | The most recent transaction event. See transaction event fields below. |
| firstEvent | object | The initial transaction event. See transaction event fields below. |
| isBetweenOwnAccounts | boolean | True if the transfer is between accounts owned by the same customer. |
| activityInfo | object | Profile-level context. Contains fromProfile, toProfile (each with id, name, agentId), and historyRecords array. |
| purpose | string | Purpose or memo attached to the activity. |
| giftCardOrderId | string | Gift card order identifier, if the activity relates to a gift card purchase. |
| memo | string | Free-text memo for the activity. |
| fromDBA | string | DBA (Doing Business As) name of the sender. |
| toDBA | string | DBA name of the recipient. |
Transaction event fields (used in lastEvent, firstEvent, refundEvent, and transactionSource.transactionEvents[])
| Field | Type | Description |
|---|---|---|
| typename | string | Event type name. |
| id | string | Unique event identifier. |
| merchantDetails | object | Merchant info: category, categoryCode, countryCodeAlpha3, description, name, merchantId. |
| pointOfServiceDetails | object | POS entry details: panEntryMode, pinEntryMode. |
| responseCode | string | Authorization response code. |
| responseDescription | string | Human-readable description of the response code. |
| approvedAmount | object | Approved transaction amount (value + currencyCode). |
| requestedAmount | object | Originally requested amount (value + currencyCode). |
| paymentCard | object | Card used: id, bin, last4. |
| createdAt | string (date-time) | Event creation timestamp. |
| authorizationExpiration | string (date-time) | When the authorization expires, if applicable. |
| processingType | string | How the transaction was processed (e.g., SIGNATURE, PIN). |
| rewardPoints | integer (int64) | Reward points earned on this event, if applicable. |
| accountingDirection | string (enum) | Direction of the accounting entry. One of: DEBIT, CREDIT. |
{
"data": {
"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_a1b2c3d4e5f6",
"typename": "CardTransaction",
"name": "Coffee Shop Purchase",
"typeModel": "CARD_TRANSACTION",
"amount": {
"value": 650,
"currencyCode": "USD"
},
"pendingAmount": {
"value": 0,
"currencyCode": "USD"
},
"lastEventBalanceSnapshot": {
"value": 248750,
"currencyCode": "USD"
},
"createdAt": "2026-02-14T10:32:00Z",
"isComplete": true,
"transactionSource": {
"typename": "CardTransactionSource",
"id": "src_z9y8x7",
"transactionEvents": []
},
"transferStatus": null,
"companyName": "Brew House LLC",
"descriptor": null,
"toFinancialAccount": null,
"fromFinancialAccount": null,
"refundEvent": null,
"lastEvent": {
"typename": "CardTransactionEvent",
"id": "evt_p1q2r3",
"merchantDetails": {
"category": "Food & Beverage",
"categoryCode": "5812",
"countryCodeAlpha3": "USA",
"description": "Eating Places, Restaurants",
"name": "Brew House LLC",
"merchantId": "mid_11223344"
},
"pointOfServiceDetails": {
"panEntryMode": "CHIP",
"pinEntryMode": "NOT_REQUIRED"
},
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 650,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 650,
"currencyCode": "USD"
},
"paymentCard": {
"id": "card_virt_0099",
"bin": "411111",
"last4": "4242"
},
"createdAt": "2026-02-14T10:32:00Z",
"authorizationExpiration": null,
"processingType": "CHIP",
"rewardPoints": 6,
"accountingDirection": "DEBIT"
},
"firstEvent": {
"typename": "CardAuthorizationEvent",
"id": "evt_m7n8o9",
"merchantDetails": {
"category": "Food & Beverage",
"categoryCode": "5812",
"countryCodeAlpha3": "USA",
"description": "Eating Places, Restaurants",
"name": "Brew House LLC",
"merchantId": "mid_11223344"
},
"pointOfServiceDetails": {
"panEntryMode": "CHIP",
"pinEntryMode": "NOT_REQUIRED"
},
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 650,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 650,
"currencyCode": "USD"
},
"paymentCard": {
"id": "card_virt_0099",
"bin": "411111",
"last4": "4242"
},
"createdAt": "2026-02-14T10:31:55Z",
"authorizationExpiration": "2026-02-21T10:31:55Z",
"processingType": "CHIP",
"rewardPoints": null,
"accountingDirection": "DEBIT"
},
"isBetweenOwnAccounts": false,
"activityInfo": {
"fromProfile": {
"id": 10042,
"name": "Acme Corp",
"agentId": 5001
},
"toProfile": null,
"historyRecords": [
{
"date": "2026-02-14T10:31:55Z",
"status": "PENDING"
},
{
"date": "2026-02-14T10:32:00Z",
"status": "COMPLETED"
}
]
},
"purpose": null,
"giftCardOrderId": null,
"memo": null,
"fromDBA": "Acme Corp",
"toDBA": null
}
]
},
"filter": {
"all": { "displayName": "All", "value": false },
"deposit": { "displayName": "Deposits", "value": true },
"transfers": { "displayName": "Transfers", "value": true },
"pos": { "displayName": "POS", "value": false },
"withdraw": { "displayName": "Withdrawals", "value": false },
"transactionStatus": { "displayName": "Status", "value": false },
"others": { "displayName": "Others", "value": false }
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (financialAccountId, dateFrom, or dateTo), invalid date format, or pagination values out of range. |
| 401 | Token missing, expired, or invalid. |
| 403 | The authenticated partner does not have permission to access the specified profile's account activity. |
| 404 | The specified profileId or financialAccountId does not exist. |
| 500 | Internal server error. |
Common Mistakes
- Omitting
financialAccountIdin the request body — it is required at the base level even though the path containsprofileId. The path parameter identifies the customer profile; the body field identifies which of their financial accounts to query. - Providing
dateFromanddateToin a non-ISO 8601 format or omitting timezone information, which can cause unexpected range boundaries. - Setting
taketo 0 or a value above 10000 — the schema enforces a minimum of 1 and maximum of 10000 per page. - Providing
minValue/maxValuein dollars instead of minor currency units (cents). All amount fields use integer minor units (e.g., $10.00 =1000). - Assuming the endpoint returns only card transactions — it returns merged activity including ACH transfers and internal transfers, distinguished by the
typenamefield. - Using this endpoint for real-time balance checks —
lastEventBalanceSnapshotreflects the balance at the time of the last event, not necessarily the current live balance.
Related Endpoints
POST /netevia/financialAccount/{profileId}— Retrieve financial account details for a profilePOST /netevia/transfer/{profileId}— Initiate a transfer from a financial accountGET /netevia/financialAccount/{profileId}/{financialAccountId}— Get a single financial account by IDPOST /netevia/financialAccountActivity/export/{profileId}— Export financial account activity as a file
Example
curl -X POST https://api.banking.netevia.dev/netevia/financialAccountActivity/10042 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"financialAccountId": "fa_0987654321abcdef",
"dateFrom": "2026-01-01T00:00:00Z",
"dateTo": "2026-03-31T23:59:59Z",
"status": "COMPLETED",
"filter": {
"all": { "displayName": "All", "value": false },
"deposit": { "displayName": "Deposits", "value": true },
"transfers": { "displayName": "Transfers", "value": true },
"pos": { "displayName": "POS", "value": false },
"withdraw": { "displayName": "Withdrawals", "value": false },
"transactionStatus": { "displayName": "Status", "value": false },
"others": { "displayName": "Others", "value": false }
},
"amountFilter": {
"minValue": 500,
"maxValue": 100000
},
"searchString": "payroll",
"paginationSettings": {
"take": 50,
"skip": 0
}
}'