Get financial account activity

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

ParameterTypeRequiredDescription
profileIdinteger (int32)YesThe 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)

FieldTypeRequiredDescription
financialAccountIdstringYesThe unique identifier of the financial account to query.
dateFromstring (date-time)YesStart of the activity date range (ISO 8601).
dateTostring (date-time)YesEnd of the activity date range (ISO 8601).
filterobjectNoTransaction type filter. Contains boolean filter items: all, deposit, withdraw, transfers, pos, transactionStatus, others.
jsonFilterstringNoOptional raw JSON filter string for advanced filtering.
spendEventsarray of stringNoList of spend event types to include in the results.
paymentCardIdstringNoFilter activity to transactions associated with a specific payment card ID.
statusstring (enum)NoFilter by activity status. One of: OTHER, PENDING, COMPLETED, FAILED.
paginationSettingsobjectNoPagination control. Contains take (1–10000) and skip (0–2147483647).

Variant 2 — Period + Amount Filter (financialaccountwithperiodandamountfilterrequest)

Extends Variant 1 with the following additional fields:

FieldTypeRequiredDescription
amountFilterobjectNoFilters results by transaction amount. Contains minValue (int64) and maxValue (int64), expressed in minor currency units (e.g., cents).
searchStringstringNoFree-text search string to match against activity records.

Variant 3 — Extended (financialaccountwithperiodandamountfilterrequestextension)

Extends Variant 2 with the following additional field:

FieldTypeRequiredDescription
financialAccountIdstringNoOverrides 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.

FieldTypeDescription
dataobjectMerged activity data. Contains transferPageInfo, transactionPageInfo, and activity array.
data.transferPageInfoarray of pageInfoPagination cursors and flags for transfer results. Each item has startCursor, endCursor, hasNextPage, hasPreviousPage.
data.transactionPageInfoobjectPagination cursors and flags for transaction results. Fields: startCursor, endCursor, hasNextPage, hasPreviousPage.
data.activityarray of activityItemList of merged activity records. See activity item fields below.
filterobjectThe resolved transaction type filter applied to the request.

Activity item fields (data.activity[])

FieldTypeDescription
idstringUnique identifier of the activity record.
typenamestringThe GraphQL type name of the activity (e.g., ACHTransfer, CardTransaction).
namestringHuman-readable name or label for the activity.
typeModelstringInternal model type classification.
amountobjectSettled amount. Contains value (int64, minor units) and currencyCode.
pendingAmountobjectPending/hold amount if applicable. Same structure as amount.
lastEventBalanceSnapshotobjectAccount balance after the last event. Same structure as amount.
createdAtstring (date-time)Timestamp when the activity was created.
isCompletebooleanWhether the activity has reached a terminal state.
transactionSourceobjectSource details. Contains typename, id, and transactionEvents array.
transferStatusobjectTransfer status details. Contains status and statusReasonCode.
companyNamestringCompany name associated with the activity, if applicable.
descriptorobjectACH descriptor details. Contains companyEntryDescription, individualName, individualIdentificationNumber.
toFinancialAccountobjectDestination financial account for transfers. Contains id, name, last4, externalBankAccountDetails, provider.
fromFinancialAccountobjectSource financial account for transfers. Same structure as toFinancialAccount.
refundEventobjectTransaction event for any associated refund. See transaction event fields below.
lastEventobjectThe most recent transaction event. See transaction event fields below.
firstEventobjectThe initial transaction event. See transaction event fields below.
isBetweenOwnAccountsbooleanTrue if the transfer is between accounts owned by the same customer.
activityInfoobjectProfile-level context. Contains fromProfile, toProfile (each with id, name, agentId), and historyRecords array.
purposestringPurpose or memo attached to the activity.
giftCardOrderIdstringGift card order identifier, if the activity relates to a gift card purchase.
memostringFree-text memo for the activity.
fromDBAstringDBA (Doing Business As) name of the sender.
toDBAstringDBA name of the recipient.

Transaction event fields (used in lastEvent, firstEvent, refundEvent, and transactionSource.transactionEvents[])

FieldTypeDescription
typenamestringEvent type name.
idstringUnique event identifier.
merchantDetailsobjectMerchant info: category, categoryCode, countryCodeAlpha3, description, name, merchantId.
pointOfServiceDetailsobjectPOS entry details: panEntryMode, pinEntryMode.
responseCodestringAuthorization response code.
responseDescriptionstringHuman-readable description of the response code.
approvedAmountobjectApproved transaction amount (value + currencyCode).
requestedAmountobjectOriginally requested amount (value + currencyCode).
paymentCardobjectCard used: id, bin, last4.
createdAtstring (date-time)Event creation timestamp.
authorizationExpirationstring (date-time)When the authorization expires, if applicable.
processingTypestringHow the transaction was processed (e.g., SIGNATURE, PIN).
rewardPointsinteger (int64)Reward points earned on this event, if applicable.
accountingDirectionstring (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

CodeWhen it happens
400Missing required fields (financialAccountId, dateFrom, or dateTo), invalid date format, or pagination values out of range.
401Token missing, expired, or invalid.
403The authenticated partner does not have permission to access the specified profile's account activity.
404The specified profileId or financialAccountId does not exist.
500Internal server error.

Common Mistakes

  • Omitting financialAccountId in the request body — it is required at the base level even though the path contains profileId. The path parameter identifies the customer profile; the body field identifies which of their financial accounts to query.
  • Providing dateFrom and dateTo in a non-ISO 8601 format or omitting timezone information, which can cause unexpected range boundaries.
  • Setting take to 0 or a value above 10000 — the schema enforces a minimum of 1 and maximum of 10000 per page.
  • Providing minValue/maxValue in 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 typename field.
  • Using this endpoint for real-time balance checks — lastEventBalanceSnapshot reflects 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 profile
  • POST /netevia/transfer/{profileId} — Initiate a transfer from a financial account
  • GET /netevia/financialAccount/{profileId}/{financialAccountId} — Get a single financial account by ID
  • POST /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
    }
  }'
Path Params
int32
required
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