SaaS products Ledgerly Domains
Domains · Ledgerly
Connect custom domains for this app. Verification and TLS run through Cloudflare.
| Domain | Status | |
|---|---|---|
| app.ledgerly.comPrimary | Active · TLS issued | |
| ledgerly.io | Pending verification | |
| try.ledgerly.com | Active · TLS issued |
About this page
The web addresses your product answers on. Add your own domain and it’s verified through Cloudflare with the security certificate issued automatically — no certificate files to manage, ever. The primary badge marks the address customers see.
Behind this page/apps/:saasAppId/domains · CanManageDomains
Retrieve
sp_Builder_ListAppDomains returns domains with primary flag and SaaSAppDomains.Status (Pending/Active/Inactive).Save
Add →sp_Builder_AddDomain; primary → sp_Builder_SetPrimaryDomain; remove → sp_Builder_RemoveDomain. Verify runs the Cloudflare Custom Hostname check in the app tier and records the outcome via sp_Builder_RecordDomainVerification — hostname + certificate statuses combine into Pending → Active / Failed, stamping VerifiedUtc and LastCheckedUtc.Success
- Exactly one primary domain per app.
- Cloudflare/provider status is normalized into Pending, Active, Failed, or Inactive.
- An app can be Active while its domain remains Pending; the generated BuildWithHQ hostname remains usable.
- Template workspaces and other prohibited app purposes fail server-side.
CLI handoff
Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.
Page IDapp-domains
Route/apps/:saasAppId/domains
AccessCanManageDomains
Statusexternal-integration-required
Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.