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

# Create Webhook

`POST /v0/webhooks`

**CLI:**
```bash
agentmail webhooks create --url https://example.com/webhook --event-type message.received
```

## Request body

- WebhooksCreateWebhookRequest — Create a webhook scoped to an inbox. The inbox comes from the path, so `inbox_ids` and `pod_ids` are not accepted.
  - `url` string, required — URL of webhook endpoint.
  - `event_types` EventType[], required — Event types for which to send events.
  - `client_id` string — Client ID of webhook.

## Response `200`

- WebhooksWebhook
  - `webhook_id` string, required — ID of webhook.
  - `url` string, required — URL of webhook endpoint.
  - `event_types` EventType[] — Event types for which to send events.
  - `pod_ids` string[] — Pods for which to send events. Maximum 10 per webhook.
  - `inbox_ids` string[] — Inboxes for which to send events. Maximum 10 per webhook.
  - `secret` string, required — Secret for webhook signature verification.
  - `enabled` boolean, required — Webhook is enabled.
  - `updated_at` string, date-time, required — Time at which webhook was last updated.
  - `created_at` string, date-time, required — Time at which webhook was created.
  - `client_id` string — Client ID of webhook.

## Other responses

- `400`

## Changes

- **2026-07-15** `394ddcdd9c29` — 1 breaking, 4 warning, 4 info
  - added `#/components/schemas/webhooksCreatePodWebhookRequest` to the request body `allOf` list
  - removed the request property `client_id`
  - removed the request property `event_types`
  - removed the request property `inbox_ids`
  - …5 more
- **2026-05-01** `ce126eb1243c` — 1 warning, 1 info
  - added the new `message.received.unauthenticated` enum value to the `event_types/items/` response property for the response status `200`
  - added the new `message.received.unauthenticated` enum value to the request property `event_types/items/`
- **2026-04-08** `69e3767c5ada` — 2 warning, 2 info
  - added the new `message.received.blocked` enum value to the `event_types/items/` response property for the response status `200`
  - added the new `message.received.spam` enum value to the `event_types/items/` response property for the response status `200`
  - added the new `message.received.blocked` enum value to the request property `event_types/items/`
  - added the new `message.received.spam` enum value to the request property `event_types/items/`

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

---

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