Redeem loyalty points for a discount
Appends a BURN entry, converting points into a discount worth the program’s redemptionCentsPerPoint each — the granted value comes back as valueCents. Read getLoyaltyAccount first and never burn more than its balance (422 otherwise). entryId is the idempotency key, minted server-side when omitted; a replayed key is 409, not a second burn. Redemption is serialized per customer server-side, so concurrent callers cannot overdraw. 404 when the customer has no ledger.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Body
Response
The appended redemption entry (kind: "redemption").
The appended redemption entry (kind: "redemption").
11accrual, redemption 0 < x <= 90071992547409910 <= x <= 9007199254740991^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
