Data Model Reference

This reference documents all entity types, fields, connections, filter inputs, and supporting types in the Merchant Data API.

Data Model Reference

This reference lists every queryable type, its fields, and the filters that apply to it.
All fields are read-only. Monetary amounts use the Money scalar (a decimal string with
exactly two decimal places, for example "250.00") and are paired with an ISO 4217
currency code where applicable.

Scalars

ScalarRepresentationExample
MoneyDecimal string, exactly 2 decimal places"250.00"
CurrencyISO 4217 three-letter uppercase code"BRL"
DateCalendar date, YYYY-MM-DD"2026-06-30"
DateTimeRFC 3339 / ISO 8601 timestamp"2026-06-15T14:03:22Z"

Query fields

FieldReturnsArguments
pingString ("pong")none
currentMerchantIdStringnone
payinsPayin connectionfirst, after, filter: PayinFilterInput
payoutsPayout connectionfirst, after, filter: PayoutFilterInput
claimsClaim connectionfirst, after, filter: ClaimFilterInput
movementBalancesMovementBalance connectionfirst, after, filter: MovementBalanceFilterInput
reportBalancesReportBalance collectionfilter: ReportBalanceFilterInput
aggregationsAggregationResultdataset: DatasetKind!, filter: AggregationFilterInput!

Payin

An incoming payment transaction made to your shop. Some customer and payer fields are
personally identifiable and may be masked depending on your access level (see
Security and compliance).

FieldTypeNotes
merchantIdIntScoped to your account.
merchantNameString
transactionIdStringPayin ID. Cursor key; exact-match filterable.
trackingIdStringYour external reference; exact-match filterable.
amountMoney
currencyCurrency
createdDateDate
createdTsDateTimeSecondary cursor key.
editedTsDateTime
transactionStatusNameStringStatus label; filterable via status.
transactionDescriptionString
countryNameString
shopIdInt
shopNameString
paymentMethodIdInt
paymentMethodNameString
paymentChannelTypeCodeString
customerEmailStringPersonally identifiable; may be masked.
customerPersonalIdStringPersonally identifiable; may be masked.
isTestBoolean
originString
customerFullNameStringPersonally identifiable; may be masked.
customerAddressStringPersonally identifiable; may be masked.
customerCityStringPersonally identifiable; may be masked.
customerPostalCodeStringPersonally identifiable; may be masked.
customerStateStringPersonally identifiable; may be masked.
customerPhoneStringPersonally identifiable; may be masked.
customerIpStringPersonally identifiable; may be masked.
bankNameString
bankCountryNameString
notificationUrlString
couponAmountMoney
bankAccountTypeString
uniqueCustomerIdentifierStringPersonally identifiable; may be masked.
couponCurrencyCodeString
payerPersonalIdStringPersonally identifiable; may be masked.
payerAccountNumberStringPersonally identifiable; may be masked.
payerFullNameStringPersonally identifiable; may be masked.
payerEmailStringPersonally identifiable; may be masked.
payerCityStringPersonally identifiable; may be masked.
payerPhoneStringPersonally identifiable; may be masked.
payerAddressStringPersonally identifiable; may be masked.
payerBankNameString
errorReasonString
standardizedErrorString
normalisedErrorReasonStringBritish spelling as returned on the wire.

PayinFilterInput: transactionId, trackingId, shopId, status, personId,
customerEmail, countryName, paymentMethodName, amountFrom, amountTo,
createdDateFrom, createdDateTo, editedDateFrom, editedDateTo.

Payout

An outgoing payment transaction from your shop, including a settlement amount and
beneficiary and bank details. Some fields are personally identifiable and may be masked.

FieldTypeNotes
merchantIdInt
merchantNameString
transactionIdStringPayout ID. Cursor key; exact-match filterable.
trackingIdStringYour external reference; exact-match filterable.
amountMoney
currencyCurrency
settlementAmountMoneyAmount actually settled to you.
createdDateDate
createdTsDateTimeSecondary cursor key.
editedTsDateTime
transactionStatusNameString
transactionDescriptionString
countryNameString
shopIdInt
shopNameString
customerEmailStringPersonally identifiable; may be masked.
customerPhoneStringPersonally identifiable; may be masked.
customerAddressStringPersonally identifiable; may be masked.
customerCityStringPersonally identifiable; may be masked.
customerPersonalIdStringPersonally identifiable; may be masked.
customerDocumentTypeString
isTestBoolean
paidDateDate
paidTsDateTime
beneficiaryFullNameStringPersonally identifiable; may be masked.
beneficiaryTypeCodeString
payoutAccountTypeCodeString
accountNumberStringPersonally identifiable; may be masked.
accountAgencyNumberString
bankNameString
recipientPixKeyStringPersonally identifiable; may be masked.
normalisedErrorReasonStringBritish spelling as returned on the wire.

