Get last transaction events

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

FieldTypeRequiredDescription
paymentCardIdstringYesThe unique identifier of the payment card whose transaction events are being retrieved
dateFromstring (date-time)YesStart of the date range for filtering transactions (ISO 8601 format)
dateTostring (date-time)YesEnd of the date range for filtering transactions (ISO 8601 format)
filterobjectNoTransaction type filter controlling which categories of transactions to include
filter.allobjectNoFilter item to include all transaction types
filter.depositobjectNoFilter item to include deposit transactions
filter.withdrawobjectNoFilter item to include withdrawal transactions
filter.posobjectNoFilter item to include point-of-sale transactions
filter.transactionStatusobjectNoFilter item to include transactions by status
filter.*.valuebooleanNoWhether this filter category is active
filter.*.displayNamestringNoDisplay label for the filter category
filter.*.itemsarrayNoNested sub-filter items for this category
jsonFilterstringNoRaw JSON string for advanced custom filtering
amountFilterobjectNoRestricts results to transactions within a specified amount range
amountFilter.minValueinteger (int64)NoMinimum transaction amount in smallest currency unit (e.g., cents)
amountFilter.maxValueinteger (int64)NoMaximum transaction amount in smallest currency unit (e.g., cents)
searchStringstringNoFree-text keyword search applied against transaction descriptions or merchant names
paginationSettingsobjectNoControls result pagination
paginationSettings.takeinteger (int32)NoNumber of records to return per page; minimum 1, maximum 10000
paginationSettings.skipinteger (int32)NoNumber 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

