---
title: "Update webhook"
method: PUT
path: "/v1/webhooks/{id}"
tags: ["Webhooks"]
---

# Update webhook

`PUT /v1/webhooks/{id}`

## Request

- Base URL: `https://smtpfa.st/api`
- URL: `https://smtpfa.st/api/v1/webhooks/{id}`
- Auth: HTTP bearer

Update the URL, events, or active status of an existing webhook endpoint.

## Path parameters

- `id` string, required

## Request body

- UpdateWebhookRequest
  - `url` string, uri
  - `events` string[]: List of event types to subscribe to. Legacy unprefixed email aliases are accepted and normalized to Resend-style email.* event names.
  - `active` boolean: Set to false to pause delivery without deleting the webhook
  - `format` 'standard' | 'discord' | 'slack'

## Response `200`

Webhook updated

- WebhookUpdated: The update response has no timestamps; fetch the webhook for those.
  - `id` string, required
  - `url` string, uri, required
  - `events` string[], required
  - `format` 'standard' | 'discord' | 'slack', required
  - `active` boolean, required

## Other responses

- `400`: Bad request - check your payload
- `401`: Invalid or missing API key
- `404`: Resource not found
- `429`: Rate limit exceeded - retry after the period indicated in the Retry-After header
- `500`: Internal server error

---

[API](https://skmtc.dev/smtpfa/apis/smtpfast-api.md) · [All operations](https://skmtc.dev/smtpfa/apis/smtpfast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smtpfa/apis/smtpfast-api/revisions/79dda742f53e?raw)
