Add a domain
Registers a sending domain with the provider. Optional sendingPurpose is marketing (default; campaigns and automations) or transactional (API/MCP inline to only). Returns 201 with the bare row in status: "pending" plus the DNS records to publish. Once the records are live, call POST /v1/domains/{domainId}/verify until sendable: true.
Authorizations
Send your Brew API key as Authorization: Bearer brew_xxx.
Headers
Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.
1 - 100The brand this request acts on. REQUIRED for organization-scoped credentials (otherwise 400 BRAND_ID_REQUIRED — there is no default brand); list ids with GET /v1/brands. Brand-scoped credentials may omit it, and sending a different brand returns 403 BRAND_SCOPE_MISMATCH. A brand outside your organization returns 404 BRAND_NOT_FOUND.
1 - 64Body
1 - 253us-east-1 1 - 64marketing (default) for campaigns and automations, or transactional for API/MCP inline to only.
marketing, transactional Response
Added — publish the returned DNS records, then verify.
1 - 641 - 253not_started, pending, verified, failed, temporary_failure, partially_verified, partially_failed marketing (default) or transactional. Transactional domains skip unsubscribe and may only send via API/MCP inline to (or a test send).
marketing, transactional