Custom domains
Serve an environment's APIs (/rest/v1, /auth/v1, /storage/v1,
/functions/v1, /realtime/v1) from a hostname you own, such as
api.example.com. Custom domains are included in your plan.
Add a domain
- In the console, open Settings > Domains and add the hostname and the environment it serves.
- Add the two records the page shows at your DNS provider:
- a CNAME from your hostname to the target shown;
- a TXT record at
_scribase-challenge.<your hostname>that proves you own it.
- That's it. The page checks the records by itself and moves through Pending, Verified and Certificate live, with the certificate's real expiry date.
For an apex domain (example.com) use your provider's CNAME flattening
(ALIAS/ANAME); the check accepts a domain that resolves to the same
addresses as the target.
How the certificate is issued
The certificate comes from Let's Encrypt on the first secure request to your hostname once the DNS records are visible. Before it is ordered, the project router asks the control plane whether the hostname is a verified custom domain; any other name gets no certificate, and these asks are rate-limited. Renewals are automatic.
API
POST /v1/organizations/{org}/projects/{project}/domainswith{"domain", "environment_id"}adds a domain and returns both records.POST .../domains/{domain}/verifychecks it: ownership, where the domain points (dns_target_ok) and the certificate being served (certificate_state,certificate_expires_at). A missing TXT record answers409 verification_record_missing.DELETE .../domains/{domain}removes it.
Passkeys
When an environment has passkeys on, its verified custom domains join the passkey origins automatically (see Passkeys, MFA and SAML).