Set a custom domain
Assigns a custom domain, optionally moving it from another page, and returns verification and health details.
PUT https://app.upfour.io/v1/status-pages/{pageID}/custom-domain
Parameters
| Field | Type | Description |
|---|---|---|
pageID required | uuid | path parameter |
Body
domainstringrequired
All other fields1 fields
move_from_page_iduuid
Take the domain over from another status page of the same company.
Returns
A successful request returns 200 with application/json.
Response fields 1 top-level fields
| Field | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | StatusPageDomainDetails | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StatusPageDomainDetails · 101 fields
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Errors
Only the errors this operation can return. Every error uses the same envelope.
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | The request is malformed or fails validation. |
| 409 | domain_claimed | The domain is in use by another Company. When: Setting a custom domain on a status page when another Company already holds it; details.domain names it. Fix: Prove control of the domain with the TXT record shown for the page, or use a different domain. |
| 409 | domain_move_stale | The page named as the domain's current holder is not the holder any more. When: Moving a domain with move_from_page_id set to a page that does not hold it; details.page names the real holder. Fix: Read the domain's current holder and send the move again with that page. |
| 409 | domain_on_other_page | The domain is used by another status page in the same Company. When: Setting a custom domain that another page of the Company already holds; details.page names that page. Fix: Move the domain on purpose by sending the holder's page id as the page to move from, or choose another domain. |
| 409 | domain_removal_pending | The domain is still being disconnected from its previous status page. When: Setting a domain right after it was removed from another page, before the disconnect finished. Fix: Try again in a few minutes. |
| 409 | domain_used_in_company | The domain is used by a status page in the Company that the caller cannot see. When: Setting a custom domain held by a page outside the caller's client scope; the page is not named. Fix: Ask someone with access to that page to move or remove the domain, or choose another domain. |
| 400 | invalid_move_source | The page to move the domain from is not valid. When: Setting a domain with a move-from page id that is not a status page the caller can use. Fix: Send the id of the status page that holds the domain. |
| 404 | not_found | The requested resource does not exist or is outside the caller's scope. |
| 402 | payment_required | The account does not have the credit or plan required for this action. |
| 403 | permission_denied | The credentials do not permit this action. |
Every call can also return unauthorized (401), rate_limit_exceeded (429) or internal_error (500 / 502). See Responses and errors.