Skip to content

Domains

Verify a custom mail domain and provision branded inboxes.

01

Add a domain#

Requires an account key and a paid plan. mode is send_only (the default: DKIM, a return-path subdomain and DMARC, no MX), inbound_subdomain (the name stays send-only and <inbound_label>.<name>, default in.<name>, is added to receive mail; the response carries it as inbound_domain), or full_mx (receive at the name itself, which replaces its current MX records). The response lists every DNS record to publish in records. See the custom domains guide for what each record does. Change the mode later with PATCH /v0/domains/:id and {"mode":"send_only"} or {"mode":"full_mx"}.

Shell
curl https://botinbox.dev/v0/domains -X POST -H "Authorization: Bearer $BOTINBOX_API_KEY" \
  -H "Content-Type: application/json" -d '{"name":"example.com","mode":"inbound_subdomain","inbound_label":"in"}'

02

Verify DNS#

After publishing the records, trigger verification. A successful result changes the domain to VERIFIED.

Shell
curl https://botinbox.dev/v0/domains/DOMAIN_ID/verify -X POST -H "Authorization: Bearer $BOTINBOX_API_KEY"

03

Remove a domain#

Deleting a domain stops sending and receiving for it. It is refused with 409 domain_in_use while inboxes use it; pass force=true to detach those inboxes.

Shell
curl "https://botinbox.dev/v0/domains/DOMAIN_ID?force=true" -X DELETE -H "Authorization: Bearer $BOTINBOX_API_KEY"

04

Create branded inboxes#

Pass the verified domain when creating an inbox.

Shell
curl https://botinbox.dev/v0/inboxes -X POST -H "Authorization: Bearer $BOTINBOX_API_KEY" \
  -H "Content-Type: application/json" -d '{"username":"scout","domain":"agents.example.com"}'