Transactions Reporting

Pass columns= to project response fields, then filter and sort the transactions data set.

Pass a columns= list to choose which fields appear in each row, then use filters and sorting to narrow the data set.

Description

GET /reporting/transactions no longer returns a full transaction object by default. Callers must pass the columns query parameter to project the fields they need. Filters, sort, and pagination still control which rows come back; columns controls which fields each row includes.

Column selection (columns) — required for most integrations

Use a comma-separated list of camelCase keys:

columns=name,paymentRoutingNumber,returnCode,authorizedAt

BehaviorDetail
Omitted columnsResponse uses the default grid set only (see below), plus always-on chrome fields. Sparse fields such as routing number, return details, card auth/capture timestamps, holds, and NOCs are not included.
Explicit columnsOnly the requested keys (plus always-on fields and automatic companions) are selected and returned. Nested detail objects omit unrequested keys instead of returning null.
Unknown keyRequest fails with 400 (invalid columns).
CompanionsSome keys pull related IDs automatically (e.g. batchNumericId also selects batchUuid; accountNumber also selects panFirstSix).

Always-on (included on every list response): uuid, numericId, companyUuid, companyName, amount, type, method, status, createdAt, isSameDay, sequenceUuid, historicalId, reversedAt, reversalUuid, settlementProcessedAt, lateReturnedAt, saleAt.

Default when columns is omitted: numericId, companyName, uuid, amount, type, method, status, name, accountNumber, effectiveDate, createdAt, batchNumericId, settlementNumericId (plus always-on).

Allowlisted columns keys

KeyNotes
uuid, numericId, companyUuid, companyNameAlways-on
amount, type, method, status, createdAtAlways-on
isSameDay, sequenceUuid, historicalIdAlways-on
reversedAt, reversalUuidAlways-on
settlementProcessedAt, lateReturnedAt, saleAtAlways-on
effectiveDate, name, accountNumberDefault grid
paymentAccountType, paymentRoutingNumberPayment details (request explicitly for routing/account type)
batchNumericId, batchUuid, batchedAt, traceNumberBatch
settlementNumericId, settlementUuid, expectedToSettleAtSettlement
standardEntryClassCode, externalUniqueId, isDuplicate, rtpTransactionIdCore optional
returnCode, returnReason, returnedAtReturns satellite
lateReturnSettlementNumericId, lateReturnSettlementUuid, lateReturnSettlementProcessedAtLate-return settlement
changeCode, changeReason, changedAt, nocReceivedAtNOC satellite
holdCode, holdReason, releasedAtHolds satellite
rejectReason, rejectedAt, restoredAt, voidedAt, acknowledgedAtExceptions satellite
cardNumber, panFirstSix, panLastFour, authorizedAt, authResponseCode, capturedAtCard satellite
description, failureReason, ingestionFileUuid, idempotencyKeyMetadata satellite

If you need routing numbers, return codes, card auth/capture times, holds, or NOCs in the response, list those keys in columns. Filtering on a field does not automatically include it in the projection.

Filterable fields

These lowercase names are used in field:condition=value filters (and may differ from the camelCase columns keys above).

Field NameType
uuidVARCHAR(255)
numericidINT
companyuuidVARCHAR(255)
companynameVARCHAR(255)
categoryuuidVARCHAR(255)
amountINT
batchedatTIMESTAMP
batchuuidVARCHAR(255)
batchnumericidINT
categoryVARCHAR(255)
createdatTIMESTAMP
effectivedateTIMESTAMP
externaluniqueidVARCHAR(255)
methodVARCHAR(255)
nameVARCHAR(255)
accounttypeVARCHAR(255)
routingnumberVARCHAR(255)
accountnumberVARCHAR(255)
latereturnedatTIMESTAMP
returncodeVARCHAR(4)
returnedatTIMESTAMP
returnreasonVARCHAR(255)
returnnumericidVARCHAR(255)
returnuuidVARCHAR(255)
expectedtosettleatTIMESTAMP
latereturnsettlementprocessedatTIMESTAMP
latereturnsettmentuuidVARCHAR(255)
latereturnsettlementnumericidVARCHAR(255)
settlementprocessedatTIMESTAMP
settlementuuidVARCHAR(255)
settlementnumericidINT
changecodeVARCHAR(255)
changereasonVARCHAR(255)
changedatTIMESTAMP
nocreceivedatTIMESTAMP
changenewvalueJSONB
changeoldvalueJSONB
standardentryclasscodeVARCHAR(4)
statusVARCHAR(255)
typeVARCHAR(255)
holdreasonVARCHAR(255)
releasedatTIMESTAMP
voidedatTIMESTAMP
isduplicateBOOLEAN
sequenceuuidVARCHAR(255)
historicalidVARCHAR(255)
panfirstsixVARCHAR(6)
panlastfourVARCHAR(4)
issamedayBOOLEAN

