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. Purchasing is available on paid plans; a free project gets 402 FREE_TIER_LIMIT_REACHED
with the one-call upgrade. See free-tier limits.
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.