Guarantee Events#
CasaPay sends webhook events for guarantee lifecycle changes.
Event Types#
| Event | Description |
|---|---|
guarantee.created | A new guarantee was created |
guarantee.activated | Guarantee is now active |
guarantee.claimed | A claim was filed |
guarantee.expired | Guarantee expired |
guarantee.cancelled | Guarantee was cancelled |
claim.submitted | A new claim was submitted |
claim.approved | A claim was approved |
claim.denied | A claim was denied |
claim.paid | A claim payout was sent |
Event Object#
{
"id": "evt_grt_abc123",
"object": "event",
"type": "claim.approved",
"data": {
"object": {
"id": "clm_ghi789",
"object": "claim",
"guarantee": "grt_def456",
"amount": 120000,
"currency": "eur",
"status": "approved",
"reason": "missed_payment"
}
},
"created": 1709078400
}Handling Guarantee Events#
app.post('/webhooks/casapay', async (req, res) => {
const event = req.body;
switch (event.type) {
case 'claim.approved':
await notifyLandlord(event.data.object, 'Claim approved — payout incoming');
break;
case 'claim.denied':
await notifyLandlord(event.data.object, 'Claim denied');
break;
case 'guarantee.expired':
await promptGuaranteeRenewal(event.data.object);
break;
}
res.status(200).send();
});