Every page receives a platform URL in the button.contact namespace. A verified custom domain can become canonical without removing the platform identity.
Domain flow
- Create a page and keep its UUID.
- Create a domain under the same workspace and page.
- Add the exact returned
cname_target at your DNS provider.
- Call the verification endpoint until the status is
verified.
- Enable the custom publish destination after certificate provisioning.
The API also returns legacy_cname_target: button.contact for existing installations. New domains should use the tokenized target so ownership can be verified without ambiguity.
Before enabling new-domain creation, the platform operator must route the *.domains.button.contact wildcard to the Pages edge and provision its TLS certificate. Keep the legacy target available so existing customer CNAMEs continue to work.
Discovery contract
Published pages provide semantic HTML, canonical metadata, schema.org JSON-LD, a sitemap entry, Markdown, a Contact Button manifest, llms.txt, and an A2A Agent Card. Custom domains expose the same paths at the domain root.
Do not put credentials, private knowledge, unpublished form answers, or hidden integration configuration into public page metadata or agent instructions.