Use this endpoint to record when a promotion code is redeemed during checkout. This updates usage counters on both the code and the parent promotion.
Bearer token with marketing:write scope
Request body
The promotion code that was redeemed
The booking ID where the code was applied
The customer ID who redeemed the code
The order total in minor units before discount
The actual discount amount applied in minor units
3-letter ISO currency code
Response
Returns the redemption record.
curl -X POST "https://api.voyantcloud.com/v1/promotions/redeem" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "SUMMER20",
"booking_id": "booking_123",
"customer_id": "cust_456",
"order_total_minor": 150000,
"discount_applied_minor": 30000,
"currency": "EUR"
}'
{
"data": {
"id": "redemption_abc",
"workspaceId": "ws_xyz",
"promotionId": "promo_abc123",
"promotionCodeId": "code_xyz",
"bookingId": "booking_123",
"customerId": "cust_456",
"orderTotalMinor": 150000,
"discountAppliedMinor": 30000,
"currency": "EUR",
"status": "applied",
"createdAt": "2024-07-20T14:30:00Z"
}
}
Errors
| Status | Error | Description |
|---|
| 404 | Code not found | No code exists with the given string |
Always call the validate endpoint before redeeming to ensure the code is still valid.