curl --request POST \
--url https://{cluster}.voucherify.io/v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/pending-points/{bucketId}/cancel \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>'{
"transaction": {
"id": "lctx_12d7941860abf9e87f",
"card_id": "lcrd_128f962dbd8c4ba5df",
"program_id": "lprg_128f58429f4c4bf7b2",
"member_id": "lmbr_128f962dbc8c4ba5dc",
"card_definition_id": "lcdef_128f495f720c4bec8c",
"card_type": "INDIVIDUAL",
"type": "PENDING_POINTS_CANCELED",
"details": {
"reason": "Manual points cancellation",
"rejection": null,
"metadata": {},
"points": {
"total": 60,
"date": "2026-08-16",
"type": "PERIOD_BASED"
}
},
"status": "PENDING",
"created_at": "2026-08-06T14:01:13.346Z",
"updated_at": null,
"object": "card_transaction"
},
"status": "TRANSACTION_CREATED",
"message": "Points cancellation transaction created"
}Cancel pending point bucket
Cancels a pending points bucket so its points aren’t activated. Creates a PENDING_POINTS_CANCELED card transaction. The transaction is created with status PENDING and processed asynchronously. No request body.
The bucket must be PENDING, and its date must be after the current project day. The program and the member must be ACTIVE, and the program must be inside its validity window. Otherwise the response is 423.
Returns 404 when the program or the member doesn’t exist, when the card isn’t assigned to that member, or when the bucket isn’t on that card.
curl --request POST \
--url https://{cluster}.voucherify.io/v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/pending-points/{bucketId}/cancel \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>'{
"transaction": {
"id": "lctx_12d7941860abf9e87f",
"card_id": "lcrd_128f962dbd8c4ba5df",
"program_id": "lprg_128f58429f4c4bf7b2",
"member_id": "lmbr_128f962dbc8c4ba5dc",
"card_definition_id": "lcdef_128f495f720c4bec8c",
"card_type": "INDIVIDUAL",
"type": "PENDING_POINTS_CANCELED",
"details": {
"reason": "Manual points cancellation",
"rejection": null,
"metadata": {},
"points": {
"total": 60,
"date": "2026-08-16",
"type": "PERIOD_BASED"
}
},
"status": "PENDING",
"created_at": "2026-08-06T14:01:13.346Z",
"updated_at": null,
"object": "card_transaction"
},
"status": "TRANSACTION_CREATED",
"message": "Points cancellation transaction created"
}Authorizations
Path Parameters
Unique loyalty program ID (format lprg_[a-f0-9]+).
^lprg_[a-f0-9]+$Program member ID (format lmbr_[a-f0-9]+).
^lmbr_[a-f0-9]+$Loyalty card ID (format lcrd_[a-f0-9]+).
^lcrd_[a-f0-9]+$Pending points bucket ID (format lcppb_[a-f0-9]+).
^lcppb_[a-f0-9]+$Response
Result of the pending points cancellation.
Response body schema for POST /v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/pending-points/{bucketId}/cancel.
Result of a pending points cancellation. This endpoint always returns status TRANSACTION_CREATED on success.
The created PENDING_POINTS_CANCELED card transaction.
Show child attributes
Show child attributes
Result status. The API endpoint returns TRANSACTION_CREATED.
TRANSACTION_CREATED Human-readable result message - "Points cancellation transaction created".
Points cancellation transaction created 
