check_domain_availability
Check whether ONE specific, fully-spelled domain is available, taken, or a premium listing. Use whenever a user names a specific domain (e.g. "is acme.com available?", "who owns x.io?", "can I get nova.ai?"). For open-ended "suggest names for my idea" requests use search_brandable_domains instead. If the user wants to PURCHASE a domain they already know is an Atom marketplace listing, use get_domain_details instead — this tool checks fresh-registration availability, which will misleadingly report an already-listed/owned domain as "taken."
Returns: status ("available" = registrable now | "taken" = registered/unavailable | "premium" = for sale on Atom), registrable (bool), price + currency when applicable, estimated_value (rough appraisal, optional), and alternatives[] — when the domain is taken or premium, the closest available premium names from Atom (each with domain, price, url) so the user always has a buyable path.
IMPORTANT — which tool to call next depends on status, and the top-level url means different things accordingly: status "available" (a fresh domain, NOT an Atom marketplace listing) → call register_domain to register it directly in this conversation; its url is a self-service registration page on Atom, only worth mentioning if the user prefers to do it themselves. Status "taken" or "premium" (an existing Atom marketplace listing) → call purchase_domain to buy it directly in this conversation; its url is the marketplace listing page. Never call register_domain for a "premium"/"taken" domain or purchase_domain for an "available" one — each rejects the wrong case with a clear error. Both tools quote a real price breakdown and ask you to state the payment method (Atom balance or saved card) before charging anything. If register_domain reports error registrant_contact_required, that's expected for a fresh domain and not a dead end: ask the user for their name, phone, address, city, zip, and country, call create_registrant_contact with those, then retry register_domain with confirm=true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check, including extension, e.g. 'example.com'. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Atom URL for this domain. | |
| price | No | Price in USD when applicable. | |
| domain | Yes | ||
| status | Yes | available = registrable now; taken = registered/unavailable; premium = for sale on Atom. | |
| success | Yes | ||
| currency | No | ||
| registrable | Yes | Whether the domain can be registered now. | |
| alternatives | No | Closest available Atom premium names when the domain is taken/premium. | |
| estimated_value | No | Rough appraisal in USD (optional). |