# POST /sending/domains

Part of the SendHeron REST API. Base URL: `https://api.sendheron.com/api/v1`

Add a sending domain. Returns the DNS records to publish: the provider DKIM records, an advisory DMARC record, and an ownership challenge TXT record.

```http
POST https://api.sendheron.com/api/v1/sending/domains
Authorization: Bearer <YOUR_API_KEY>
```

**Required scopes:** `sending:write`

**Success status:** `201`

**Rate limit:** 100/min per key, counted against the organization's WRITE ceiling (400/min).

**Body parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | yes | The domain to authenticate, without scheme or path, e.g. `mail.acme.com`. Case and a trailing dot are normalized away. Authenticating a domain covers every address under it, including subdomains. |

**Endpoint-specific errors** (beyond the shared error set):

- `409`: This workspace already has this domain.

> Publish the returned records, then call verify. The ownership challenge is omitted in exactly one case: when this organization has already verified the same domain in another workspace, the domain is authenticated immediately and needs no DNS at all.


---

Rate limits: 100/min per key, counted against the organization's WRITE ceiling (400/min). Both windows are one minute; there is no hourly or daily quota.
