Get last Financial account activity

Get Last Financial Account Activity

The POST /api/transaction/v3/byFinancialAccount/server endpoint retrieves a filtered and paginated list of the most recent transactions for a specified financial account. It supports date range filtering, transaction type filtering, amount range filtering, and keyword search to help partners surface relevant account activity. Results include full transaction details such as status, amounts, merchant data, card identifiers, and transfer metadata.

Endpoint

POST /api/transaction/v3/byFinancialAccount/server

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 transaction history within your application, including account statements, activity feeds, and balance reconciliation views. It is suitable for both business and personal customer contexts where you need to present recent account activity with flexible filtering. The server-side variant is intended for backend integrations that need to query transactions on behalf of a customer without direct client involvement.

Request Body

The request body accepts one of two schemas. The base schema (financialaccountwithperiodandamountfilterrequest) is the standard form. The extension (financialaccountwithperiodandamountfilterrequestextension) adds an optional override for financialAccountId.

All fields from the inheritance chain are listed below:

FieldTypeRequiredDescription
financialAccountIdstringYesThe unique identifier of the financial account to query.
dateFromstring (date-time)YesStart of the date range for the transaction query (ISO 8601).
dateTostring (date-time)YesEnd of the date range for the transaction query (ISO 8601).
amountFilterobjectNoOptional amount range filter (see amountFilter fields below).
amountFilter.minValueinteger (int64)NoMinimum transaction amount in the smallest currency unit (e.g., cents).
amountFilter.maxValueinteger (int64)NoMaximum transaction amount in the smallest currency unit (e.g., cents).
searchStringstringNoFree-text keyword to search within transaction descriptions or merchant names.
filterobjectNoStructured transaction type filter (see filter fields below).
filter.allobject (filterItem)NoInclude all transaction types.
filter.depositobject (filterItem)NoFilter for deposit transactions.
filter.withdrawobject (filterItem)NoFilter for withdrawal transactions.
filter.transfersobject (filterItem)NoFilter for transfer transactions.
filter.posobject (filterItem)NoFilter for point-of-sale transactions.
filter.transactionStatusobject (filterItem)NoFilter by transaction status.
filter.othersobject (filterItem)NoFilter for other transaction types.
jsonFilterstringNoRaw JSON filter string for advanced filtering scenarios.
spendEventsarray of stringNoList of specific spend event types to include.
paymentCardIdstringNoFilter transactions by a specific payment card identifier.
statusstring (enum)NoFilter by transaction status. One of: OTHER, PENDING, COMPLETED, FAILED.
paginationSettingsobjectNoPagination controls (see fields below).
paginationSettings.takeinteger (int32)NoNumber of records to return. Range: 1–10000.
paginationSettings.skipinteger (int32)NoNumber of records to skip. Range: 0–2147483647.
{
  "financialAccountId": "fa_abc123def456",
  "dateFrom": "2026-05-01T00:00:00Z",
  "dateTo": "2026-06-01T00:00:00Z",
  "amountFilter": {
    "minValue": 100,
    "maxValue": 50000
  },
  "searchString": "coffee",
  "status": "COMPLETED",
  "filter": {
    "pos": {
      "displayName": "Point of Sale",
      "value": true
    }
  },
  "paginationSettings": {
    "take": 25,
    "skip": 0
  }
}

Response

200 OK

