Amba

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

  1. Search for available names (free).
  2. Check the exact price + availability of the ones you like (free).
  3. 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

# Search for available names + prices (free)
amba domains search getunbury
 
# Price specific names (free)
amba domains check getunbury.com getunbury.app
 
# Buy one + connect it to a site. Shows the cost and asks to confirm.
amba domains buy getunbury.com --site marketing
 
# Skip the interactive confirmation (e.g. in a script) — still only buys
# if purchasing is enabled for your account.
amba domains buy getunbury.com --site marketing --yes
 
# Domains you've bought through Amba
amba domains list

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_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.

REST

All endpoints are project-scoped and Bearer-authed (/v1/admin/...).

Search (free)

GET /v1/admin/projects/{project_id}/domains/search?q=getunbury&limit=20
{
  "data": [
    {
      "domain": "getunbury.com",
      "available": true,
      "price_usd": 10.44,
      "currency": "USD",
      "premium": false
    },
    {
      "domain": "getunbury.app",
      "available": true,
      "price_usd": 12.0,
      "currency": "USD",
      "premium": false
    }
  ]
}

Check (free)

POST /v1/admin/projects/{project_id}/domains/check
{ "domains": ["getunbury.com", "getunbury.app"] }

Each result adds a supported flag — false means that extension can't be registered through Amba yet.

Purchase

POST /v1/admin/projects/{project_id}/domains/purchase
{ "domain": "getunbury.com", "site": "marketing" }

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:

{
  "data": {
    "domain": "getunbury.com",
    "site": "marketing",
    "executed": false,
    "confirmation_required": true,
    "price_usd": 10.44,
    "currency": "USD",
    "message": "Confirm to purchase: re-submit with `confirm: true` and `accept_price_usd` set to the price above."
  }
}

To execute, re-submit with the price acknowledgement and confirmation:

POST /v1/admin/projects/{project_id}/domains/purchase
{
  "domain": "getunbury.com",
  "site": "marketing",
  "confirm": true,
  "accept_price_usd": 10.44,
  "auto_renew": true,
  "privacy": true,
  "years": 1
}

On success:

{
  "data": {
    "domain": "getunbury.com",
    "site": "marketing",
    "executed": true,
    "registered": true,
    "provisioned": true,
    "dns_autoconfigured": true,
    "cert_status": "pending_validation",
    "public_url": "https://getunbury.com",
    "message": "Domain registered and connected — no DNS setup needed. The certificate is issuing now."
  }
}

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:

GET /v1/admin/projects/{project_id}/operations/{operation_id}

The certificate advances pending_validation → pending_issuance → pending_deployment → active on its own. Track it (and the domain's registration status) with:

GET /v1/admin/projects/{project_id}/domains            # all your domains
GET /v1/admin/projects/{project_id}/domains/{domain}   # one domain's status

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.

On this page