Skip to content
LazyFrog

domain

Connects your own domain to your live site: the DNS records to add where you bought it, then the certificate. Hobby: 1 domain per project, Pro 5, Business 10.

Custom domains · Can change or delete · actions: add, verify, remove, set_canonical, set_role, check, status

For reading use domain_read, which is read-only and needs no approval: "check", "status" here are deprecated (still works). Connect the user's own domain to the published site (paid plans: Hobby 1 per project, Pro 5, Business 10; a bare domain with its www counts once, each other hostname such as portal.example.com as one). action "add" (name: example.com connects www.example.com as the main address and the bare domain as a redirect to it; shop.example.com adds just that): returns the DNS records the user creates at their DNS provider, which it names: per hostname one ownership TXT, the certificate TXT records listed (usually two; more may appear within a minute, shown by domain verify) and a CNAME to customers.lazyfrog.app (on the bare domain an ALIAS or flattening, where the provider is known to have one). At a provider that can only forward the bare domain, or one LazyFrog doesn't recognise, only www is connected: the user forwards the bare domain (301) to https://www.<domain> at the provider (it never shows as live, as expected), or, if the provider allows a CNAME or ALIAS on it, "add" with the bare domain again connects it as a redirect. Tell them to keep their MX and email TXT records. Each hostname has a role: main (exactly one: the site's address and SITE_URL), redirect (308 to main, path and query kept: the bare domain and <slug>.lazyfrog.app) or entry (served by the same app as it is, no redirect; the app reads the Host header or SITE_HOSTS). A hostname other than the bare domain and www added after the main one is an entry. "set_role" (name, role: "entry" | "redirect"): change one; "set_canonical" (name): make it the main address (the old main one then redirects). "verify": check now (it is also checked every minute in its first hour, then regularly). States: waiting for DNS → ownership → certificate → live. "remove" (name; confirm: true). "check" (names: up to 10, the first the one wanted and the rest alternatives you propose; or name; no project needed): whether each is available, taken (and whether it already points to LazyFrog) or can't be told for its extension, from the registry and DNS. LazyFrog doesn't sell domains: the user buys the name at any registrar they like (or uses one they own), then "add". "status": the records as public DNS sees them now, each one in place or exactly what is missing or wrong (a CNAME pointing elsewhere, an A or AAAA record in the way, a CAA record blocking the certificate), with the email records to keep; changes nothing.

For your AI: this page as Markdown · llms.txt