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"}.
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.
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.
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.
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"}'