---
title: "Adding a domain was refused"
description: "Tell apart the three ways a domain add is refused: another org holds the parent, your plan's domain limit, and a generic state conflict."
---

> **For AI agents:** the complete documentation index is at [llms.txt](/docs/llms.txt). Append `.md` to any page URL for its markdown version.

Three different refusals can meet a `POST /v1/domains` call, and the status plus error `type` tells you which.

## 409 domain_parent_taken

Another organization already verified a domain under the same registrable parent, which is why checking your own domain list will not explain this one. Legitimate for agencies and subsidiaries: write to contact@mailfully.com for an allowlist entry.

## 403 domain_limit_reached

Your organization already holds as many domains as its plan allows. Every domain counts, pending ones included, so a half-finished add you forgot about can be the thing pushing you over the limit. Domains are shared across your test and live environments, so a domain added under either one counts against the same org-wide limit. The fix is to upgrade the plan. See [Quotas and plan limits](/concepts/quotas-and-plan-limits) for how the domain cap fits alongside the rest of what your plan includes.

## 409 conflict

The generic state conflict. Fetch the current state of the domain and reconcile before retrying.

## Check what you already have

`GET /v1/domains` lists every domain on the org with its current `status`:

```bash
curl https://api.mailfully.com/v1/domains \
  -H "Authorization: Bearer mf_live_xxxxxxxxxxxx"
```

Useful for the limit case, since a pending domain still counts, and for confirming a half-finished add. See [`GET /v1/domains`](/api-reference/domains/list).

## Subdomains are separate domains

`mail.acme.com` and `acme.com` are separate domain records: each is verified separately and each counts against the limit on its own. See [Subdomain or root domain](/deliverability/subdomain-or-root-domain).
