Get a status page's custom domain.
const url = 'https://api.siteqwality.com/v1/status-pages/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/custom-domain';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.siteqwality.com/v1/status-pages/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/custom-domain \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”The domain, its DNS records and where setup stands
Response shape for GET/POST /status-pages/{id}/custom-domain
object
“pending_validation” | “provisioning” | “active” | “failed” | “deleting”
The intermediate CNAME the customer must point their domain at, e.g. “<status_page_id>.custom.siteqwality.com”
ACM DNS validation records, needed while status = “pending_validation”
object
The CNAME record name the customer must create, e.g. “_abc123.status.theircompany.com”
The CNAME record value to point at, e.g. “xyz.acm-validations.aws”
The last check of a live domain; absent until the first one, a few minutes after it goes live.
object
What to fix, as a sentence. Absent when nothing is wrong.
When the certificate expires. It renews by itself while the validation record stays in DNS.
Absent for our own hostnames, which always mail from the default sender.
object
“not_started” until the domain is provisioned, then “pending”, “verified” or “failed”.
The CNAME to add. Email is signed for the domain once it resolves.
object
Where the mail comes from once verified.
Example generated
{ "status_page_id": "example", "domain": "example", "status": "example", "cname_target": "example", "acm_validation": { "name": "example", "value": "example" }, "failure_reason": "example", "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z", "health": { "checked_at": "2026-04-15T12:00:00Z", "problem": "example", "certificate_expires_at": "2026-04-15T12:00:00Z" }, "sender": { "status": "example", "dkim_record": { "name": "example", "value": "example" }, "from_address": "example" }}Missing or invalid credentials
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}The key or member may not do this, or lacks the scope it needs
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}No such page, or it has no custom domain
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}Too many requests; wait for the time in Retry-After
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}