Returns the organization's email sending domain as saved: domain, status (pending until the DNS records are confirmed, then verified), added_at, verified_at, dns_records (the TXT for DKIM, the MX and the SPF TXT of the MAIL FROM subdomain, each with verified) and senders (the addresses on that domain, in order; the first is the default From), plus footer_address (the postal address printed in commercial emails). configured false when there is none. effective_domain is the domain branded emails actually go out from: the organization's own if verified, else its workspace's verified one (inherited_from_parent true), else null (MB Suite's address). It calls no external provider: branding.email_domain.verify refreshes the status. Requires view access to Branding.
Scope
branding:read
Permission
View the module
MCP tool
branding_email_domain_getOn the full surface; on the compact one, mb_execute_operation with id: "branding.email_domain.get".
Declared cost: up to 2 reads and 0 writes per call (they count against the daily quota).
Registers the domain the organization will send emails from (campaigns, flows, reports and shared emails with its brand): the root domain it owns (youragency.com; a leading send., mail., email., bounce. or reply. is dropped; never mb-suite.com). Creates the identity in the email provider and returns dns_records: a TXT record for DKIM and the MX and SPF TXT of the send. subdomain, to publish at the registrar; then branding.email_domain.verify. One sending domain per organization: with one already set, 409 email_domain_already_set (remove it first); a domain another organization already uses, 409 email_domain_in_use. Owners and admins with edit access to Branding.
Instructions for agents
Give the person the three DNS records exactly as returned (type, host, value, priority for the MX) and tell them to verify once published; the provider can take minutes to confirm.
Needs confirmation: first dry_run: true (preview and confirm_token, valid 10 minutes and for one run), then the same body with confirm_token. In a few operations only with certain data: the description says when. Why and how: Dry run and confirm_token.
Scope
branding:write
Permission
Edit in the module · Only owner, admin
MCP tool
branding_email_domain_addOn the full surface; on the compact one, mb_execute_operation with id: "branding.email_domain.add".
Declared cost: up to 6 reads and 1 writes per call (they count against the daily quota). Touches an external platform (ses): it counts against the external operations quota.
Parameters
domainstringbodyrequired
The root domain to send from (youragency.com). A leading send., mail., email., bounce. or reply. is dropped.
With a test API key the request always goes to your practice organization: example data you can reset.In the practice organization this operation is not simulated (it reaches another platform): it answers 409 sandbox_external_unavailable.
POST/v1/branding/email-domain/verify
Verify the sending domain's DNS
branding.email_domain.verify
WriteIdempotentSince 2026-11-01
Checks the sending domain with the email provider and, on its own, against the domain's authoritative DNS; saves the status and the dns_records with their verified flags. Returns verified and, while pending, reason_code: dns_not_found (the records are not published), dns_invalid (published with another value), dns_found_confirming (we see them, the provider is confirming: minutes) or dns_pending. If the provider had given up looking (it stops after 72 hours), the search is restarted automatically (restarted). When the domain becomes verified it fires branding.email_domain.verified once and its senders can be used. Not found without a sending domain. Owners and admins with edit access to Branding.
Scope
branding:write
Permission
Edit in the module · Only owner, admin
MCP tool
branding_email_domain_verifyOn the full surface; on the compact one, mb_execute_operation with id: "branding.email_domain.verify".
Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota). Touches an external platform (ses): it counts against the external operations quota.
curl-X POST "https://api.mb-suite.com/v1/branding/email-domain/verify" \
-H"Authorization: Bearer $MB_API_KEY"
Try it with your test API key
With a test API key the request always goes to your practice organization: example data you can reset.In the practice organization this operation is not simulated (it reaches another platform): it answers 409 sandbox_external_unavailable.
DELETE/v1/branding/email-domain
Remove the sending domain
branding.email_domain.remove
IrreversibleSince 2026-11-01
Removes the organization's sending domain and all its senders: the identity is deleted from the email provider and branded emails go back to MB Suite's address (or to the workspace's domain, for an Account); Email Marketing campaigns and flows need a verified domain again. The DNS records at the registrar are not touched. There is no trash: to undo, add the domain again (the same records apply) and re-create the senders. Not found without a sending domain. Outside the app it needs a dry run and its confirm_token. Owners and admins with edit access to Branding.
Needs confirmation: first dry_run: true (preview and confirm_token, valid 10 minutes and for one run), then the same body with confirm_token. In a few operations only with certain data: the description says when. Why and how: Dry run and confirm_token.
Scope
branding:writeand “Allow deletions” (branding:delete in OAuth)
Permission
Edit in the module · Only owner, admin
MCP tool
branding_email_domain_removeOn the full surface; on the compact one, mb_execute_operation with id: "branding.email_domain.remove".
Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota). Touches an external platform (ses): it counts against the external operations quota.
With a test API key the request always goes to your practice organization: example data you can reset.In the practice organization this operation is not simulated (it reaches another platform): it answers 409 sandbox_external_unavailable.