---
title: "Redeliver an event"
method: POST
path: "/v1/events/{id}/redeliver"
tags: ["Events"]
---

# Redeliver an event

`POST /v1/events/{id}/redeliver`

## Request

- Base URL: `https://api.mails.ai`
- URL: `https://api.mails.ai/v1/events/{id}/redeliver`
- Auth: HTTP bearer

**Requires scope:** `manage`. Re-dispatches a stored event to all matching webhook endpoints. Needs a key that is not tied to an agent, since an endpoint can receive every agent's mail (`403 insufficient_scope`).

## Path parameters

- `id` string, required

## Response `202`

Redelivery scheduled.

- object
  - `event_id` string, required: The event that was sent again: the id in the path.
  - `webhook_endpoint_ids` string[], required: Ids of the endpoints it was sent to: every active endpoint whose `event_types` take this event. Empty when there is none.
  - `scheduled_at` string, date-time: When the redelivery finished (UTC). Each endpoint has been tried once by then, and one that failed is retried like any delivery.

## Other responses

- `401`: Missing or invalid API key.
- `403`: The API key lacks the required scope (`insufficient_scope`), or the token belongs to an app connected by sign-in and this operation is closed to connected apps (`connected_app_not_allowed`).
- `404`: Resource not found in this workspace, or the agent a send names is archived (`agent_archived`).
- `429`: Rate or quota limit exceeded. The body's `resets_at` and `retry_after_seconds` say when the request can succeed. A `Retry-After` header is sent only when that is 60 seconds or less; a longer wait (an hourly, daily or monthly cap) sends none, so retry at `resets_at` or raise the limit instead of sleeping.
- `500`: Internal server error.

---

[API](https://skmtc.dev/mails/apis/mails-ai-api.md) · [All operations](https://skmtc.dev/mails/apis/mails-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mails/apis/mails-ai-api/revisions/4d4930a8c33b?raw)