FieldTypeDescription
dataarrayList of financial activity records matching the query.
data[].idstringUnique identifier for the activity record.
data[].financialAccountIdstringFinancial account the activity belongs to.
data[].datestring (date-time)Date and time of the transaction.
data[].sortDatestring (date-time)Date used for sorting the activity.
data[].balanceobjectAccount balance after the transaction (value in cents, currencyCode).
data[].statusstring (enum)Transaction status: OTHER, PENDING, COMPLETED, FAILED.
data[].riskHoldbooleanWhether the transaction is on a risk hold.
data[].settlementDatestring (date-time)Date the transaction settled, if applicable.
data[].purposestringStated purpose or memo for the transaction.
data[].statusReasonCodestringMachine-readable reason code for the current status.
data[].amountobjectTransaction amount (value in cents, currencyCode, symbol).
data[].clearAmountobjectCleared amount (value, currencyCode, symbol).
data[].pendingAmountobjectPending portion of the transaction amount (value, currencyCode).
data[].namestringDisplay name or description of the transaction.
data[].last4objectLast 4 digits context: type (CARD or ACCOUNT) and value.
data[].typestringTransaction type label (read-only).
data[].authorizedUserstringName or identifier of the authorized user who made the transaction.
data[].merchantCategorystringMerchant category label.
data[].rewardPointsinteger (int64)Reward points earned on this transaction, if applicable.
data[].transactionSourceobjectSource transaction reference: typename, id, and transactionEvents array.
data[].activityInfoobjectActivity metadata: fromProfile, toProfile, and historyRecords.
data[].financialEventobjectDetailed financial event data including merchant details, card info, amounts, ACH fields, and response codes.
filterobjectEcho of the transaction type filter applied to the query.
paginationResponseobjectPagination metadata.
paginationResponse.totalItemsinteger (int32)Total number of records matching the query before pagination.
{
  "data": [
    {
      "id": "evt_9f8e7d6c5b4a",
      "financialAccountId": "fa_abc123def456",
      "date": "2026-05-28T14:32:00Z",
      "sortDate": "2026-05-28T14:32:00Z",
      "balance": {
        "value": 245000,
        "currencyCode": "USD"
      },
      "status": "COMPLETED",
      "riskHold": false,
      "settlementDate": "2026-05-29T00:00:00Z",
      "purpose": "PURCHASE",
      "statusReasonCode": null,
      "amount": {
        "value": 1250,
        "currencyCode": "USD",
        "symbol": "$"
      },
      "clearAmount": {
        "value": 1250,
        "currencyCode": "USD",
        "symbol": "$"
      },
      "pendingAmount": {
        "value": 0,
        "currencyCode": "USD"
      },
      "name": "Blue Bottle Coffee",
      "last4": {
        "type": "CARD",
        "value": "4321"
      },
      "type": "CARD_TRANSACTION",
      "authorizedUser": null,
      "merchantCategory": "Restaurants",
      "rewardPoints": 12,
      "transactionSource": {
        "typename": "CardTransaction",
        "id": "txn_1a2b3c4d",
        "transactionEvents": [
          {
            "typename": "CardAuthorization",
            "id": "auth_5e6f7g8h",
            "merchantDetails": {
              "category": "Eating Places, Restaurants",
              "categoryCode": "5812",
              "countryCodeAlpha3": "USA",
              "description": "Coffee Shop",
              "name": "Blue Bottle Coffee",
              "merchantId": "mid_xyz789"
            },
            "pointOfServiceDetails": {
              "panEntryMode": "CHIP",
              "pinEntryMode": "NOT_A_PIN_TRANSACTION"
            },
            "responseCode": "APPROVED",
            "responseDescription": "Approved",
            "approvedAmount": {
              "value": 1250,
              "currencyCode": "USD"
            },
            "requestedAmount": {
              "value": 1250,
              "currencyCode": "USD"
            },
            "paymentCard": {
              "id": "pc_card001",
              "bin": "411111",
              "last4": "4321"
            },
            "createdAt": "2026-05-28T14:32:00Z",
            "authorizationExpiration": "2026-06-04T14:32:00Z",
            "processingType": "DUAL_MESSAGE",
            "rewardPoints": 12,
            "accountingDirection": "DEBIT"
          }
        ]
      },
      "activityInfo": null,
      "financialEvent": null
    }
  ],
  "filter": {
    "pos": {
      "displayName": "Point of Sale",
      "value": true
    }
  },
  "paginationResponse": {
    "totalItems": 1
  }
}

Error Codes

CodeWhen it happens
400Missing required fields (financialAccountId, dateFrom, or dateTo), invalid date format, or take value out of range (1–10000)
401Token missing, expired, or invalid
403Insufficient permissions to access the specified financial account
404Financial account not found
500Internal server error

Common Mistakes

  • Omitting financialAccountId, dateFrom, or dateTo — all three are required fields; the request will fail with a 400 error.
  • Providing dates outside ISO 8601 date-time format — use the YYYY-MM-DDTHH:MM:SSZ format consistently for dateFrom and dateTo.
  • Setting paginationSettings.take to 0 or above 10000 — the allowed range is 1 to 10000; values outside this range will cause a validation error.
  • Using amountFilter values in dollars instead of cents — all monetary amounts are expressed in the smallest currency unit (e.g., 1250 represents $12.50 USD).
  • Querying a financialAccountId that belongs to a different customer profile — the token's partner scope must have access to the target account.

Related Endpoints

  • POST /api/transaction/v3/byFinancialAccount — Client-facing variant for retrieving financial account activity.
  • GET /api/financialaccount/v2/{financialAccountId} — Retrieve details and current balance for a specific financial account.
  • POST /api/financialaccount/v2/list — List all financial accounts associated with a customer profile.

Example

curl -X POST https://api.banking.netevia.dev/api/transaction/v3/byFinancialAccount/server \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "financialAccountId": "fa_abc123def456",
    "dateFrom": "2026-05-01T00:00:00Z",
    "dateTo": "2026-06-01T00:00:00Z",
    "amountFilter": {
      "minValue": 100,
      "maxValue": 50000
    },
    "searchString": "coffee",
    "status": "COMPLETED",
    "paginationSettings": {
      "take": 25,
      "skip": 0
    }
  }'
Body Params
amountFilter
object
string | null
filter
object
string | null
spendEvents
array of strings | null
spendEvents
string | null
string
enum
Allowed:
paginationSettings
object
date-time
required
date-time
required
string
required
length ≥ 1
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