---
title: "Create a webhook for an email domain"
method: POST
path: "/email_domains/{domain_id}/webhooks"
tags: ["Email Webhooks"]
---

# Create a webhook for an email domain

`POST /email_domains/{domain_id}/webhooks`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/email_domains/{domain_id}/webhooks`
- Auth: HTTP bearer

Creates a webhook endpoint subscribed to a specific allowlist of event types. Both `email.*` events (published by email-api) and `email_domain.*` events (published by this service) flow through the same webhooks.

## Path parameters

- `domain_id` string, uuid, required

## Request body

- CreateEmailWebhookRequest
  - `url` string, uri, required: HTTPS endpoint to deliver subscribed events to.
  - `events` EmailWebhookEvent[], required: At least one event type is required.

## Response `201`

Email webhook created

- EmailWebhookResponse
  - `data` EmailWebhook, required
    - `id` string, uuid, required
    - `record_type` 'email_webhook', required
    - `url` string, uri, required: HTTPS endpoint to deliver subscribed events to.
    - `events` EmailWebhookEvent[], required: Allowlist of event types delivered to this webhook. At least one event is required — there is no default-to-all.
    - `domain_id` string, uuid, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `404`: Resource not found
- `422`: Validation failed
- `500`: Internal server error

## Changes

- **2026-10-15** `a72569d69430`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/email_domains/:domain_id/webhooks/post.md)

---

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