V1RewardsCampaignsIdRedeem
Confirm points cost and issue a voucher valid for exactly seven days
The confirmed cost must match the published offer. Voucher issuance and points debit are atomic. Reuse claimId on retry; the same claimId returns the same voucher, and each paid use is debited separately. Unused expired vouchers return their points on the next balance refresh. No health data or earning rule is enabled by this operation.
Authorization
bearer AuthorizationBearer <token>
In: header
Path Parameters
id*string
Match
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Format
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/rewards/campaigns/497f6eca-6276-4993-bfeb-53cbbbba6f08/redeem" \ -H "Content-Type: application/json" \ -d '{ "claimId": "88057929-7728-4a26-8396-f965dcc8b947", "acceptRules": true, "expectedPointsCost": 0, "validityDays": 7 }'{ "claim": { "pointsSpent": 0, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf", "deliveryKind": "physical_gift", "status": "reserved", "reservedAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z", "redeemedAt": "2019-08-24T14:15:22Z" }, "availablePoints": 0}