VoucherCartItem
inventoryItemIdThe ID you would see on a POS export from the restaurant. Treat as opaque unless you have explicitly agreed on item-to-ID mapping.
quantityHow many of this item are in the cart.
priceCentsPer-unit price of this item, in cents.
VoucherCheckRequest
codeThe voucher code the guest entered at checkout. Take this as the user-facing value; your system decides how to match (exact, canonicalized, case-insensitive, etc.).
VoucherCheckSuccess
okvoucherNrThe voucher identifier in your system. May equal the input code or a canonicalized form. Karma stores this as the reservation's voucher number.
discountAmountCentsHow much Karma should discount the cart, in cents. Return a value no greater than cart.totalCents.
expiresAtWhen this reservation expires. If omitted, Karma applies a 2-hour default.
providerRefOpaque string Karma echoes back on commit/reactivate. Use to correlate to your internal record.
VoucherCommitRequest
amountCentsThe reserved amount Karma is committing. Equals the discountAmountCents you returned from check.
transactionIdKarma-generated reservation identifier in the format res_<32 hex chars>. The same value is used for both commit and reactivate of a given reservation. Your endpoint MUST dedupe by this value.
providerRefThe value you returned from the check response (if any). Echoed back so you can look up the original reservation by your own identifier.
LoyaltyLookupRequest
locationIdKarma location ID where the lookup is happening. Use to scope the search if your program is multi-tenant.
loyaltyProgramIdKarma loyalty program ID this lookup is for.
identifierThe value the guest presented. Format depends on identifierType.
identifierTypeTells you how to interpret identifier.
LoyaltyLookupSuccess
okmemberIdYour stable identifier for this member. Karma stores this and uses it in subsequent requests for the same guest. Treat as opaque on Karma's side; you choose the format and length.
userIdThe Karma user ID, if you have already linked this member to one. Omit if the member is anonymous in your system.
LoyaltyEnrollRequest
userIdKarma user ID of the guest being enrolled. Store this so you can link your member back to Karma.
loyaltyProgramIdKarma loyalty program ID being joined.
locationIdLocation where enrollment is happening. Useful for source attribution.
LoyaltyEnrollSuccess
okmemberIdYour stable identifier for the new member.
pointsAwardedSignup bonus points credited as part of enrollment. Return 0 if your program does not give a signup bonus.
LoyaltyAwardRequest
userIdKarma user ID who made the purchase.
loyaltyProgramIdKarma loyalty program ID to credit.
purchaseIdKarma purchase ID this award is for. Useful for reconciliation.
purchaseAmountCentsTotal amount paid, in cents. Apply your accrual rules to this value.
itemIdsInventory item IDs included in the purchase. Use these if your program awards bonus points for specific products.
transactionIdKarma-generated identifier in the format loy_<32 hex chars>. Your endpoint MUST dedupe by this value.
LoyaltyAwardSuccess
okpointsAwardedPoints credited for this purchase. May be 0 if the purchase didn't qualify.
newBalanceMember's total spendable point balance after this award.
tierChangedWhether this award caused the member to move up or down a tier. Karma uses this to refresh tier-related UI.
LoyaltyAccountRequest
userIdKarma user ID to fetch.
loyaltyProgramIdLoyalty program to fetch the account for.
LoyaltyAccountSuccess
okcurrentBalanceMember's spendable point balance right now.
lifetimeEarnedTotal points the member has ever earned. Return currentBalance if your program does not track lifetime separately.
tierNameHuman-readable tier name (e.g. "Silver"). Return null if the program has no tiers or the member has not reached one.
tierIdYour stable identifier for the tier. Return null whenever tierName is null.
LoyaltyRewardsRequest
loyaltyProgramIdThe loyalty program whose catalog to return.
LoyaltyReward
rewardIdYour stable identifier for the reward. Karma echoes this back on redeem.
titleHeadline label shown to the guest.
descriptionLonger human-readable description.
pointsCostPoints the member must spend to redeem this reward.
categoryFree-form bucket for client-side filtering (e.g. drink, food, discount, merchandise). Karma displays this verbatim if present.
imageUrlAbsolute HTTPS URL of a preview image. Return null if you don't host artwork.
stockRemainingHow many of this reward are still available globally. Return null if the reward has no stock cap.
LoyaltyRewardsSuccess
okZero or more reward objects. Return an empty array if no rewards are currently active.
LoyaltyRedeemRequest
userIdKarma user ID redeeming the reward.
loyaltyProgramIdLoyalty program the reward belongs to.
rewardIdReward being redeemed (one of the IDs you returned from rewards).
transactionIdKarma-generated identifier in the format loy_<32 hex chars>. Your endpoint MUST dedupe by this value.
LoyaltyRedeemSuccess
okredemptionIdYour stable identifier for this redemption. Karma stores this for receipts and refund flows.
generatedCodeRedemption code the guest can present to staff (printed on a receipt or shown in-app). Return null if the reward applies automatically and no code is needed.
newBalanceMember's point balance after this redemption.
WebhookEnvelope
idUnique webhook delivery ID
eventEvent type, e.g. "inventory.created"
resourceResource group, e.g. "inventory"
resourceIdString ID of the affected resource
timestampISO 8601 timestamp when the event was emitted
apiVersion