PayoutFilterInput: transactionId, trackingId, shopId, status, personId,
customerEmail, countryName, amountFrom, amountTo, settlementAmountFrom,
settlementAmountTo, createdDateFrom, createdDateTo, editedDateFrom,
editedDateTo.

Claim

A dispute or chargeback against a transaction. Exposes the payins it relates to via
relatedPayins (claims link to payins only).

FieldTypeNotes
merchantIdInt
merchantNameString
claimIdStringClaim ID. Cursor key; exact-match filterable.
transactionIdStringThe disputed transaction; exact-match filterable.
amountMoney
createdDateDate
createdTsDateTimeSecondary cursor key.
editedTsDateTime
statusStringClaim status label; filterable via status.
claimReasonStringFilterable.
shopIdInt
shopNameString
processedDateDateResolution date.
processedTsDateTime
commentsString
refundedAmountMoney
amountInFavorMoney
claimFeeMoney
relatedPayins[Payin]The payins linked to this claim.

ClaimFilterInput: claimId, transactionId, shopId, status, claimReason,
amountFrom, amountTo, refundedAmountFrom, refundedAmountTo, createdDateFrom,
createdDateTo, processedDateFrom, processedDateTo.

MovementBalance

A single balance-affecting operation. Contains no personally identifiable data.

FieldTypeNotes
merchantIdInt
shopIdInt
createdTsDateTime
createdDateDate
operationIdStringCursor key. Filtering by it is a pinpoint lookup.
movementTypeStringFilterable.
movementDescriptionString
balanceAmountMoney
totalBalanceMoneyRunning total.

MovementBalanceFilterInput: shopId, movementType, operationId,
createdDateFrom, createdDateTo. Date window default 1 day, maximum 31 days;
operationId bypasses the window.

ReportBalance

A daily balance snapshot per shop, returned by the non-paginated reportBalances query
(as { items }). Contains no personally identifiable data. All amounts are Money.

FieldNotes
merchantId
shopId
createdDateSnapshot date.
openingBalance
volumePayin
mdrMerchant discount rate (fee on payin volume).
volumePayout
payoutFee
newClaims
claimsRefundFee
claimsWon
rollingReserveFunds withheld as a reserve.
rollingReserveReleased
otherFees
adjustmentsOther
adjustmentsFee
topUps
taxes
clearingFees
netAmountPayable
rollingReserveAdjustment
paymentAmount
closingBalance

ReportBalanceFilterInput: shopId, createdDateFrom, createdDateTo. Date window
default and maximum 90 days.

Aggregations

aggregations(dataset: DatasetKind!, filter: AggregationFilterInput!) returns an
AggregationResult.

Type / FieldNotes
AggregationResult.totalCountInt. Overall count.
AggregationResult.sumAmountMoney. Overall sum.
AggregationResult.byStatus[AggregationByStatus] buckets.
AggregationByStatus.statusString. The status label for the bucket.
AggregationByStatus.countInt.
AggregationByStatus.sumAmountMoney.

DatasetKind (enum, UPPER_CASE wire values): PAYINS, PAYOUTS, CLAIMS,
MOVEMENTBALANCES, REPORTBALANCES. Only PAYINS, PAYOUTS, and CLAIMS are
aggregatable; MOVEMENTBALANCES and REPORTBALANCES return INVALID_FILTER.

AggregationFilterInput: transactionId, shopId, status, personId,
createdDateFrom, createdDateTo.

Pagination wrappers

Paginated connections (payins, payouts, claims, movementBalances) share this
shape:

  • edges: list of { cursor, node }.
  • pageInfo: { hasNextPage, endCursor }.
  • summary: { rowCount, pageSizeLimit, totalCount }.

reportBalances returns { items } only, with no pageInfo or summary.

Field naming notes

  • Field names are camelCase on the wire.
  • The API mixes British and American spelling in a few field names, for example
    normalisedErrorReason (British) alongside standardizedError (American). These are
    returned exactly as shown; do not normalise them.

_review_needed (from Stage 1): Transaction and claim status values are free-text
labels sourced from the data platform, not a fixed enum in the source. The distinct
status values and their casing must be enumerated from sample data before publication.

Next steps



Did this page help you?