---
title: "Register a sending domain"
method: POST
path: "/v1/account/domains/sending"
tags: ["Account"]
---

# Register a sending domain

`POST /v1/account/domains/sending`

## Request

- Base URL: `https://api.briefgate.dev`
- URL: `https://api.briefgate.dev/v1/account/domains/sending`
- Auth: HTTP bearer

Register the domain client mail is sent from. Returns the DNS records to add; the domain does not take effect until it is verified. Verification also runs automatically in the background every 10 minutes for up to 7 days, so calling POST .../verify is a way to check sooner, not the only way it happens — see GET /v1/account/domains for the current state.

## Request body

- object
  - `domain` string, required: Bare hostname — no scheme, no path.

## Response `201`

Registered, pending DNS verification

- object
  - `domain` string
  - `verified` boolean
  - `dns_records` object[]
    - `type` string: DNS record type, e.g. 'TXT', 'MX', 'CNAME'.
    - `name` string
    - `value` string
    - `ttl` unknown
    - `priority` integer: Set on MX records only.
    - `record` 'SPF' | 'DKIM': Sending domain only — which mechanism this record serves.
    - `status` 'not_started' | 'pending' | 'verified' | 'failed' | 'temporary_failure': Per-record verification state. The portal domain's synthesized record only ever reports 'pending' or 'verified'.
  - `next` string

## Other responses

- `400`: Invalid request — malformed body or query parameters
- `401`: Missing or invalid API key
- `402`: The account's plan does not include this — `plan_required` — or a quota is exhausted
- `409`: Domain already claimed by another account

---

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