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

# Recover Failed Messages

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

## Request

- Base URL: `https://api.airweave.ai`
- URL: `https://api.airweave.ai/webhooks/subscriptions/{subscription_id}/recover`
- Auth: API key in header `x-api-key`

Retry failed message deliveries for a webhook subscription.

Triggers a recovery process that replays all failed messages within the
specified time window. This is useful when:

- Your endpoint was temporarily down and you want to catch up
- You've fixed a bug in your webhook handler
- You want to reprocess events after re-enabling a disabled subscription

Messages are retried in chronological order. Successfully delivered messages
are skipped; only failed or pending messages are retried.

## Path parameters

- `subscription_id` string, required: The unique identifier of the subscription to recover messages for (UUID).

## Request body

- RecoverMessagesRequest: Request to retry failed message deliveries. Use this to replay events that failed to deliver during a specific time window, for example after fixing an issue with your webhook endpoint.
  - `since` string, date-time, required: Start of the recovery time window (inclusive). All failed messages from this time onward will be retried.
  - `until` string, date-time, nullable: End of the recovery time window (exclusive). If not specified, recovers all failed messages up to now.

## Response `200`

Recovery task information

- RecoveryTask: Information about a message recovery task. When you trigger a recovery of failed messages, this object is returned to track the recovery progress. The status indicates whether the recovery is still in progress or has completed.
  - `id` string, required: Unique identifier for this recovery task (Svix internal ID)
  - `status` string, required: Recovery task status: 'running' or 'completed'

## Other responses

- `404`: Subscription Not Found
- `422`: Validation Error
- `429`: Rate Limit Exceeded

## Changes

> 63 revisions in range; 2 not diffed.

- **2026-02-14** `dcef44679b67`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/airweave-ai/apis/airweave/changes/webhooks/subscriptions/:subscription_id/recover/post.md)

---

[API](https://skmtc.dev/airweave-ai/apis/airweave.md) - [All operations](https://skmtc.dev/airweave-ai/apis/airweave/llms.txt) - [OpenAPI document](https://skmtc.dev/airweave-ai/apis/airweave/revisions/bf410c28c0c6?raw)
