Domains
Buy a domain through Amba and connect it to your site automatically — no DNS setup. Search availability, see the price, confirm, and Amba registers the domain and provisions a managed TLS certificate for you.
Amba can buy a domain for you and connect it to one of your sites in a single flow — you never touch DNS. Search for an available name, see the price, confirm, and Amba registers the domain, points it at your site, and provisions a managed TLS certificate automatically.
This is the fastest path from "I need a domain" to a live site on it. If you already own a domain and just want to attach it, use the custom-domain flow on Sites instead — that path has you point a DNS record yourself.
Buying a domain costs money and a registration is permanent. Amba always shows you the price and asks you to confirm before anything is charged. Searching and checking availability are always free.
The flow
- Search for available names (free).
- Check the exact price + availability of the ones you like (free).
- Buy — Amba shows the cost, you confirm, and Amba:
- registers the domain,
- connects it to your chosen site,
- publishes the DNS records for you, and
- starts issuing a TLS certificate.
When the certificate finishes issuing (usually a minute or two) your site is live on the new domain with HTTPS — no DNS configuration on your side.
CLI
Options on buy:
--site <name>(required) — the site to connect the domain to.--years <n>— registration length in years (default 1).--no-privacy— disable WHOIS privacy (on by default).--no-auto-renew— disable auto-renew (on by default).--yes— skip the interactive cost confirmation prompt.
MCP tools
Agents can run the whole flow through MCP:
amba_domains_search— find available domains for a query (free).amba_domains_check— authoritative availability + price for specific domains (free).amba_domains_purchase— buy + connect a domain to a site.amba_domains_list— list domains purchased through Amba.amba_domains_email_enable/amba_domains_email_status— enable and inspect inbound routing.amba_domains_email_destinations_add/list/get— start and poll mailbox verification.amba_domains_email_forwards_set/list/delete— manage literal forwards such assupport@example.com → owner@gmail.com.amba_domains_email_catch_all_set/get— forward every unmatched address to one mailbox.
amba_domains_purchase is two-step for safety: the first call (without
confirm) returns a quote with the price and confirmation_required: true
and charges nothing. Surface the cost to the user, then call again with
confirm: true and accept_price_usd set to the quoted price to execute.
Email forwarding
Domains purchased through Amba can receive email without a separate mailbox server. Inbound messages can be forwarded from named addresses or a catch-all to an existing external mailbox.
The forward/catch-all tools combine these steps when possible. If the
destination is new, they return action_required: true; repeat the same set
call after verification to activate the rule.
Enabling forwarding refuses with EMAIL_MX_CONFLICT when the domain already uses another mail
provider. Amba will not silently replace an existing mailbox service.
Email forwarding is inbound-only. It does not create an inbox or provide SMTP credentials for sending mail as the domain.
REST
All endpoints are project-scoped and Bearer-authed (/v1/admin/...).
Search (free)
Check (free)
Each result adds a supported flag — false means that extension can't be
registered through Amba yet.
Purchase
site is optional — include it to auto-connect the domain to that site, or
omit it to register the domain only and connect it to a site later.
The first call (no confirm) returns a quote and charges nothing:
To execute, re-submit with the price acknowledgement and confirmation:
On success:
A confirmed purchase also returns an operation_id (when the registrar
settles asynchronously). Poll it to a terminal succeeded / failed instead
of guessing — see Operations:
Registration, binding creation, hostname activation, certificate deployment,
Worker routing, host KV, and managed DNS are separate states. provisioned: true means the binding was created; it does not mean the public URL is
reachable. Treat the hostname as ready only when server-derived
hostname_live: true. That requires active ownership_status, cert_status,
route_status, kv_status, and dns_status for a purchased domain. The
purchase response's live field remains the payment/registration execution
gate and is not a reachability signal.
The confirmed purchase 201 includes the persisted route_status,
kv_status, and dns_status values shown above. Clients should display those
values directly rather than substituting pending when provider activation is
the only unfinished plane.
Track registration and authoritative binding status with:
Both GET endpoints re-poll the linked Site binding and expose the apex plus
any www alias. A pending hostname can therefore transition to
hostname_live: true through normal polling. Use the Site domain refresh
endpoint when an operator needs to force repair of DNS, Worker route, or KV.
Email routing
Errors
409 DOMAIN_UNAVAILABLE— the name isn't available to register.409 DOMAIN_EXTENSION_UNSUPPORTED— that extension can't be registered through Amba yet.409 PRICE_CHANGED— the price moved since you were quoted; re-check and re-confirm with the new price.503 DOMAINS_NOT_CONFIGURED— domain purchasing isn't available on this deployment.
If domain purchasing isn't enabled for your account, a confirmed purchase returns the quote with
gated: true and still charges nothing — the name is available at the price shown, but
completing it requires purchasing to be turned on.