Get last Financial account activity

Get Last Financial Account Activity

This endpoint retrieves a merged list of recent transaction activities for a specified financial account. It returns detailed records including transaction amounts, dates, descriptions, transfer details, and merchant information. Pagination, status filtering, and amount range filters are all supported to refine the result set.

Endpoint

POST /api/transaction/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 when you need real-time visibility into account activity for a specific financial account — for example, to populate a transaction history view, audit recent debits and credits, or monitor pending activity. It is suited for server-side calls where a date range and optional filters are applied to narrow the results. Both business and personal account activity can be queried.

Request Body

The request body accepts one of three schema variants. All variants extend a common base that requires financialAccountId, dateFrom, and dateTo. The extended variants add amount-range filtering and free-text search.

Base fields (all variants)

FieldTypeRequiredDescription
financialAccountIdstringYesUnique identifier of the financial account to query
dateFromstring (date-time)YesStart of the date range (ISO 8601 format)
dateTostring (date-time)YesEnd of the date range (ISO 8601 format)
filterobjectNoTransaction type filter (see finaccounttransactionfilter below)
jsonFilterstringNoRaw JSON filter string for advanced filtering
spendEventsarray of stringsNoList of spend event types to include
paymentCardIdstringNoFilter transactions by a specific payment card ID
statusstring (enum)NoFilter by activity status: OTHER, PENDING, COMPLETED, FAILED
paginationSettingsobjectNoPagination control (see below)

Extended variant: financialaccountwithperiodandamountfilterrequest

FieldTypeRequiredDescription
amountFilterobjectNoMin/max amount range filter (see below)
searchStringstringNoFree-text search string to filter transactions

Extended variant: financialaccountwithperiodandamountfilterrequestextension

FieldTypeRequiredDescription
financialAccountIdstringNoOverrides the inherited financialAccountId when used in this variant

paginationSettings object

FieldTypeRequiredDescription
takeinteger (1–10000)NoNumber of records to return
skipinteger (0–2147483647)NoNumber of records to skip (for offset-based pagination)

amountFilter object

FieldTypeRequiredDescription
minValueinteger (int64)NoMinimum transaction amount in cents
maxValueinteger (int64)NoMaximum transaction amount in cents

filter object (finaccounttransactionfilter)

FieldTypeRequiredDescription
allfilterItemNoInclude all transaction types
depositfilterItemNoFilter for deposit transactions
withdrawfilterItemNoFilter for withdrawal transactions
transfersfilterItemNoFilter for transfer transactions
posfilterItemNoFilter for point-of-sale transactions
transactionStatusfilterItemNoFilter by transaction status
othersfilterItemNoFilter for other transaction types

Each filterItem has the following structure:

FieldTypeDescription
displayNamestringHuman-readable label for the filter
valuebooleanWhether this filter is active
itemsarray of filterItemNested filter items
{
  "financialAccountId": "fa_abc123xyz",
  "dateFrom": "2026-05-01T00:00:00Z",
  "dateTo": "2026-06-01T00:00:00Z",
  "status": "COMPLETED",
  "paginationSettings": {
    "take": 25,
    "skip": 0
  },
  "amountFilter": {
    "minValue": 500,
    "maxValue": 100000
  },
  "searchString": "coffee",
  "filter": {
    "pos": {
      "displayName": "Point of Sale",
      "value": true
    }
  }
}

Response

200 OK

FieldTypeDescription
dataobjectMerged activity data container
data.transferPageInfoarray of pageInfoPagination info for transfer records
data.transactionPageInfopageInfoPagination info for transaction records
data.activityarray of activityResponseModelList of activity records
filterobjectThe resolved finaccounttransactionfilter applied to the query

pageInfo object

FieldTypeDescription
startCursorstringCursor pointing to the first record in this page
endCursorstringCursor pointing to the last record in this page
hasNextPagebooleanWhether more records exist after this page
hasPreviousPagebooleanWhether records exist before this page

activity item fields

FieldTypeDescription
idstringUnique identifier for the activity record
typenamestringGraphQL type name of the activity
namestringDisplay name or label for the transaction
typeModelstringInternal type model classification
pendingAmountamountPending amount object (value in cents + currency code)
amountamountSettled amount object (value in cents + currency code)
lastEventBalanceSnapshotamountAccount balance snapshot at the time of the last event
createdAtstring (date-time)Timestamp when the transaction was created
isCompletebooleanWhether the transaction has completed processing
transactionSourcesourceSource details of the transaction
transferStatustransferStatusStatus and reason code for transfer activities
companyNamestringName of the company associated with the transaction
descriptordescriptorACH descriptor fields (company entry, individual name, ID number)
toFinancialAccounttransferFinAccountDestination financial account details
fromFinancialAccounttransferFinAccountSource financial account details
refundEventtransactionEventDetails of a refund event if applicable
lastEventtransactionEventMost recent event for this transaction
firstEventtransactionEventInitial event for this transaction
isBetweenOwnAccountsbooleanWhether this is an internal transfer between the customer's own accounts
activityInfoactivityInfoProfile and history record metadata
purposestringPurpose memo or tag for the transaction
giftCardOrderIdstringAssociated gift card order ID if applicable
memostringFree-text memo attached to the transaction
fromDBAstringDBA name of the sending party
toDBAstringDBA name of the receiving party

amount object

FieldTypeDescription
valueinteger (int64)Amount in the smallest currency unit (e.g., cents)
currencyCodestringISO 4217 currency code (e.g., "USD")

transactionEvent object

