POST
/members/{memberId}/redemptions
Redeem points for a reward
POST /members/{memberId}/redemptions
Deducts the reward's point cost from the member's balance. Fails with 409 when the balance is too low.
Request body
Required.
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
rewardId |
string | yes | Public ID of the reward |
Responses
201 — Reward redeemed
| Property | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Public ID of the redemption |
rewardId |
string | yes | Public ID of the redeemed reward |
pointsSpent |
integer | yes | Points deducted from the balance |
remainingBalance |
integer | yes | Balance after the redemption |
400 — The request body is invalid
| Property | Type | Required | Description |
|---|---|---|---|
type |
string (uri) | yes | URI that identifies the problem type |
title |
string | yes | Short, human-readable summary |
status |
integer | yes | HTTP status code |
detail |
string | no | Explanation specific to this occurrence |
401 — Missing or invalid bearer token
| Property | Type | Required | Description |
|---|---|---|---|
type |
string (uri) | yes | URI that identifies the problem type |
title |
string | yes | Short, human-readable summary |
status |
integer | yes | HTTP status code |
detail |
string | no | Explanation specific to this occurrence |
404 — The member does not exist
| Property | Type | Required | Description |
|---|---|---|---|
type |
string (uri) | yes | URI that identifies the problem type |
title |
string | yes | Short, human-readable summary |
status |
integer | yes | HTTP status code |
detail |
string | no | Explanation specific to this occurrence |
409 — Not enough points for this reward
| Property | Type | Required | Description |
|---|---|---|---|
type |
string (uri) | yes | URI that identifies the problem type |
title |
string | yes | Short, human-readable summary |
status |
integer | yes | HTTP status code |
detail |
string | no | Explanation specific to this occurrence |