---
title: "Replay Webhook Message"
method: POST
path: "/v1/webhooks/messages/replay"
tags: ["Webhooks"]
---

# Replay Webhook Message

`POST /v1/webhooks/messages/replay`

## Request

- Base URL: `https://api.sandbox.usenash.com`
- URL: `https://api.sandbox.usenash.com/v1/webhooks/messages/replay`
- Auth: none declared

Resend a Svix webhook. Two lookup modes:

- `msgId`: replay a known message by its Svix ID.
- `tag` + `eventType`: replay the most recent message matching both filters — intended for agent flows like 'resend the dropoff_complete webhook for dlv_123'. Both fields are required together so we never replay an unrelated event for the same entity (a job has many event types tagged with the same job ID).

`eventType` must be the canonical Svix name (e.g. `delivery.dropoff_complete`), not a human description. Call `GET /v1/webhooks/event-types` first to map natural language to the right canonical value.

By default, the message is replayed to every endpoint it was originally attempted against. Pass `endpointId` to scope the replay to one endpoint. Per-endpoint Svix errors are surfaced in `results` rather than failing the whole call.

## Request body

- WebhookMessageReplayRequest
  - `msgId` string, nullable: Replay this specific Svix message. Mutually exclusive with `tag` + `eventType` lookup.
  - `tag` string, nullable: Find a message by tag (Nash entity ID like `dlv_123`) and replay it. Must be paired with `eventType`. The most recent matching message is replayed.
  - `eventType` string, nullable: Svix event type to filter on when looking up by `tag` (e.g. `delivery.dropoff_complete`). Required when `tag` is provided so we don't replay an unrelated event for the same entity.
  - `endpointId` string, nullable: Replay only to this endpoint. If omitted, replays to every endpoint the message was originally attempted against.
  - `idempotencyKey` string, nullable: Optional Svix idempotency key forwarded on each per-endpoint resend call.

## Response `200`

OK

- WebhookMessageReplayResponse
  - `msgId` string, required: Svix message ID that was replayed (resolved from filters when applicable).
  - `eventType` string, nullable: Event type of the replayed message — confirmation that we picked the right event when looking up by `tag` + `eventType`. Null when caller replayed by `msgId` (no extra lookup performed).
  - `total` integer, required: Number of endpoints the replay was dispatched to.
  - `succeeded` integer, required
  - `failed` integer, required
  - `results` WebhookMessageReplayResult[], required
    - `endpointId` string, required
    - `url` string, nullable
    - `success` boolean, required
    - `error` string, nullable: Set when Svix rejected the resend (e.g. endpoint disabled, payload expunged).

## Other responses

- `422`: Unprocessable Content

---

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