Redeem Points
Points Redemption
Redeem Points
Deduct points from a member’s balance to complete a redemption transaction.
POST
Redeem Points
Deducts a specified number of points from a member’s balance to fulfil a redemption — for a hotel booking, flight, gift card, or charitable donation. Partial redemption is not supported — points must cover the full transaction value.
The points-to-currency conversion rate is configurable per program — there is no fixed global rate. Confirm the rate with your Xoxoday implementation contact to calculate
Points from the cart Amount correctly.
This call is irreversible on its own; if downstream fulfilment fails after points are deducted, you must call Reversal Points to restore the balance. Always call Check Availability first, and store the ExternalReference UUID returned here immediately.
LoyaltyTxnType Values
| Value | Category |
|---|---|
4 | Miles / Points Transfer |
5 | Hotel |
6 | Air / Flight |
19 | Charity |
30 | Gift Card |
Additional
LoyaltyTxnType values may be configured for your program. Use etc. values from your onboarding documentation if your redemption category is not listed above.Responses
200 — Success
200 — Success
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | true |
results.ErrorCode | string | 000 |
results.ExceptionMessage | string | Success |
results.ReturnObject | string (UUID) | ExternalReference for this transaction. Store for potential reversal. |
Error Codes
| Code | ExceptionMessage | Cause |
|---|---|---|
000 | Success | Points deducted; redemption details in the response |
103 | Member does not exist | RelationReference not found in the program |
107 | Member status is not Active | Member has not been activated |
113 | Member is cancelled | Member account is cancelled |
114 | Member is suspended | Member account is suspended |
120 | Points must be greater than zero | Points value is 0 or negative |
208 | Merchant name missing | MerchantName not provided in the request |
301 | Failed to redeem points | Redemption operation failed |
302 | Insufficient points | Points requested exceed the member’s available balance |
997 | Exception occurred | Unexpected server-side error |
999 | Bad request | Malformed payload or missing required fields |
Authorizations
JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.
Body
application/json
Example:
"jane.doe@example.com"
Monetary value equivalent of the redemption
Example:
500
Number of points to deduct
Example:
500
Merchant or redemption channel name
Example:
"Amazon"
Redemption category. 4=Miles/Points Transfer, 5=Hotel, 6=Air, 19=Charity, 30=Gift Card
Available options:
4, 5, 6, 19, 30 Example:
30
Example:
"DEFAULT"
Use 4 for customers
Example:
4
Example:
19
Response
200 - application/json
Points redeemed — ReturnObject is the ExternalReference UUID