Get transaction history

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

ParameterTypeRequiredDescription
paymentCardIdstringNoID of the payment card to filter transactions by. If omitted, transactions across all cards are returned.
transactionIdstringNoID of a specific transaction to retrieve. Use to look up a single transaction event.

Response

200 OK

FieldTypeDescription
mainNodeobjectTop-level wrapper containing the transaction events and memo.
mainNode.memostringOptional memo or note associated with the transaction group.
mainNode.transactionEventsobjectContainer for the list of transaction event edges.
mainNode.transactionEvents.edgesarrayArray of edge objects, each wrapping a transaction event node.
mainNode.transactionEvents.edges[].nodeobjectIndividual transaction event record.
mainNode.transactionEvents.edges[].node.typenamestringType identifier for the transaction event.
mainNode.transactionEvents.edges[].node.idstringUnique identifier of the transaction event.
mainNode.transactionEvents.edges[].node.createdAtstring (date-time)ISO 8601 timestamp when the transaction event was created.
mainNode.transactionEvents.edges[].node.responseCodestringAuthorization response code returned by the network.
mainNode.transactionEvents.edges[].node.responseDescriptionstringHuman-readable description of the response code.
mainNode.transactionEvents.edges[].node.approvedAmountobjectAmount approved for the transaction.
mainNode.transactionEvents.edges[].node.approvedAmount.valueinteger (int64)Approved amount in the smallest currency unit (e.g., cents).
mainNode.transactionEvents.edges[].node.approvedAmount.currencyCodestringISO 4217 currency code (e.g., "USD").
mainNode.transactionEvents.edges[].node.requestedAmountobjectAmount originally requested for the transaction.
mainNode.transactionEvents.edges[].node.requestedAmount.valueinteger (int64)Requested amount in the smallest currency unit.
mainNode.transactionEvents.edges[].node.requestedAmount.currencyCodestringISO 4217 currency code.
mainNode.transactionEvents.edges[].node.transactionobjectReference to the parent transaction.
mainNode.transactionEvents.edges[].node.transaction.typenamestringType identifier for the parent transaction.
mainNode.transactionEvents.edges[].node.transaction.idstringUnique identifier of the parent transaction.
mainNode.transactionEvents.edges[].node.merchantDetailsobjectDetails about the merchant where the transaction occurred.
mainNode.transactionEvents.edges[].node.merchantDetails.namestringMerchant name.
mainNode.transactionEvents.edges[].node.merchantDetails.descriptionstringDescription of the merchant.
mainNode.transactionEvents.edges[].node.merchantDetails.categorystringMerchant category label.
mainNode.transactionEvents.edges[].node.merchantDetails.categoryCodestringMerchant category code (MCC).
mainNode.transactionEvents.edges[].node.merchantDetails.countryCodeAlpha3stringISO 3166-1 alpha-3 country code of the merchant.
mainNode.transactionEvents.edges[].node.merchantDetails.merchantIdstringUnique identifier of the merchant.
mainNode.transactionEvents.edges[].node.pointOfServiceDetailsobjectDetails about how the card was used at the point of service.
mainNode.transactionEvents.edges[].node.pointOfServiceDetails.panEntryModestringMethod used to enter the card number (e.g., "CONTACTLESS", "CHIP").
mainNode.transactionEvents.edges[].node.pointOfServiceDetails.pinEntryModestringMethod used to enter the PIN (e.g., "ONLINE_PIN", "NOT_APPLICABLE").
mainNode.transactionEvents.edges[].node.paymentCardobjectDetails about the payment card used.
mainNode.transactionEvents.edges[].node.paymentCard.idstringUnique identifier of the payment card.
mainNode.transactionEvents.edges[].node.paymentCard.binstringBank Identification Number (first 6 digits) of the card.
mainNode.transactionEvents.edges[].node.paymentCard.last4stringLast 4 digits of the card number.
mainNode.transactionEvents.edges[].node.paymentCard.applicationobjectApplication and account holder snapshot associated with the card.
mainNode.transactionEvents.edges[].node.paymentCard.application.idstringApplication ID.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshotobjectSnapshot of the account holder at time of transaction.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.typenamestringType of account holder (e.g., business or personal).
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.accountHolderCurrent.idstringCurrent account holder ID.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.accountHolderCurrent.externalIdstringPartner-assigned external ID of the account holder.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.name.doingBusinessAsNamestringDBA name of the business account holder.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.name.legalBusinessNamestringLegal name of the business account holder.
mainNode.transactionEvents.edges[].node.paymentCard.application.accountHolderSnapshot.businessProfile.billingAddressobjectBilling 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

CodeWhen it happens
400Request is invalid, such as a malformed paymentCardId or transactionId format
401Token missing, expired, or invalid
403Insufficient permissions to access the requested account's transaction history
404No transaction history found for the specified account, card, or transaction ID
500Internal server error

Common Mistakes

  • Passing a paymentCardId that belongs to a different customer than the authenticated token's account will result in a 403 or empty response.
  • Amounts in approvedAmount.value and requestedAmount.value are in the smallest currency unit (cents for USD). Divide by 100 to display dollar amounts.
  • When both paymentCardId and transactionId are 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 createdAt field is in ISO 8601 format with UTC timezone. Convert to the customer's local timezone before displaying.
  • A responseCode of "00" indicates approval. Non-zero codes indicate decline or error states — always check responseDescription for details.

Related Endpoints

  • GET /api/transaction/details — Retrieve full details for a single transaction by ID
  • GET /api/card/list — List all payment cards for a customer to obtain valid paymentCardId values
  • POST /api/auth/v2 — Obtain a Bearer token required for this request
  • POST /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"
Query Params
string
string
Headers
string
enum
Defaults to application/json

Generated from available response 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