---
title: "Create Webhook"
method: POST
path: "/webhooks"
tags: ["Webhooks"]
---

# Create Webhook

`POST /webhooks`

Create a new webhook

## Request body

- WebhookInput
  - `status` 'enabled' | 'disabled' — The status of a webhook.
  - `event_types` ExternalEventType[], required — The types of event for which the webhook will be triggered.
  - `url` string, uri, required — The URL to which the webhook will send POST requests.
  - `description` string — An optional description of the webhook, for reference.
  - `signing_key` string — Optional HMAC signing key for webhook verification. When set, webhook requests will include an X-Buttondown-Signature header with sha256=<signature>.

## Response `201`

Created

- Webhook — Webhooks are used to notify external services of events that occur in the system. For example, when a newsletter is sent, a webhook can be used to notify an external service that the newsletter has been sent.
  - `id` string, required — A unique TypeID associated with the object.
  - `creation_date` string, date-time, required — The date and time at which the object was first created.
  - `status` 'enabled' | 'disabled', required — The status of a webhook.
  - `event_types` ExternalEventType[], required — The types of event for which the webhook will be triggered.
  - `url` string, required — The URL to which the webhook will send POST requests.
  - `description` string — An optional description of the webhook, for reference.
  - `signing_key` string — Optional HMAC signing key for webhook verification. When set, webhook requests will include an X-Buttondown-Signature header with sha256=<signature>.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `422` — Unprocessable Entity
- `429` — Too Many Requests

## Changes

- **2026-08-14** `0c0c3e81fc96` — 1 warning, 1 info
  - added the new `email.send.started` enum value to the `event_types/items/` response property for the response status `201`
  - added the new `email.send.started` enum value to the request property `event_types/items/`

[Change history](https://skmtc.dev/buttondown/apis/buttondown-api/changes/webhooks/post.md)

---

[API](https://skmtc.dev/buttondown/apis/buttondown-api.md) · [All operations](https://skmtc.dev/buttondown/apis/buttondown-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/buttondown/buttondown-api/revisions/e0ac41d86464/schema)
