Custom Domains

Connect your own domain to your status page instead of using the default slug.pingpage.live subdomain.

Overview

By default, your status page is available at your-slug.pingpage.live. With custom domains, you can serve it from your own domain like status.hookwatch.dev or status.yourcompany.com.

Both access methods work in parallel — the subdomain URL continues to work after adding a custom domain.

Info

Custom domains require a paid plan. Check the Billing & Plans page for details.

Setup Guide

Step 1: Add your domain

Go to your organization settings in the dashboard and add your custom domain. You can also do this via the API:

Add custom domain
curl -X POST https://api.pingpage.live/v1/organizations/{orgID}/custom-domain \
  -H "Content-Type: application/json" \
  -b "session_token=..." \
  -d '{"domain": "status.hookwatch.dev"}'

Step 2: Configure DNS

Add a CNAME record at your DNS provider pointing your domain to PingPage:

TypeNameValue
CNAMEstatus.hookwatch.devcname.pingpage.live

Tip

DNS changes can take anywhere from a few minutes to 48 hours to propagate, though most providers update within 5 minutes.

Step 3: Verify domain

After DNS propagation, verify your domain ownership. PingPage checks that the CNAME record is correctly pointing to cname.pingpage.live.

Verify domain
curl -X POST https://api.pingpage.live/v1/organizations/{orgID}/custom-domain/{domainID}/verify \
  -b "session_token=..."

On success:

Response
{"verified": true, "message": "domain verified successfully"}

If DNS hasn't propagated yet:

Response
{
  "verified": false,
  "message": "CNAME record not found or incorrect. Add a CNAME record for status.hookwatch.dev pointing to cname.pingpage.live"
}

Step 4: TLS certificate

After verification, a TLS certificate is automatically provisioned via Let's Encrypt. This happens on the first HTTPS request to your custom domain and takes a few seconds. No action is needed on your part.

How It Works

  • DNS — your CNAME record routes traffic from your domain to the PingPage servers
  • Routing — the server identifies your organization by the custom domain in the request
  • TLS — certificates are automatically obtained and renewed via Let's Encrypt
  • Parallel access — both slug.pingpage.live and your custom domain serve the same status page

Managing Custom Domains

List domains

GET /v1/organizations/{orgID}/custom-domain
curl https://api.pingpage.live/v1/organizations/{orgID}/custom-domain \
  -b "session_token=..."

Remove a domain

DELETE /v1/organizations/{orgID}/custom-domain/{domainID}
curl -X DELETE https://api.pingpage.live/v1/organizations/{orgID}/custom-domain/{domainID} \
  -b "session_token=..."

Warning

Removing a custom domain takes effect immediately. Visitors to that domain will no longer see your status page. The default slug.pingpage.live URL is not affected.

Troubleshooting

  • Verification fails — wait a few minutes for DNS to propagate and try again. Use dig CNAME status.hookwatch.dev to check if the record exists.
  • SSL error on first visit — the certificate is provisioned on the first request, which may take a few seconds. Refresh the page.
  • Domain already in use — each domain can only be linked to one organization. Remove it from the other organization first.