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

# Webhooks

> Subscribe to events, verify them, and replay what you missed.

Use the operations below to work with webhooks. Each link opens an interactive reference page generated from the published OpenAPI specification.

## Operations

| Operation                                                                                                                                                                  | Method and path                                               | Required scopes  |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------- |
| [List this credential’s webhook subscriptions](/api/reference/get_v1_webhooks)                                                                                             | `GET /v1/webhooks`                                            | `webhooks.read`  |
| [Subscribe to an event. Returns the signing secret ONCE. Re-subscribing the same event and URL is idempotent](/api/reference/post_v1_webhooks)                             | `POST /v1/webhooks`                                           | `webhooks.write` |
| [One webhook subscription](/api/reference/get_v1_webhooks_webhookId)                                                                                                       | `GET /v1/webhooks/{webhookId}`                                | `webhooks.read`  |
| [Unsubscribe. Idempotent, so deleting an unknown subscription still succeeds](/api/reference/delete_v1_webhooks_webhookId)                                                 | `DELETE /v1/webhooks/{webhookId}`                             | `webhooks.write` |
| [Rotate the signing secret. The old one keeps verifying for 48 hours so you can deploy without dropping payloads](/api/reference/post_v1_webhooks_webhookId_rotate_secret) | `POST /v1/webhooks/{webhookId}/rotate-secret`                 | `webhooks.write` |
| [Delivery history for a subscription, with a failure reason you can act on. Never a response body](/api/reference/get_v1_webhooks_webhookId_deliveries)                    | `GET /v1/webhooks/{webhookId}/deliveries`                     | `webhooks.read`  |
| [Replay a failed delivery. Without this, an hour of downtime means those events are gone for good](/api/reference/post_v1_webhooks_webhookId_deliveries_deliveryId_retry)  | `POST /v1/webhooks/{webhookId}/deliveries/{deliveryId}/retry` | `webhooks.write` |

See [Authentication](/api/authentication) before your first call. For write retries, see [Writing safely](/api/idempotency).
