Domains & DNS
Search, register, and manage the lifecycle of sending domains you buy through Infrabox — including DMARC, forwarding, catch-all, nameservers, and renewals. (If you already own a domain and just want to point it at Infrabox without changing registrars, see Cloudflare Domains instead.)
Domains
| Method | Path | Description |
|---|---|---|
POST | /v1/api/domains/search | Search available domains by keyword/TLD |
GET | /v1/api/domains/available | Check if a specific domain name is available |
GET | /v1/api/domains/banned | Check if a domain is banned from registration |
POST | /v1/api/domains/register | Register domain(s) |
GET | /v1/api/domains/list | List domains in the workspace |
GET | /v1/api/domains/assignable | List domains assignable to mailboxes/orders |
POST | /v1/api/domains/remove | Remove domain(s) |
POST | /v1/api/domains/dmarc | Set DMARC policy |
DELETE | /v1/api/domains/dmarc | Remove DMARC policy |
POST | /v1/api/domains/forwarding | Set or remove domain (URL) forwarding |
POST | /v1/api/domains/email-forwarding | Set email forwarding |
DELETE | /v1/api/domains/email-forwarding | Remove email forwarding |
POST | /v1/api/domains/catch-all | Set catch-all email address |
DELETE | /v1/api/domains/catch-all | Remove catch-all |
POST | /v1/api/domains/nameservers | Create custom nameservers |
POST | /v1/api/domains/nameservers/check-propagation | Check nameserver propagation |
POST | /v1/api/domains/nameservers/regenerate | Regenerate nameservers after expired propagation |
POST | /v1/api/domains/sync-nameservers | Sync nameservers at the registrar |
POST | /v1/api/domains/check-workspace-availability | Check whether domains are free to use in this workspace |
Register a domain
curl -X POST https://api.infrabox.software/v1/api/domains/register \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-Id: YOUR_WORKSPACE_UID" \
-H "Content-Type: application/json" \
-d '{
"domains": [{ "name": "yourdomain.com", "registration_years": 1 }],
"dmarc_email": "[email protected]",
"contact_details": {
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "+1234567890",
"address_line1": "123 Main St",
"city": "New York",
"state": "NY",
"country": "US",
"postal_code": "10001"
},
"use_wallet_balance": true
}'contact_details becomes the domain’s WHOIS/registrant record — registrars require real values.
Set use_wallet_balance: true to pay from your wallet instead of a
per-transaction Stripe charge.
For “register a domain and immediately create mailboxes on it,” use
POST /v1/api/orders instead — it wraps registration and mailbox creation into one
call and one status object.
DNS
| Method | Path | Description |
|---|---|---|
GET | /v1/api/dns/list | Get DNS records for a domain |
POST | /v1/api/dns/add | Add DNS record(s) |
POST | /v1/api/dns/update | Update DNS record(s) |
POST | /v1/api/dns/delete | Delete DNS record(s) |
POST | /v1/api/dns/verify | Verify DNS records resolve as expected |
POST | /v1/api/dns/repair | Repair DNS records that have drifted |
DNS endpoints only apply to domains registered through Infrabox (or connected via Cloudflare Domains) — Infrabox needs to control the zone to write records.
Domain Renewals
| Method | Path | Description |
|---|---|---|
GET | /v1/api/domains/renewals/status | Get renewal status for a domain |
POST | /v1/api/domains/renewals/request | Request a renewal |
Registrar Connections
Bring your own registrar credentials so domains registered elsewhere can still be managed through Infrabox.
| Method | Path | Description |
|---|---|---|
GET | /v1/api/registrar-connections | List saved registrar connections |
POST | /v1/api/registrar-connections | Save or update a registrar connection |
Errors
| Status | Meaning |
|---|---|
400 | Invalid body, or domain not available/already registered |
401 | Missing/invalid API key |
404 | Domain or workspace not found |
500 | Internal error |