Status: Stable for full-reversal behaviour.
Operational rule: If the points are no longer fully available, the event is moved to manual review.
Members: Remove Points
Use this endpoint to reverse points previously awarded from a settled transaction.
Endpoint
POST /api/v1/transactions/reversed
Club Key
The API key identifies the club. Omit clubId from the body.
Request body
{
"partnerRef": "club_public_id",
"eventId": "reversal_event_external_id",
"occurredAt": "2026-03-25T11:00:00Z",
"member": {
"externalMemberId": "member_external_id"
},
"transaction": {
"externalTransactionId": "transaction_external_id",
"currency": "GBP",
"reversedAt": "2026-03-25T10:58:00Z"
},
"reversal": {
"reason": "merchant_void"
}
}
Success response
{
"ok": true,
"data": {
"eventId": "reversal_event_external_id",
"status": "processed",
"externalTransactionId": "transaction_external_id",
"pointsReversed": 1250,
"balances": {
"pointsBalance": 2150,
"reservedPointsBalance": 0
},
"partner": {
"availablePointsPool": 100000
},
"ledgerGroupId": "settled:jh7...:transaction_external_id"
}
}
Decision rules
More Rewards reverses the original earn only if the full awarded amount is still available. If the points are already reserved or redeemed, balances are not mutated and the event moves to manual review.
Manual review response
{
"ok": false,
"error": {
"code": "manual_review_required",
"message": "The original earn cannot be fully reversed because the points are no longer fully available.",
"retryable": false
}
}
