> ## Documentation Index
> Fetch the complete documentation index at: https://docs-consumer.voucher.allride.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Event catalog

> Every webhook type a Partner Consumer can subscribe to, with its trigger and payload.

These are the 25 webhook types a Partner Consumer can subscribe to. Each type links to its page with the full payload schema and an example body. Every body has the same shape (`event` with `id`, `type` and `timestamp`, and `payload` starting with `resource` and `id`; see [Payload format](https://docs-consumer.voucher.allride.io/webhooks/overview.md#payload-format)) and is signed as described in [Verifying signatures](https://docs-consumer.voucher.allride.io/webhooks/verify-signatures.md).

* `catalog-*` events are sent for every voucher set that is visible to you, whether or not you turned it on in your catalog settings, so you learn about new sets you may want to enable.
* Billing types (`invoice-*`, `payment-failed`, `payment-method-deactivated`) need `view-consumer-billing`, and `price-terms-*` types need `view-consumer-pricing`, held by whoever creates or changes the endpoint.
* `webhook-endpoint-test` is sent only when you [send a test event](https://docs-consumer.voucher.allride.io/webhooks/overview.md#test-events).
* New types can be added within `v1`. Ignore types you do not handle and answer `2xx` for them.

| Type | Sent when | `payload` |
| - | - | - |
| [`redemption-created`](https://docs-consumer.voucher.allride.io/webhooks/events/redemption-created) | A voucher is redeemed (any channel except import) | `Redemption` |
| [`redemption-voided`](https://docs-consumer.voucher.allride.io/webhooks/events/redemption-voided) | A redemption is voided | `Redemption` |
| [`redemption-entity-created`](https://docs-consumer.voucher.allride.io/webhooks/events/redemption-entity-created) | An entity is created in the dashboard or by the email OTP gate | `RedemptionEntity` |
| [`redemption-link-exhausted`](https://docs-consumer.voucher.allride.io/webhooks/events/redemption-link-exhausted) | A link reaches `maxRedemptions` or `maxTotalRedemptions` | `RedemptionLink` |
| [`redemption-link-expired`](https://docs-consumer.voucher.allride.io/webhooks/events/redemption-link-expired) | A link passes `expiresAt` | `RedemptionLink` |
| [`catalog-voucher-set-activated`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-activated) | The set becomes active | `ConsumerCatalogEntry` |
| [`catalog-voucher-set-activation-scheduled`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-activation-scheduled) | The provider schedules an activation | `ConsumerCatalogEntry` |
| [`catalog-voucher-set-available`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-available) | A set becomes visible to you (activation, access granted, provider reactivated) | `ConsumerCatalogEntry` |
| [`catalog-voucher-set-deactivated`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-deactivated) | The set is deactivated | `ConsumerCatalogEntry` |
| [`catalog-voucher-set-deactivation-scheduled`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-deactivation-scheduled) | The provider schedules a deactivation | `ConsumerCatalogEntry` |
| [`catalog-voucher-set-depleted`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-depleted) | `stockStatus` becomes `depleted` | `{resource, id}` |
| [`catalog-voucher-set-stock-low`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-stock-low) | `stockStatus` becomes `low` | `{resource, id, stockStatus}` |
| [`catalog-voucher-set-unavailable`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-unavailable) | The set stops being visible to you | `{resource, id, reason}` |
| [`catalog-voucher-set-updated`](https://docs-consumer.voucher.allride.io/webhooks/events/catalog-voucher-set-updated) | New live revision, schedule change, profile or branding change, stock available again | `ConsumerCatalogEntry` + `changedFields` |
| [`price-terms-acceptance-required`](https://docs-consumer.voucher.allride.io/webhooks/events/price-terms-acceptance-required) | a price change started with sets you have not accepted | `{resource, id, startsAt, voucherSetIds}` |
| [`price-terms-accepted`](https://docs-consumer.voucher.allride.io/webhooks/events/price-terms-accepted) | a user of your partner accepts Price Terms | `PriceAcceptance` (consumer view) |
| [`price-terms-change-scheduled`](https://docs-consumer.voucher.allride.io/webhooks/events/price-terms-change-scheduled) | AllRide schedules a change of your Price Terms | `{resource, id, startsAt, voucherSets}` |
| [`invoice-finalised`](https://docs-consumer.voucher.allride.io/webhooks/events/invoice-finalised) | the invoice (also a Stornorechnung) is finalised and its document rendered | `Invoice` (consumer view) |
| [`invoice-overdue`](https://docs-consumer.voucher.allride.io/webhooks/events/invoice-overdue) | the due date passed with an amount due | `Invoice` (consumer view) |
| [`invoice-paid`](https://docs-consumer.voucher.allride.io/webhooks/events/invoice-paid) | the invoice is fully paid | `Invoice` (consumer view) |
| [`invoice-voided`](https://docs-consumer.voucher.allride.io/webhooks/events/invoice-voided) | a Stornorechnung cancels the invoice | `Invoice` (consumer view, status `void`) plus `cancellationInvoiceId` |
| [`payment-failed`](https://docs-consumer.voucher.allride.io/webhooks/events/payment-failed) | a debit or payment attempt fails | payment summary `{resource, id, invoiceId, …}` |
| [`payment-method-deactivated`](https://docs-consumer.voucher.allride.io/webhooks/events/payment-method-deactivated) | the mandate is revoked or fails hard | mandate summary `{resource, id, status, …}` |
| [`webhook-endpoint-test`](https://docs-consumer.voucher.allride.io/webhooks/events/webhook-endpoint-test) | you send a test event | `{resource, id, message}` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.