FieldTypeDescription
typenamestringType of the event
idstringEvent identifier
merchantDetailsmerchantDetailsMerchant category, name, country, and ID
pointOfServiceDetailspointOfServiceDetailsPAN and PIN entry mode details
responseCodestringAuthorization response code
responseDescriptionstringHuman-readable response description
approvedAmountamountApproved amount
requestedAmountamountRequested authorization amount
paymentCardpaymentCardActivityCard bin and last 4 digits
createdAtstring (date-time)Event creation timestamp
authorizationExpirationstring (date-time)When the authorization expires
processingTypestringProcessing type (e.g., EMV, swipe, contactless)
rewardPointsinteger (int64)Reward points earned on this event
accountingDirectionstring (enum)DEBIT or CREDIT
{
  "data": {
    "transferPageInfo": [
      {
        "startCursor": "cursor_start_001",
        "endCursor": "cursor_end_025",
        "hasNextPage": false,
        "hasPreviousPage": false
      }
    ],
    "transactionPageInfo": {
      "startCursor": "cursor_start_001",
      "endCursor": "cursor_end_025",
      "hasNextPage": false,
      "hasPreviousPage": false
    },
    "activity": [
      {
        "id": "txn_9f8a7b6c5d",
        "typename": "CardTransaction",
        "name": "Purchase - Starbucks",
        "typeModel": "CARD_TRANSACTION",
        "pendingAmount": {
          "value": 0,
          "currencyCode": "USD"
        },
        "amount": {
          "value": 675,
          "currencyCode": "USD"
        },
        "lastEventBalanceSnapshot": {
          "value": 152340,
          "currencyCode": "USD"
        },
        "createdAt": "2026-05-15T10:22:00Z",
        "isComplete": true,
        "transactionSource": {
          "typename": "CardTransaction",
          "id": "src_abc123"
        },
        "transferStatus": null,
        "companyName": "Starbucks",
        "descriptor": {
          "companyEntryDescription": "PURCHASE",
          "individualName": "JOHN DOE",
          "individualIdentificationNumber": "REF0001"
        },
        "toFinancialAccount": null,
        "fromFinancialAccount": null,
        "lastEvent": {
          "typename": "CardTransactionEvent",
          "id": "evt_001",
          "merchantDetails": {
            "category": "Food & Beverage",
            "categoryCode": "5812",
            "countryCodeAlpha3": "USA",
            "description": "Eating Places, Restaurants",
            "name": "Starbucks",
            "merchantId": "merch_99887766"
          },
          "pointOfServiceDetails": {
            "panEntryMode": "CONTACTLESS",
            "pinEntryMode": "NOT_APPLICABLE"
          },
          "responseCode": "00",
          "responseDescription": "APPROVED",
          "approvedAmount": {
            "value": 675,
            "currencyCode": "USD"
          },
          "requestedAmount": {
            "value": 675,
            "currencyCode": "USD"
          },
          "paymentCard": {
            "id": "card_xyz456",
            "bin": "411111",
            "last4": "1234"
          },
          "createdAt": "2026-05-15T10:22:00Z",
          "authorizationExpiration": "2026-05-22T10:22:00Z",
          "processingType": "CONTACTLESS_EMV",
          "rewardPoints": 7,
          "accountingDirection": "DEBIT"
        },
        "isBetweenOwnAccounts": false,
        "activityInfo": {
          "fromProfile": {
            "id": 1001,
            "name": "Acme Corp",
            "agentId": 55
          },
          "toProfile": null,
          "historyRecords": [
            {
              "date": "2026-05-15T10:22:00Z",
              "status": "COMPLETED"
            }
          ]
        },
        "purpose": null,
        "giftCardOrderId": null,
        "memo": null,
        "fromDBA": "Acme Corp",
        "toDBA": "Starbucks"
      }
    ]
  },
  "filter": {
    "pos": {
      "displayName": "Point of Sale",
      "value": true,
      "items": null
    }
  }
}

Error Codes

CodeWhen it happens
400Missing required fields (financialAccountId, dateFrom, or dateTo), invalid date format, or pagination values out of range
401Token missing, expired, or invalid
403Insufficient permissions to access the specified financial account
404Financial account not found or does not belong to the authenticated user
500Internal server error

Common Mistakes

  • Omitting financialAccountId, dateFrom, or dateTo — all three are required on every request variant
  • Providing date strings in a non-ISO 8601 format; use YYYY-MM-DDTHH:MM:SSZ (UTC recommended)
  • Setting amountFilter.minValue or maxValue in dollars instead of cents — amounts are always in the smallest currency unit (e.g., $6.75 = 675)
  • Setting paginationSettings.take above 10000, which will result in a validation error
  • Using financialaccountwithperiodandamountfilterrequestextension and leaving financialAccountId null when it is actually required for the query

Related Endpoints

  • GET /api/financialAccount — Retrieve the list of financial accounts for the authenticated customer
  • POST /api/transaction/byFinancialAccount — Client-facing variant of this transaction query endpoint
  • POST /api/transfer — Initiate a transfer between financial accounts
  • POST /api/auth/v2 — Obtain a Bearer token for authentication

Example

curl -X POST https://api.banking.netevia.dev/api/transaction/byFinancialAccount/server \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "financialAccountId": "fa_abc123xyz",
    "dateFrom": "2026-05-01T00:00:00Z",
    "dateTo": "2026-06-01T00:00:00Z",
    "status": "COMPLETED",
    "paginationSettings": {
      "take": 25,
      "skip": 0
    },
    "amountFilter": {
      "minValue": 500,
      "maxValue": 100000
    },
    "searchString": "coffee"
  }'
Body Params
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