{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "redemption-link-exhausted",
"timestamp": 1793610900
},
"payload": {
"id": 8017,
"resource": "redemption-link",
"token": "ExampleLinkToken000001",
"url": "https://vouchers.example-transit.example.com/r/ExampleLinkToken000001",
"name": "Jobticket November - employee 42",
"mode": "entity-bound",
"redemptionEntity": {
"id": 9030,
"resource": "redemption-entity",
"refId": "emp-42",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-entities/9030",
"type": "application/json"
}
}
},
"requireEmailOtp": false,
"allowedProviderIds": [
1030,
1056
],
"allowedVoucherSetIds": [],
"maxRedemptions": 1,
"maxTotalRedemptions": null,
"redemptionCount": 1,
"metadata": {
"campaign": "jobticket-nov"
},
"expiresAt": "2026-11-30T22:59:59Z",
"customDomainId": 20030,
"defaultLocale": "de",
"status": "exhausted",
"lastRedeemedAt": "2026-11-02T09:15:00Z",
"revokedAt": null,
"createdBy": {
"type": "partner-user",
"id": 4069,
"label": "[email protected]"
},
"createdAt": "2026-10-22T09:00:00Z",
"updatedAt": "2026-10-22T09:00:00Z",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-links/8017",
"type": "application/json"
},
"catalog": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-links/8017/catalog",
"type": "application/json"
},
"redemptionEntity": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-entities/9030",
"type": "application/json"
}
}
}
}Redemption links
redemption-link-exhausted
A redemption link reached its cap
WEBHOOK
redemption-link-exhausted
{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "redemption-link-exhausted",
"timestamp": 1793610900
},
"payload": {
"id": 8017,
"resource": "redemption-link",
"token": "ExampleLinkToken000001",
"url": "https://vouchers.example-transit.example.com/r/ExampleLinkToken000001",
"name": "Jobticket November - employee 42",
"mode": "entity-bound",
"redemptionEntity": {
"id": 9030,
"resource": "redemption-entity",
"refId": "emp-42",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-entities/9030",
"type": "application/json"
}
}
},
"requireEmailOtp": false,
"allowedProviderIds": [
1030,
1056
],
"allowedVoucherSetIds": [],
"maxRedemptions": 1,
"maxTotalRedemptions": null,
"redemptionCount": 1,
"metadata": {
"campaign": "jobticket-nov"
},
"expiresAt": "2026-11-30T22:59:59Z",
"customDomainId": 20030,
"defaultLocale": "de",
"status": "exhausted",
"lastRedeemedAt": "2026-11-02T09:15:00Z",
"revokedAt": null,
"createdBy": {
"type": "partner-user",
"id": 4069,
"label": "[email protected]"
},
"createdAt": "2026-10-22T09:00:00Z",
"updatedAt": "2026-10-22T09:00:00Z",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-links/8017",
"type": "application/json"
},
"catalog": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-links/8017/catalog",
"type": "application/json"
},
"redemptionEntity": {
"href": "https://api.voucher.allride.io/consumer/v1/redemption-entities/9030",
"type": "application/json"
}
}
}
}Audience: consumer · Trigger: A link reaches
maxRedemptions or maxTotalRedemptions · Payload: RedemptionLink
Verify the x-signing-signature header before you trust the body (Verifying signatures). Deliveries are at least once and unordered; deduplicate on event.id.Authorizations
Your API key in Authorization: Bearer <key>. Use vk_test_… keys against the sandbox and vk_live_… keys against production.
Headers
t=<unix seconds>,s1=<hex HMAC-SHA256 of "<raw body>.<t>" with your first secret>,s2=<the same with your second secret>. Accept the delivery when either signature matches. See Verifying signatures.
Body
application/json
Response
Acknowledge receipt within 15 seconds.