Get Transaction History
The Get Transaction History endpoint retrieves a complete or filtered list of transactions associated with a customer's account. It returns detailed transaction data including dates, amounts, merchant details, and point-of-service information. The endpoint supports filtering by payment card or specific transaction ID to enable efficient and targeted data retrieval.
Endpoint
GET /api/transaction/history
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 transaction history in your application, generate account statements, or audit financial activity. It is suitable for both business and personal customers to review their card-based transactions. Filter by paymentCardId to scope results to a specific physical, virtual, or burner card, or by transactionId to retrieve a single transaction event.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| paymentCardId | string | No | ID of the payment card to filter transactions by. If omitted, transactions across all cards are returned. |
| transactionId | string | No | ID of a specific transaction to retrieve. Use to look up a single transaction event. |
Response
200 OK
| Field | Type | Description |
|---|---|---|
| mainNode | object | Top-level wrapper containing the transaction events and memo. |
| mainNode.memo | string | Optional memo or note associated with the transaction group. |
| mainNode.transactionEvents | object | Container for the list of transaction event edges. |
| mainNode.transactionEvents.edges | array | Array of edge objects, each wrapping a transaction event node. |
| mainNode.transactionEvents.edges[].node | object | Individual transaction event record. |
| mainNode.transactionEvents.edges[].node.typename | string | Type identifier for the transaction event. |
| mainNode.transactionEvents.edges[].node.id | string | Unique identifier of the transaction event. |
| mainNode.transactionEvents.edges[].node.createdAt | string (date-time) | ISO 8601 timestamp when the transaction event was created. |
| mainNode.transactionEvents.edges[].node.responseCode | string | Authorization response code returned by the network. |
| mainNode.transactionEvents.edges[].node.responseDescription | string | Human-readable description of the response code. |
| mainNode.transactionEvents.edges[].node.approvedAmount | object | Amount approved for the transaction. |
| mainNode.transactionEvents.edges[].node.approvedAmount.value | integer (int64) | Approved amount in the smallest currency unit (e.g., cents). |
| mainNode.transactionEvents.edges[].node.approvedAmount.currencyCode | string | ISO 4217 currency code (e.g., "USD"). |
| mainNode.transactionEvents.edges[].node.requestedAmount | object | Amount originally requested for the transaction. |
| mainNode.transactionEvents.edges[].node.requestedAmount.value | integer (int64) | Requested amount in the smallest currency unit. |
| mainNode.transactionEvents.edges[].node.requestedAmount.currencyCode | string | ISO 4217 currency code. |
| mainNode.transactionEvents.edges[].node.transaction | object | Reference to the parent transaction. |
| mainNode.transactionEvents.edges[].node.transaction.typename | string | Type identifier for the parent transaction. |
| mainNode.transactionEvents.edges[].node.transaction.id | string | Unique identifier of the parent transaction. |
| mainNode.transactionEvents.edges[].node.merchantDetails | object | Details about the merchant where the transaction occurred. |
| mainNode.transactionEvents.edges[].node.merchantDetails.name | string | Merchant name. |
| mainNode.transactionEvents.edges[].node.merchantDetails.description | string | Description of the merchant. |
| mainNode.transactionEvents.edges[].node.merchantDetails.category | string | Merchant category label. |
| mainNode.transactionEvents.edges[].node.merchantDetails.categoryCode | string | Merchant category code (MCC). |
| mainNode.transactionEvents.edges[].node.merchantDetails.countryCodeAlpha3 | string | ISO 3166-1 alpha-3 country code of the merchant. |
| mainNode.transactionEvents.edges[].node.merchantDetails.merchantId | string | Unique identifier of the merchant. |
| mainNode.transactionEvents.edges[].node.pointOfServiceDetails | object | Details about how the card was used at the point of service. |
| mainNode.transactionEvents.edges[].node.pointOfServiceDetails.panEntryMode | string | Method used to enter the card number (e.g., "CONTACTLESS", "CHIP"). |
| mainNode.transactionEvents.edges[].node.pointOfServiceDetails.pinEntryMode | string | Method used to enter the PIN (e.g., "ONLINE_PIN", "NOT_APPLICABLE"). |
| mainNode.transactionEvents.edges[].node.paymentCard | object | Details about the payment card used. |
| mainNode.transactionEvents.edges[].node.paymentCard.id | string | Unique identifier of the payment card. |
| mainNode.transactionEvents.edges[].node.paymentCard.bin | string | Bank Identification Number (first 6 digits) of the card. |
| mainNode.transactionEvents.edges[].node.paymentCard.last4 | string | Last 4 digits of the card number. |
| mainNode.transactionEvents.edges[].node.paymentCard.application | object | Application and account holder snapshot associated with the card. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.id | string | Application ID. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot | object | Snapshot of the account holder at time of transaction. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.typename | string | Type of account holder (e.g., business or personal). |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.accountHolderCurrent.id | string | Current account holder ID. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.accountHolderCurrent.externalId | string | Partner-assigned external ID of the account holder. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.name.doingBusinessAsName | string | DBA name of the business account holder. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.name.legalBusinessName | string | Legal name of the business account holder. |
| mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.billingAddress | object | Billing address of the business at time of transaction. |
{
"mainNode": {
"memo": "Monthly statement period: May 2026",
"transactionEvents": {
"edges": [
{
"node": {
"typename": "CardTransaction",
"id": "txnevt_0123456789abcdef",
"createdAt": "2026-05-15T14:32:00Z",
"responseCode": "00",
"responseDescription": "Approved",
"approvedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"requestedAmount": {
"value": 4599,
"currencyCode": "USD"
},
"transaction": {
"typename": "CardTransaction",
"id": "txn_abcdef0123456789"
},
"merchantDetails": {
"name": "Acme Office Supplies",
"description": "Office supplies retailer",
"category": "Office Supplies",
"categoryCode": "5112",
"countryCodeAlpha3": "USA",
"merchantId": "merch_9876543210"
},
"pointOfServiceDetails": {
"panEntryMode": "CONTACTLESS",
"pinEntryMode": "NOT_APPLICABLE"
},
"paymentCard": {
"id": "card_aaaabbbbccccdddd",
"bin": "411111",
"last4": "1234",
"application": {
"id": "app_1122334455667788",
"accountHolderSnapshot": {
"typename": "BusinessAccountHolder",
"accountHolderCurrent": {
"id": "ah_aabbccddeeff0011",
"externalId": "partner-customer-001"
},
"businessProfile": {
"name": {
"doingBusinessAsName": "Acme Corp",
"legalBusinessName": "Acme Corporation LLC"
},
"billingAddress": {
"streetAddress": "123 Main Street",
"extendedAddress": "Suite 400",
"postalCode": "30301",
"locality": "Atlanta",
"region": "GA",
"countryCodeAlpha3": "USA"
}
}
}
}
}
}
}
]
}
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Request is invalid, such as a malformed paymentCardId or transactionId format |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access the requested account's transaction history |
| 404 | No transaction history found for the specified account, card, or transaction ID |
| 500 | Internal server error |
Common Mistakes
- Passing a
paymentCardIdthat belongs to a different customer than the authenticated token's account will result in a 403 or empty response. - Amounts in
approvedAmount.valueandrequestedAmount.valueare in the smallest currency unit (cents for USD). Divide by 100 to display dollar amounts. - When both
paymentCardIdandtransactionIdare omitted, the response may include a large dataset. Implement client-side pagination or date range filtering on your end to avoid processing excessive records. - The
createdAtfield is in ISO 8601 format with UTC timezone. Convert to the customer's local timezone before displaying. - A
responseCodeof"00"indicates approval. Non-zero codes indicate decline or error states — always checkresponseDescriptionfor details.
Related Endpoints
GET /api/transaction/details— Retrieve full details for a single transaction by IDGET /api/card/list— List all payment cards for a customer to obtain validpaymentCardIdvaluesPOST /api/auth/v2— Obtain a Bearer token required for this requestPOST /api/auth/refresh— Refresh an expiring Bearer token
Example
curl -X GET "https://api.banking.netevia.dev/api/transaction/history?paymentCardId=card_aaaabbbbccccdddd" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"