---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Mail domains"
description: "The `mail_domains` collection of Sylphx Notify: An Email Domain is an email domain Notify sends from and receives for."
type: reference
product: email
summary: "An Email Domain is an email domain Notify sends from and receives for."
updated: 2026-09-28
order: 900
---

An Email Domain is an email domain Notify sends from and receives for. It sends only after its DKIM and SPF records verify; every email is DKIM-signed with the domain's non-exportable key from Sylphx Keys, rotated with overlap. It receives only after every MX record of the domain points at the platform. No key material is ever returned.

**Service** Sylphx Notify · **Resource type** `notify.sylphx.com/EmailDomain` · **Name pattern** `orgs/{org}/projects/{project}/envs/{env}/mail_domains/{mail_domain}` · **Shape** `spec_status`

## Fields

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/mail_domains/{mail_domain}`. |
| `uid` | `string` | `edm_<cell><ulid>`; never reused. Output only. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `spec` | `EmailDomainSpec` | Desired state. Required. |
| `status` | `EmailDomainStatus` | Observed state. Output only. |

## Methods

Every method of the collection, in the registry's order, with the scope it
needs. The full request, response and examples are one link away.

| Method | Call | What it does |
| --- | --- | --- |
| `GET` | [`get`](/docs/api/mail_domains#get) | Gets an email domain. |
| `GET` | [`list`](/docs/api/mail_domains#list) | Lists email domains. |
| `POST` | [`create`](/docs/api/mail_domains#create) | Creates an email domain. |
| `PATCH` | [`update`](/docs/api/mail_domains#update) | Updates an email domain. |
| `DELETE` | [`delete`](/docs/api/mail_domains#delete) | Deletes an email domain. |
| `POST` | [`verify`](/docs/api/mail_domains#verify) | Checks the domain's DNS records now instead of on the next sweep. |

## get

Gets an email domain.

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains/mail-domain` · scope `notify:read` · effect `read` · [Request, response and examples](/docs/api/mail_domains/get)

## list

Lists email domains.

`GET https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains` · scope `notify:read` · effect `read` · paginated · [Request, response and examples](/docs/api/mail_domains/list)

## create

Creates an email domain.

`POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains` · scope `notify:write` · effect `write` · [Request, response and examples](/docs/api/mail_domains/create)

## update

Updates an email domain.

`PATCH https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains/mail-domain` · scope `notify:write` · effect `write` · [Request, response and examples](/docs/api/mail_domains/update)

## delete

Deletes an email domain.

`DELETE https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains/mail-domain` · scope `notify:write` · effect `destructive` · [Request, response and examples](/docs/api/mail_domains/delete)

## verify

Checks the domain's DNS records now instead of on the next sweep.

`POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mail_domains/mail-domain:verify` · scope `notify:write` · effect `write` · [Request, response and examples](/docs/api/mail_domains/verify)