Available Conditions

A field can be combined with a condition using the field:condition=value query-parameter syntax (a bare field=value means equals).

ConditionSQL equivalent
eq=
neq!=
gt>
gte>=
lt<
lte<=
nnIS NOT NULL
nullIS NULL
emptyequals the empty string
likeILIKE '%value%'
inIN ('x','y','z') (comma-delimited values)
betweenBETWEEN x AND y (two comma-delimited values)

Sorting

A field can also be provided to sort the data. This corresponds to an ORDER BY statement in the SQL query. The sort key is provided to get this desired functionality — the value is the field to sort by. The sortDir key can be used with values ASC or DESC to get the desired sort direction.

Examples

Example 1

Debit transactions between $10.00 and $50.00 (amounts in cents), projecting payment and batch fields:

/reporting/transactions?page=0&pageSize=50&columns=name,paymentRoutingNumber,paymentAccountType,batchNumericId&amount:gt=1000&amount:lt=5000&type=Debit

The page and pageSize parameters are required for pagination. columns= lists the extra fields beyond always-on chrome. Without columns=paymentRoutingNumber, routing numbers will not appear in the response even when the row has one.

Example 2

Transactions created after January 1st, 2025, including return details, sorted ascending by id:

/reporting/transactions?page=0&pageSize=10&columns=returnCode,returnReason,returnedAt&createdat:gt=2025-01-01T00:00:00Z&sort=id&sortDir=ASC

Example 3

Card transactions with auth/capture timestamps (these are not in the default grid):

/reporting/transactions?page=0&pageSize=50&columns=authorizedAt,capturedAt,panFirstSix,panLastFour&method=CRD

Example Response

Response for Example 1 (columns=name,paymentRoutingNumber,paymentAccountType,batchNumericId). Unrequested nested keys are omitted rather than returned as null.

{
    "status": "success",
    "data": [
        {
            "uuid": "dbf1b9b8-cb47-4f78-8da2-f21c50a83ec0",
            "numericId": 5,
            "companyUuid": "53d993ae-fa4c-489d-be3d-e747c3235b0c",
            "companyName": "Merchant C",
            "method": "ACH",
            "type": "Debit",
            "amount": 592,
            "status": "Settled",
            "createdAt": "2025-05-05T13:32:25.72707Z",
            "effectiveDate": "2025-03-14T00:00:00Z",
            "isSameDay": false,
            "settlementProcessedAt": "2025-07-24T17:45:19.553773Z",
            "paymentDetails": {
                "name": "Jennifer Schamberger",
                "accountType": "Checking",
                "accountNumber": "123456789",
                "routingNumber": "121000248"
            },
            "batchDetails": {
                "batchUuid": "1315d84d-d0d3-4876-9c9d-598704722590",
                "batchNumericId": "191"
            },
            "settlementDetails": {
                "settlementUuid": "9b694ffb-ce2f-492f-98b3-20964e65613c",
                "settlementNumericId": "4",
                "settlementProcessedAt": "2025-07-24T17:45:19.553773Z"
            }
        }
    ],
    "errors": null,
    "meta": {
        "pagination": {
            "page": 0,
            "pageSize": 10,
            "totalFilteredRows": 1,
            "totalRows": 1648
        },
        "timestamp": "2025-08-14T19:06:24Z",
        "version": "0.0.0"
    }
}