---
title: "Replay a webhook delivery"
method: POST
path: "/api/v1/webhooks/deliveries/{deliveryId}/replay"
tags: ["webhooks"]
---

# Replay a webhook delivery

`POST /api/v1/webhooks/deliveries/{deliveryId}/replay`

## Request

- Base URL: `https://api.trigger.dev`
- URL: `https://api.trigger.dev/api/v1/webhooks/deliveries/{deliveryId}/replay`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/docs/api/v1/webhooks/deliveries/:deliveryId/replay/post.ts> (a function with typed inputs; its response is checked against the schema)

Route a delivery's stored event again as a new delivery. Without `targetId` every current subscriber is checked against its filter again. With `targetId` the event goes to that one subscriber, even if its filter skipped it. A replay never resumes waiting runs. Replays start real runs, so the key needs permission to trigger every task the replay runs, and to write sessions if it reaches an agent's subscriber.

## Query parameters

- `targetId` string

## Response `200`

Replay created

- ReplayWebhookDeliveryResponse
  - `deliveryId` string, required: The new delivery. Retrieve it once it's processed to see the runs it started.
  - `replayedFrom` string, required: The delivery that was replayed.

## Other responses

- `401`: Unauthorized request
- `403`: The key can't trigger a task (or write sessions for an agent) that the replay would run
- `404`: The delivery, its endpoint, or the `targetId` subscriber doesn't exist

## Changes

- **2026-10-15** `f44b1ec886c8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/changes/api/v1/webhooks/deliveries/:deliveryId/replay/post.md)

---

[API](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api.md) - [All operations](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/revisions/441161111493?raw)