FieldTypeDescription
dataarrayList of financial activity records matching the filter criteria
data[].idstringUnique identifier of the financial activity record
data[].financialAccountIdstringIdentifier of the financial account associated with this activity
data[].datestring (date-time)Date and time of the transaction
data[].sortDatestring (date-time)Date used for sorting purposes (may differ from date)
data[].balanceobjectAccount balance at the time of this transaction
data[].balance.valueinteger (int64)Balance value in smallest currency unit
data[].balance.currencyCodestringISO 4217 currency code (e.g., USD)
data[].statusstringTransaction status: OTHER, PENDING, COMPLETED, or FAILED
data[].riskHoldbooleanWhether the transaction is held due to a risk review
data[].settlementDatestring (date-time)Date the transaction settled; null if not yet settled
data[].purposestringDescriptive purpose of the transaction
data[].statusReasonCodestringMachine-readable reason code associated with the transaction status
data[].amountobjectTransaction amount with currency symbol
data[].amount.valueinteger (int64)Amount value in smallest currency unit
data[].amount.currencyCodestringISO 4217 currency code
data[].amount.symbolstringCurrency symbol (e.g., $)
data[].clearAmountobjectCleared (settled) amount; same structure as amount
data[].pendingAmountobjectPending portion of the amount; same structure as balance
data[].namestringDisplay name for the transaction (e.g., merchant name or transfer description)
data[].last4objectLast 4 digits identifier for the card or account involved
data[].last4.typestringType of identifier: CARD or ACCOUNT
data[].last4.valuestringLast 4 digits value
data[].typestringTransaction type label (read-only)
data[].authorizedUserstringName of the authorized user who initiated the transaction, if applicable
data[].merchantCategorystringMerchant category description for point-of-sale transactions
data[].transactionSourceobjectSource transaction details
data[].transactionSource.typenamestringType name of the source transaction
data[].transactionSource.idstringSource transaction identifier
data[].transactionSource.transactionEventsarrayNested transaction events for this source
data[].rewardPointsinteger (int64)Reward points earned from this transaction, if applicable
data[].activityInfoobjectAdditional activity metadata including profile and history information
data[].activityInfo.fromProfileobjectProfile that originated the transaction
data[].activityInfo.fromProfile.idinteger (int32)Profile identifier
data[].activityInfo.fromProfile.namestringProfile display name
data[].activityInfo.fromProfile.agentIdinteger (int32)Agent identifier associated with the profile
data[].activityInfo.toProfileobjectProfile that received the transaction; same structure as fromProfile
data[].activityInfo.historyRecordsarrayOrdered list of status change history records
data[].activityInfo.historyRecords[].datestring (date-time)Timestamp of the status change
data[].activityInfo.historyRecords[].statusstringStatus value at that point in time
data[].financialEventobjectDetailed financial event record
data[].financialEvent.idstringFinancial event identifier
data[].financialEvent.accountingDirectionstringDirection of funds: DEBIT or CREDIT
data[].financialEvent.processingTypestringProcessing method (e.g., ACH, card network)
data[].financialEvent.typenamestringType name of the financial event
data[].financialEvent.merchantDetailsobjectMerchant information for card-based transactions
data[].financialEvent.merchantDetails.namestringMerchant name
data[].financialEvent.merchantDetails.categorystringMerchant category description
data[].financialEvent.merchantDetails.categoryCodestringMerchant category code (MCC)
data[].financialEvent.merchantDetails.countryCodeAlpha3stringISO 3166-1 alpha-3 country code
data[].financialEvent.merchantDetails.descriptionstringAdditional merchant description
data[].financialEvent.merchantDetails.merchantIdstringMerchant identifier
data[].financialEvent.paymentCardobjectPayment card details associated with this event
data[].financialEvent.paymentCard.idstringPayment card identifier
data[].financialEvent.paymentCard.binstringBank identification number (first 6 digits)
data[].financialEvent.paymentCard.last4stringLast 4 digits of the card number
data[].financialEvent.amountobjectFinal amount of the event
data[].financialEvent.approvedAmountobjectAmount approved by the network
data[].financialEvent.requestedAmountobjectOriginal amount requested
data[].financialEvent.originalAmountobjectOriginal pre-adjustment amount
data[].financialEvent.statusstringEvent-level status
data[].financialEvent.statusReasonstringHuman-readable reason for the event status
data[].financialEvent.memostringOptional memo or note on the event
data[].financialEvent.purposestringPurpose of the financial event
data[].financialEvent.transferActivityTypestringType of transfer activity if applicable
data[].financialEvent.createdAtstring (date-time)Timestamp when the event was created
data[].financialEvent.updatedAtstring (date-time)Timestamp when the event was last updated
data[].financialEvent.settlementDatestring (date-time)Settlement date of the event
data[].financialEvent.returnDatestring (date-time)Date the event was returned, if applicable
data[].financialEvent.partialbooleanWhether only a partial amount was processed
data[].financialEvent.toFinancialAccountobjectDestination financial account for transfer events
data[].financialEvent.fromFinancialAccountobjectSource financial account for transfer events
data[].financialEvent.companyNamestringCompany name for ACH transactions
data[].financialEvent.companyIdentifierstringCompany identifier for ACH transactions
data[].financialEvent.companyEntryDescriptionstringACH company entry description
data[].financialEvent.transferobjectElectronic funds transfer details
data[].financialEvent.transfer.idstringTransfer identifier
data[].financialEvent.transfer.fundsAvailableDatestring (date-time)Date funds become available
data[].financialEvent.transfer.descriptorobjectACH descriptor details
data[].financialEvent.responseCodestringNetwork response code
data[].financialEvent.avsResponseCodestringAddress Verification System (AVS) response code
data[].financialEvent.cvvResponseCodestringCVV verification response code
data[].financialEvent.postalCodeResponseCodestringPostal code verification response code
filterobjectEcho of the transaction type filter applied to the request
paginationSettingsobjectPagination metadata for the response
paginationSettings.totalItemsinteger (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

CodeWhen it happens
400Missing required fields (paymentCardId, dateFrom, or dateTo) or validation error (e.g., take exceeds 10000)
401Token missing, expired, or invalid
403Insufficient permissions to access the specified payment card
404Payment card not found or not associated with the authenticated user
500Internal server error

Common Mistakes

  • Omitting paymentCardId, dateFrom, or dateTo — all three are required and the request will fail with a 400 if any are missing
  • Providing dateFrom after dateTo — the date range must be chronologically ordered
  • Setting paginationSettings.take above 10000 — the schema enforces a maximum of 10000 records per page
  • Using amountFilter.minValue or maxValue in dollars rather than cents — amount values must be in the smallest currency unit (e.g., 4599 for $45.99)
  • Expecting the endpoint to return all cards — results are always scoped to a single paymentCardId per request

Related Endpoints

  • POST /api/transactionEvents/v2 — Retrieves transaction events with full filter support, not limited to the most recent
  • POST /api/financialAccounts/activity/v2 — Retrieves activity across a financial account rather than a specific card
  • GET /api/paymentCards/v2 — Lists payment cards available for the authenticated user to use as paymentCardId values

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
    }
  }'
Body Params
amountFilter
object
string | null
paginationSettings
object
string
required
length ≥ 1
date-time
required
date-time
required
filter
object
string | null
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request 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