Webhook events
Redemption fulfillment failed
A gift-card redemption's fulfillment failed for good, or expired, and its reservation was released. Scrip sends this request to every endpoint subscribed to redemption.fulfillment_failed, signed with both the Standard Webhooks headers (webhook-id, webhook-timestamp, webhook-signature) and the Scrip-Signature header; verify either one.
postWebhookredemption.fulfillment_failed
Payload
Example payload
{
"api_version": "2026-10-07",
"created_at": "2027-01-15T10:30:00Z",
"data": {
"face_value": {
"amount_minor": 2500,
"currency": "USD"
},
"failure_reason": "provider_permanent_error",
"fulfillment_account_id": "71f2a9d4-3b6e-4c8a-9f1d-5e2b8c7a0091",
"fulfillment_id": "4e6a8c02-b3d5-4f79-9b1e-a2c4e6f8b028",
"organization_id": "b6c2e8f4-9a1d-4d37-8e52-7c0a9f3b1d20",
"participant_id": "f7a8b9c0-1d2e-4f3a-b4c5-d6e7f8a9b006",
"program_id": "8f14e45f-ceea-4e70-9df8-2a7d1b3c9f01",
"provider": "TREMENDOUS",
"redemption_id": "7f422b43-4ba2-41c7-b05d-e4e90b68e978",
"status": "FAILED"
},
"id": "0e7c2f3a-4f6e-4a39-9a0b-6f1d3c8b2e11",
"organization_id": "b6c2e8f4-9a1d-4d37-8e52-7c0a9f3b1d20",
"test": true,
"type": "redemption.fulfillment_failed"
}Response
Return any 2xx status to acknowledge the delivery. Scrip retries any other status except 410 Gone, which ends the delivery as FAILED.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.