Get Transactions (Daily Spending Report)
This endpoint retrieves a list of financial account transactions for reporting purposes, with a primary focus on generating Daily Spending Reports. It supports cursor-based pagination, date range filtering, and custom JSON filters, making it suitable for both real-time dashboards and scheduled batch reporting workflows.
Endpoint
POST /Report/transactions
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 generate a Daily Spending Report or audit transaction history across financial accounts. It is ideal for partners building reporting dashboards, reconciliation tools, or compliance exports that require flexible filtering by date range, transaction type, and account attributes. Access to this endpoint requires the Daily Spending Report permission to be enabled on your partner account.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| cardProductId | string | No | Filter transactions to a specific card product. |
| take | integer (int32) | No | Number of transactions to retrieve per page. Set to null to fetch all transactions in a single response. |
| afterCursor | string | No | Pagination cursor from a previous response. Use the endCursor value from transactionPageInfo to fetch the next page. |
| fromDate | string (date-time) | No | Start of the date range (inclusive). ISO 8601 format. Only transactions on or after this date are returned. |
| toDate | string (date-time) | No | End of the date range (inclusive). ISO 8601 format. Only transactions on or before this date are returned. |
| jsonFilter | string | No | Optional JSON-formatted string for applying custom filters such as transaction type, account ID, or merchant details. |
{
"cardProductId": "prod_abc123",
"take": 25,
"afterCursor": null,
"fromDate": "2026-06-01T00:00:00Z",
"toDate": "2026-06-09T23:59:59Z",
"jsonFilter": "{\"transactionType\":\"POS\"}"
}Response
200 OK
The response contains a data object with merged activity records and pagination info, plus a filter object describing the available filter categories.
Top-level fields:
| Field | Type | Description |
|---|---|---|
| data | object | Contains paginated transaction activity and pagination metadata. |
| data.transferPageInfo | array | Pagination info objects for transfer records. Each item contains startCursor, endCursor, hasNextPage, hasPreviousPage. |
| data.transactionPageInfo | object | Pagination info for card transactions. Contains startCursor, endCursor, hasNextPage, hasPreviousPage. |
| data.activity | array | List of transaction/transfer activity records. |
| filter | object | Available filter categories for the result set (see filter fields below). |
Activity record fields (data.activity[]):
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the activity record. |
| typename | string | Type name of the activity (e.g., CardTransaction, Transfer). |
| name | string | Human-readable name or label for the transaction. |
| typeModel | string | Internal type model identifier. |
| pendingAmount | object | Pending amount with value (int64, in cents) and currencyCode. |
| amount | object | Settled amount with value (int64, in cents) and currencyCode. |
| lastEventBalanceSnapshot | object | Account balance after the last event, with value and currencyCode. |
| createdAt | string (date-time) | Timestamp when the activity was created. |
| isComplete | boolean | Whether the transaction has fully settled. |
| transactionSource | object | Source details including typename, id, and transactionEvents array. |
| transferStatus | object | Transfer status with status and statusReasonCode fields. |
| companyName | string | Company name associated with the transaction. |
| descriptor | object | ACH descriptor with companyEntryDescription, individualName, and individualIdentificationNumber. |
| toFinancialAccount | object | Destination financial account with id, name, last4, externalBankAccountDetails, and provider. |
| fromFinancialAccount | object | Source financial account with id, name, last4, externalBankAccountDetails, and provider. |
| refundEvent | object | Event data for any associated refund (see transaction event fields below). |
| lastEvent | object | Most recent event associated with this transaction. |
| firstEvent | object | First event associated with this transaction. |
| isBetweenOwnAccounts | boolean | true if the transfer is between the same customer's own accounts. |
| activityInfo | object | Profile details for sender (fromProfile) and receiver (toProfile), plus historyRecords array. |
| purpose | string | Purpose or memo provided for the transaction. |
| giftCardOrderId | string | Gift card order ID if applicable. |
| memo | string | Free-text memo attached to the transaction. |
| fromDBA | string | DBA (doing business as) name of the sending party. |
| toDBA | string | DBA name of the receiving party. |
Transaction event fields (used in firstEvent, lastEvent, refundEvent, and transactionSource.transactionEvents[]):
| Field | Type | Description |
|---|---|---|
| typename | string | Event type name. |
| id | string | Unique event identifier. |
| merchantDetails | object | Merchant category, categoryCode, countryCodeAlpha3, description, name, merchantId. |
| pointOfServiceDetails | object | POS details: panEntryMode, pinEntryMode. |
| responseCode | string | Authorization response code. |
| responseDescription | string | Human-readable description of the response code. |
| approvedAmount | object | Approved amount with value and currencyCode. |
| requestedAmount | object | Originally requested amount with value and currencyCode. |
| paymentCard | object | Card details: id, bin, last4. |
| createdAt | string (date-time) | Event timestamp. |
| authorizationExpiration | string (date-time) | When the authorization expires. |
| processingType | string | Processing method (e.g., CHIP, CONTACTLESS). |
| rewardPoints | integer (int64) | Reward points earned from this event, if applicable. |
| accountingDirection | string | DEBIT or CREDIT. |
Filter fields (filter):
| Field | Type | Description |
|---|---|---|
| filter.all | object | Filter item for all transaction types. Contains displayName, value, and nested items. |
| filter.deposit | object | Filter item for deposit transactions. |
| filter.withdraw | object | Filter item for withdrawal transactions. |
| filter.transfers | object | Filter item for transfer transactions. |
| filter.pos | object | Filter item for point-of-sale transactions. |
| filter.transactionStatus | object | Filter item grouped by transaction status. |
| filter.others | object | Filter item for all other transaction types. |
{
"data": {
"transferPageInfo": [
{
"startCursor": "cursor_start_001",
"endCursor": "cursor_end_001",
"hasNextPage": false,
"hasPreviousPage": false
}
],
"transactionPageInfo": {
"startCursor": "cursor_start_tx_001",
"endCursor": "cursor_end_tx_025",
"hasNextPage": true,
"hasPreviousPage": false
},
"activity": [
{
"id": "txn_9f3a2b1c4d5e6f7a",
"typename": "CardTransaction",
"name": "Office Supplies Purchase",
"typeModel": "CARD_TRANSACTION",
"pendingAmount": {
"value": 0,
"currencyCode": "USD"
},
"amount": {
"value": 4599,
"currencyCode": "USD"
},
"lastEventBalanceSnapshot": {
"value": 152340,
"currencyCode": "USD"
},
"createdAt": "2026-06-05T14:23:11Z",
"isComplete": true,
"transactionSource": {
"typename": "CardTransaction",
"id": "src_1a2b3c4d",
"transactionEvents": []
},
"transferStatus": {
"status": null,
"statusReasonCode": null
},
"companyName": "Staples Inc.",
"descriptor": {
"companyEntryDescription": null,
"individualName": null,
"individualIdentificationNumber": null
},
"toFinancialAccount": null,
"fromFinancialAccount": {
"id": "fin_acct_XXXXXXXXXX",
"name": "Business Checking",
"last4": "4321",
"externalBankAccountDetails": null,
"provider": null
},
"refundEvent": null,
"lastEvent": {
"typename": "CardTransactionClearedEvent",
"id": "evt_5e6f7a8b",
"merchantDetails": {
"category": "Office Supplies",
"categoryCode": "5112",
"countryCodeAlpha3": "USA",
"description": "Retail stationery and office supplies",
"name": "Staples Inc.",
"merchantId": "merch_xyz789"
},
"pointOfServiceDetails": {
"panEntryMode": "CHIP",
"pinEntryMode": "NOT_APPLICABLE"
},
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"paymentCard": {
"id": "card_abc123",
"bin": "411111",
"last4": "5678"
},
"createdAt": "2026-06-05T14:23:11Z",
"authorizationExpiration": null,
"processingType": "CHIP",
"rewardPoints": 45,
"accountingDirection": "DEBIT"
},
"firstEvent": {
"typename": "CardTransactionAuthorizationEvent",
"id": "evt_1a2b3c4d",
"merchantDetails": {
"category": "Office Supplies",
"categoryCode": "5112",
"countryCodeAlpha3": "USA",
"description": "Retail stationery and office supplies",
"name": "Staples Inc.",
"merchantId": "merch_xyz789"
},
"pointOfServiceDetails": {
"panEntryMode": "CHIP",
"pinEntryMode": "NOT_APPLICABLE"
},
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"paymentCard": {
"id": "card_abc123",
"bin": "411111",
"last4": "5678"
},
"createdAt": "2026-06-05T14:22:58Z",
"authorizationExpiration": "2026-06-12T14:22:58Z",
"processingType": "CHIP",
"rewardPoints": null,
"accountingDirection": "DEBIT"
},
"isBetweenOwnAccounts": false,
"activityInfo": {
"fromProfile": {
"id": 1042,
"name": "Acme Corp",
"agentId": 7
},
"toProfile": null,
"historyRecords": [
{
"date": "2026-06-05T14:22:58Z",
"status": "AUTHORIZED"
},
{
"date": "2026-06-05T14:23:11Z",
"status": "CLEARED"
}
]
},
"purpose": null,
"giftCardOrderId": null,
"memo": null,
"fromDBA": "Acme Corp",
"toDBA": null
}
]
},
"filter": {
"all": {
"displayName": "All",
"value": true,
"items": []
},
"deposit": {
"displayName": "Deposits",
"value": false,
"items": []
},
"withdraw": {
"displayName": "Withdrawals",
"value": false,
"items": []
},
"transfers": {
"displayName": "Transfers",
"value": false,
"items": []
},
"pos": {
"displayName": "Point of Sale",
"value": false,
"items": []
},
"transactionStatus": {
"displayName": "Status",
"value": false,
"items": [
{ "displayName": "Completed", "value": true, "items": [] },
{ "displayName": "Pending", "value": false, "items": [] }
]
},
"others": {
"displayName": "Others",
"value": false,
"items": []
}
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields, invalid date format, or malformed jsonFilter value |
| 401 | Token missing, expired, or invalid |
| 403 | Partner account does not have Daily Spending Report access enabled |
| 404 | Specified cardProductId or account resource not found |
| 500 | Internal server error |
Common Mistakes
- Providing
fromDateortoDatein a non-ISO 8601 format — always use"YYYY-MM-DDTHH:MM:SSZ"format. - Passing an invalid
afterCursorvalue (e.g., one from a different query context) — cursors are tied to the specific query parameters used; reuse the cursor only with the same filter and date range. - Sending a
jsonFilteras a parsed JSON object instead of a JSON-encoded string — the field must be a string value containing escaped JSON. - Calling this endpoint without Daily Spending Report access — verify that your partner account has this permission enabled before integrating.
- Interpreting
amount.valueas dollars — amounts are in the smallest currency unit (cents for USD), so4599equals$45.99.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an expiring Bearer tokenGET /FinancialAccount/{financialAccountId}/activity— Retrieve activity for a single financial accountPOST /Report/daily-spending— Generate a Daily Spending Report summary
Example
curl -X POST https://api.banking.netevia.dev/Report/transactions \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cardProductId": "prod_abc123",
"take": 25,
"afterCursor": null,
"fromDate": "2026-06-01T00:00:00Z",
"toDate": "2026-06-09T23:59:59Z",
"jsonFilter": null
}'