Order Points Breakdown
Explain how a customer earned their points on a specific order, item by item.
v4.0 and v4.1.
v4.0 and v4.1, whether or not High Security Mode is enabled on your account.Headers
What the breakdown is built from
The breakdown explains the order’s earning transaction — thePaymentReward transaction recorded when the order was processed. It is a read-only explanation of points that were already awarded, not a quote:
- To quote points before checkout, use Calculate Order Cashback or Preview Order Rewards.
- To list every transaction tied to an order (rewards, refunds, redemptions), use Order Transactions.
404. That happens when the order was never tracked, was dropped, had every line excluded from earning, or has not finished processing yet.
202, the earning transaction may not exist yet and this endpoint returns 404. Retry, or call it from a screen the customer opens after the order is complete.Reading the item math
Each entry initems carries the full trace for one product line:
Eligibility
eligible says whether the line earned anything, and eligibilityMode says which rule decided it (General, Include, Exclude, Merchant, or Custom). When a line earned nothing, ineligibleReason explains why in plain language.Money base
eligibleAmount is the amount points were calculated on, after discount and any tax or non-product exclusions. lineSubtotal is the pre-discount total, and pricePerUnit is that divided by quantity.Rate
baseRate comes from the rule named by sourceKind and sourceLabel (the account’s base rate, the customer’s tier rate, or a custom rule). It is the dashboard rule expressed per unit of currency: a rule reading “earn 5 points for every 10 spent” arrives as rewardFactor: 5, amountThreshold: 10, and baseRate: 0.5. When a campaign applies, campaignMultiplier boosts it into effectiveRate.Points
basePoints is what the line would have earned with no campaign; itemPoints is what it actually contributed.Rounding and reconciliation
earnedPoints is authoritative — it is the value recorded on the transaction and reflected in the customer’s balance. itemsExactTotal is the exact, unrounded sum of the eligible lines, so the two can differ by a fraction of a point:
- Campaign lines are floored to whole points per line.
roundedPerLinemarks a line that lost a fraction this way. - Non-campaign lines stay fractional and are floored once at the order total.
roundedDownAtOrderLevelandroundedDownAmountreport that drop.
reconciles is true when the item breakdown explains the recorded total. A false value means the stored line items do not fully account for earnedPoints, so present the order-level figures rather than the per-item math.
Orders without line items
Orders recorded without line items returnhasItemBreakdown: false and an empty items array. The order-level fields (earnedPoints, orderAmount, tierName, redeemedPoints, and the rest) are still populated.
Redemptions
Points the customer redeemed on the order are reported at order level throughredeemedPoints, redeemedAmount, and hasRedemption. Redemption value is already folded into the line discounts, so it is never attributed to a single item.
Localization
Send the optionallang header to localize tierName and items[].campaignName. If the language is omitted or not configured in your account, the response falls back to your account’s default language.Headers
Language code used to localize tierName and items[].campaignName (e.g., en, ar, fr). If omitted or not configured in your account, the response falls back to your account's default language.
Path Parameters
The order identifier in your system, the same value sent as orderId when the order was tracked. Case-sensitive.
Response
Points breakdown retrieved successfully
Item-by-item explanation of the points earned on one order.
Gameball's internal identifier for the earning transaction this breakdown explains.
11034754
Display name of the transaction type the breakdown was built from.
"Payment Reward"
true when the transaction type is a deduction (a reversal) rather than an earning.
false
The points actually recorded on the transaction. This is the authoritative total; itemsExactTotal explains it.
192
Monetary value of the earned points, when the transaction recorded one.
19.2
The order amount the reward was calculated on.
230
Currency of orderAmount and pointsValue.
"SAR"
The customer's unique identifier in your system.
"1214"
The tier the customer was in when the order was rewarded, localized by the lang header when available.
"Gold"
When the earning transaction was recorded.
"2026-09-01T08:13:29.29"
When these earned points expire, when points expiry is enabled.
"2027-09-01T00:00:00"
The customer's points balance immediately before this transaction.
1340
Whether taxes were excluded from the earning base for this order.
true
Whether shipping and other non-product costs were excluded from the earning base.
true
Coupon codes applied to the order.
Points the customer redeemed on this order. Redemption value is already folded into the line discounts, so it is reported at order level rather than attributed to any single line.
200
Monetary value of the redeemed points.
20
true when the order included a redemption.
true
Per-line breakdown. Empty when the order was recorded without line items.
Exact, unrounded sum of items[].itemPoints for eligible lines. Compare against earnedPoints to see rounding.
192
true when a non-campaign order lost a sub-point fraction to flooring at the order total.
false
The fraction of a point dropped by order-level flooring. 0 when nothing was dropped.
0
true when itemsExactTotal explains earnedPoints (within one point). false means the stored line items do not fully account for the recorded total.
true
false when the order was recorded without line items, in which case items is empty and only the order-level figures are meaningful.
true