Get Last Transaction Events
This endpoint retrieves the most recent transaction events associated with a specific payment card. It supports filtering by date range, amount range, transaction type, and keyword search, and returns paginated results with full financial event details including merchant information, amounts, and status history.
Endpoint
POST /api/transactionEvents/last/v2
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 display a customer's recent card activity in a dashboard or transaction history view. It is well-suited for scenarios where you need to surface the latest financial events quickly, optionally narrowing results by amount thresholds or transaction categories such as deposits, withdrawals, or point-of-sale purchases.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
paymentCardId | string | Yes | The unique identifier of the payment card whose transaction events are being retrieved |
dateFrom | string (date-time) | Yes | Start of the date range for filtering transactions (ISO 8601 format) |
dateTo | string (date-time) | Yes | End of the date range for filtering transactions (ISO 8601 format) |
filter | object | No | Transaction type filter controlling which categories of transactions to include |
filter.all | object | No | Filter item to include all transaction types |
filter.deposit | object | No | Filter item to include deposit transactions |
filter.withdraw | object | No | Filter item to include withdrawal transactions |
filter.pos | object | No | Filter item to include point-of-sale transactions |
filter.transactionStatus | object | No | Filter item to include transactions by status |
filter.*.value | boolean | No | Whether this filter category is active |
filter.*.displayName | string | No | Display label for the filter category |
filter.*.items | array | No | Nested sub-filter items for this category |
jsonFilter | string | No | Raw JSON string for advanced custom filtering |
amountFilter | object | No | Restricts results to transactions within a specified amount range |
amountFilter.minValue | integer (int64) | No | Minimum transaction amount in smallest currency unit (e.g., cents) |
amountFilter.maxValue | integer (int64) | No | Maximum transaction amount in smallest currency unit (e.g., cents) |
searchString | string | No | Free-text keyword search applied against transaction descriptions or merchant names |
paginationSettings | object | No | Controls result pagination |
paginationSettings.take | integer (int32) | No | Number of records to return per page; minimum 1, maximum 10000 |
paginationSettings.skip | integer (int32) | No | Number of records to skip for offset-based pagination; minimum 0 |
{
"paymentCardId": "card_8f3a12bc9e4d7056",
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-06-08T23:59:59Z",
"filter": {
"all": { "value": false },
"deposit": { "value": false },
"withdraw": { "value": false },
"pos": { "value": true },
"transactionStatus": { "value": false }
},
"amountFilter": {
"minValue": 100,
"maxValue": 50000
},
"searchString": "grocery",
"paginationSettings": {
"take": 25,
"skip": 0
}
}Response
200 OK
| Field | Type | Description |
|---|---|---|
data | array | List of financial activity records matching the filter criteria |
data[].id | string | Unique identifier of the financial activity record |
data[].financialAccountId | string | Identifier of the financial account associated with this activity |
data[].date | string (date-time) | Date and time of the transaction |
data[].sortDate | string (date-time) | Date used for sorting purposes (may differ from date) |
data[].balance | object | Account balance at the time of this transaction |
data[].balance.value | integer (int64) | Balance value in smallest currency unit |
data[].balance.currencyCode | string | ISO 4217 currency code (e.g., USD) |
data[].status | string | Transaction status: OTHER, PENDING, COMPLETED, or FAILED |
data[].riskHold | boolean | Whether the transaction is held due to a risk review |
data[].settlementDate | string (date-time) | Date the transaction settled; null if not yet settled |
data[].purpose | string | Descriptive purpose of the transaction |
data[].statusReasonCode | string | Machine-readable reason code associated with the transaction status |
data[].amount | object | Transaction amount with currency symbol |
data[].amount.value | integer (int64) | Amount value in smallest currency unit |
data[].amount.currencyCode | string | ISO 4217 currency code |
data[].amount.symbol | string | Currency symbol (e.g., $) |
data[].clearAmount | object | Cleared (settled) amount; same structure as amount |
data[].pendingAmount | object | Pending portion of the amount; same structure as balance |
data[].name | string | Display name for the transaction (e.g., merchant name or transfer description) |
data[].last4 | object | Last 4 digits identifier for the card or account involved |
data[].last4.type | string | Type of identifier: CARD or ACCOUNT |
data[].last4.value | string | Last 4 digits value |
data[].type | string | Transaction type label (read-only) |
data[].authorizedUser | string | Name of the authorized user who initiated the transaction, if applicable |
data[].merchantCategory | string | Merchant category description for point-of-sale transactions |
data[].transactionSource | object | Source transaction details |
data[].transactionSource.typename | string | Type name of the source transaction |
data[].transactionSource.id | string | Source transaction identifier |
data[].transactionSource.transactionEvents | array | Nested transaction events for this source |
data[].rewardPoints | integer (int64) | Reward points earned from this transaction, if applicable |
data[].activityInfo | object | Additional activity metadata including profile and history information |
data[].activityInfo.fromProfile | object | Profile that originated the transaction |
data[].activityInfo.fromProfile.id | integer (int32) | Profile identifier |
data[].activityInfo.fromProfile.name | string | Profile display name |
data[].activityInfo.fromProfile.agentId | integer (int32) | Agent identifier associated with the profile |
data[].activityInfo.toProfile | object | Profile that received the transaction; same structure as fromProfile |
data[].activityInfo.historyRecords | array | Ordered list of status change history records |
data[].activityInfo.historyRecords[].date | string (date-time) | Timestamp of the status change |
data[].activityInfo.historyRecords[].status | string | Status value at that point in time |
data[].financialEvent | object | Detailed financial event record |
data[].financialEvent.id | string | Financial event identifier |
data[].financialEvent.accountingDirection | string | Direction of funds: DEBIT or CREDIT |
data[].financialEvent.processingType | string | Processing method (e.g., ACH, card network) |
data[].financialEvent.typename | string | Type name of the financial event |
data[].financialEvent.merchantDetails | object | Merchant information for card-based transactions |
data[].financialEvent.merchantDetails.name | string | Merchant name |
data[].financialEvent.merchantDetails.category | string | Merchant category description |
data[].financialEvent.merchantDetails.categoryCode | string | Merchant category code (MCC) |
data[].financialEvent.merchantDetails.countryCodeAlpha3 | string | ISO 3166-1 alpha-3 country code |
data[].financialEvent.merchantDetails.description | string | Additional merchant description |
data[].financialEvent.merchantDetails.merchantId | string | Merchant identifier |
data[].financialEvent.paymentCard | object | Payment card details associated with this event |
data[].financialEvent.paymentCard.id | string | Payment card identifier |
data[].financialEvent.paymentCard.bin | string | Bank identification number (first 6 digits) |
data[].financialEvent.paymentCard.last4 | string | Last 4 digits of the card number |
data[].financialEvent.amount | object | Final amount of the event |
data[].financialEvent.approvedAmount | object | Amount approved by the network |
data[].financialEvent.requestedAmount | object | Original amount requested |
data[].financialEvent.originalAmount | object | Original pre-adjustment amount |
data[].financialEvent.status | string | Event-level status |
data[].financialEvent.statusReason | string | Human-readable reason for the event status |
data[].financialEvent.memo | string | Optional memo or note on the event |
data[].financialEvent.purpose | string | Purpose of the financial event |
data[].financialEvent.transferActivityType | string | Type of transfer activity if applicable |
data[].financialEvent.createdAt | string (date-time) | Timestamp when the event was created |
data[].financialEvent.updatedAt | string (date-time) | Timestamp when the event was last updated |
data[].financialEvent.settlementDate | string (date-time) | Settlement date of the event |
data[].financialEvent.returnDate | string (date-time) | Date the event was returned, if applicable |
data[].financialEvent.partial | boolean | Whether only a partial amount was processed |
data[].financialEvent.toFinancialAccount | object | Destination financial account for transfer events |
data[].financialEvent.fromFinancialAccount | object | Source financial account for transfer events |
data[].financialEvent.companyName | string | Company name for ACH transactions |
data[].financialEvent.companyIdentifier | string | Company identifier for ACH transactions |
data[].financialEvent.companyEntryDescription | string | ACH company entry description |
data[].financialEvent.transfer | object | Electronic funds transfer details |
data[].financialEvent.transfer.id | string | Transfer identifier |
data[].financialEvent.transfer.fundsAvailableDate | string (date-time) | Date funds become available |
data[].financialEvent.transfer.descriptor | object | ACH descriptor details |
data[].financialEvent.responseCode | string | Network response code |
data[].financialEvent.avsResponseCode | string | Address Verification System (AVS) response code |
data[].financialEvent.cvvResponseCode | string | CVV verification response code |
data[].financialEvent.postalCodeResponseCode | string | Postal code verification response code |
filter | object | Echo of the transaction type filter applied to the request |
paginationSettings | object | Pagination metadata for the response |
paginationSettings.totalItems | integer (int32) | Total number of records matching the filter, used for calculating pages |
{
"data": [
{
"id": "evt_9c3f17a2b5e84d01",
"financialAccountId": "acct_4e7b22fd91a03c58",
"date": "2026-06-07T14:32:10Z",
"sortDate": "2026-06-07T14:32:10Z",
"balance": {
"value": 154320,
"currencyCode": "USD"
},
"status": "COMPLETED",
"riskHold": false,
"settlementDate": "2026-06-08T00:00:00Z",
"purpose": "PURCHASE",
"statusReasonCode": null,
"amount": {
"value": 4599,
"currencyCode": "USD",
"symbol": "$"
},
"clearAmount": {
"value": 4599,
"currencyCode": "USD",
"symbol": "$"
},
"pendingAmount": {
"value": 0,
"currencyCode": "USD"
},
"name": "Whole Foods Market",
"last4": {
"type": "CARD",
"value": "4321"
},
"type": "CARD_TRANSACTION",
"authorizedUser": null,
"merchantCategory": "Grocery Stores",
"transactionSource": {
"typename": "CardTransaction",
"id": "txn_a1b2c3d4e5f6",
"transactionEvents": []
},
"rewardPoints": 46,
"activityInfo": {
"fromProfile": null,
"toProfile": null,
"historyRecords": [
{ "date": "2026-06-07T14:32:10Z", "status": "PENDING" },
{ "date": "2026-06-08T00:00:00Z", "status": "COMPLETED" }
]
},
"financialEvent": {
"id": "fevt_3d9a84bc17e20f45",
"accountingDirection": "DEBIT",
"processingType": "CARD",
"typename": "CardAuthorizationFinancialEvent",
"merchantDetails": {
"name": "Whole Foods Market",
"category": "Grocery Stores",
"categoryCode": "5411",
"countryCodeAlpha3": "USA",
"description": "Grocery and Superstore",
"merchantId": "mch_78de3a901bc24f"
},
"paymentCard": {
"id": "card_8f3a12bc9e4d7056",
"bin": "411111",
"last4": "4321"
},
"amount": {
"value": 4599,
"currencyCode": "USD"
},
"approvedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"originalAmount": {
"value": 4599,
"currencyCode": "USD"
},
"status": "COMPLETED",
"statusReason": null,
"memo": null,
"purpose": "PURCHASE",
"transferActivityType": null,
"createdAt": "2026-06-07T14:32:10Z",
"updatedAt": "2026-06-08T00:00:00Z",
"settlementDate": "2026-06-08T00:00:00Z",
"returnDate": null,
"partial": false,
"toFinancialAccount": null,
"fromFinancialAccount": null,
"companyName": null,
"companyIdentifier": null,
"companyEntryDescription": null,
"transfer": null,
"responseCode": "00",
"avsResponseCode": "Y",
"cvvResponseCode": "M",
"postalCodeResponseCode": "Y"
}
}
],
"filter": {
"pos": { "displayName": "Point of Sale", "value": true, "items": null }
},
"paginationSettings": {
"totalItems": 1
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (paymentCardId, dateFrom, or dateTo) or validation error (e.g., take exceeds 10000) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access the specified payment card |
| 404 | Payment card not found or not associated with the authenticated user |
| 500 | Internal server error |
Common Mistakes
- Omitting
paymentCardId,dateFrom, ordateTo— all three are required and the request will fail with a 400 if any are missing - Providing
dateFromafterdateTo— the date range must be chronologically ordered - Setting
paginationSettings.takeabove 10000 — the schema enforces a maximum of 10000 records per page - Using
amountFilter.minValueormaxValuein dollars rather than cents — amount values must be in the smallest currency unit (e.g.,4599for $45.99) - Expecting the endpoint to return all cards — results are always scoped to a single
paymentCardIdper request
Related Endpoints
POST /api/transactionEvents/v2— Retrieves transaction events with full filter support, not limited to the most recentPOST /api/financialAccounts/activity/v2— Retrieves activity across a financial account rather than a specific cardGET /api/paymentCards/v2— Lists payment cards available for the authenticated user to use aspaymentCardIdvalues
Example
curl -X POST https://api.banking.netevia.dev/api/transactionEvents/last/v2 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"paymentCardId": "card_8f3a12bc9e4d7056",
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-06-08T23:59:59Z",
"filter": {
"all": { "value": false },
"deposit": { "value": false },
"withdraw": { "value": false },
"pos": { "value": true },
"transactionStatus": { "value": false }
},
"amountFilter": {
"minValue": 100,
"maxValue": 50000
},
"searchString": "grocery",
"paginationSettings": {
"take": 25,
"skip": 0
}
}'