---
title: "Recover Failed Webhook Deliveries"
method: POST
path: "/webhooks/subscriptions/{subscription_id}/recover"
tags: ["Webhooks"]
---

# Recover Failed Webhook Deliveries

`POST /webhooks/subscriptions/{subscription_id}/recover`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/webhooks/subscriptions/{subscription_id}/recover`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/webhooks/subscriptions/:subscription_id/recover/post.ts> (a function with typed inputs; its response is checked against the schema)

Queues every failed delivery to a webhook subscription that was created at or after `since` for another attempt. Use it once your endpoint is back after an outage. Each delivery restarts its retry schedule and keeps its `webhook-id`, so you can deduplicate anything you already processed. The subscription must be enabled. The start time must be within the last 14 days; older start times return HTTP 400.

## Path parameters

- `subscription_id` string, uuid, required: The webhook subscription.

## Query parameters

- `since` string, date-time, required: Recover failed deliveries created at or after this time, for example when your endpoint went down. Must be within the last 14 days.

## Headers

- `Idempotency-Key` string, required: A unique key you generate (1-50 printable ASCII characters, no spaces) so retrying this request never creates a duplicate. Reusing a key is rejected.
- `x-entity-id` string, uuid

## Response `200`

Successful Response

- WebhookRecoverResponse
  - `recovered_count` integer, required: How many failed deliveries were queued for another attempt. Each one restarts its retry schedule. `0` when no delivery created at or after `since` had failed.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

[API](https://skmtc.dev/meow/apis/meow-api.md) - [All operations](https://skmtc.dev/meow/apis/meow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/meow/apis/meow-api/revisions/ea2d7e25b63b?raw)
