object: "custom_domain_route".
Example
Identifiers
Always
"custom_domain_route".Stable UUID. Use it in
/custom-domain-routes/{id}.The custom domain the route lives on. Immutable.
Path
The path under the domain —
"" for the bare hostname, "support" for /support. Lowercase alphanumeric and hyphen only. Reserved slugs (api, health, _next, .well-known, gateway, favicon.ico, robots.txt, sitemap.xml) are rejected.The combination (domain_id, slug) is unique.Marks the route as the default for the domain. Used by the dashboard to highlight the “primary” route and influences how the bare hostname is treated when multiple routes exist. Set this on the route at slug
"".Only one route per domain may have is_default: true. Setting a second default (on create or PATCH) is rejected with 409 — clear the existing default first.Resource
One of
chatbot, kb, page. Immutable — delete and recreate to re-point a path.Non-null when
type = "kb". See Knowledge bases.Exactly one of
chatbot_id, kb_id, page_id is non-null on any route, and the non-null one must match type. This is enforced both client-side (in the request validator) and by a database CHECK constraint.Public URL
Convenience field — the public URL the route resolves to, built from the parent
domain and slug. Always https://. Null on responses from endpoints where the parent domain isn’t available (currently none — populated on every response).Timestamps
When the route was created. ISO 8601.
Last mutation. ISO 8601.

