POST /status-pages/{id}/custom-domain/apply
Registers the custom hostname via Cloudflare for SaaS, provisions SSL, and saves the domain to the status page. User must point a CNAME to status-proxy.happyuptime.com. Requires a paid plan.

Authentication

Bearer Token (hu_api_key)

Path Parameters

id string required path

Request Body required

application/json
domain string REQUIRED
Custom domain hostname (e.g. status.yourdomain.com)

Responses

200 Custom domain applied with SSL provisioning status

No response body

403 Plan upgrade required
409 Domain already in use or zone not found
curl -X POST 'https://happyuptime.com/api/v1/status-pages/string/custom-domain/apply' \  -H 'Authorization: Bearer YOUR_API_TOKEN' \  -H 'Content-Type: application/json' \  -d '{  "domain": "string"}'
const response = await fetch('https://happyuptime.com/api/v1/status-pages/string/custom-domain/apply', {  method: 'POST',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN",      "Content-Type": "application/json"  },  body: JSON.stringify({    "domain": "string"  })});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://happyuptime.com/api/v1/status-pages/string/custom-domain/apply', headers=headers, json={  "domain": "string"})print(response.json())