Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page’s _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.
Sent as Authorization: Bearer <token>. Three kinds are accepted: an ORG token (sv_…), bound to one workspace with a fixed role; a PERSONAL token (svu_…), which acts as you with your own live role in whichever workspace it is pointed at; and an OAUTH access token (mcp_at_…) from a connected app, limited to the workspaces you granted it. A personal or OAuth token names its workspace with the X-Sentivel-Workspace header (a slug or an id). Without it an OAuth token falls back to the connection's primary workspace, while a personal token in more than one workspace is rejected 400 invalid_request with the choices in error.details.workspaces. An org token sent with a header naming a different workspace is rejected 400 invalid_request. Membership is re-read every request, so leaving a workspace or revoking the grant takes effect at once.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sentivel","colors":{"primary":"#0a0a0a","light":"#fafafa","dark":"#0a0a0a"},"logo":{"light":"https://mintcdn.com/sentivel/v23hn2KMaKim_J85/logo/light.svg?fit=max\u0026auto=format\u0026n=v23hn2KMaKim_J85\u0026q=85\u0026s=d596fcea415e36d6f2d4ff8252abb1f7","dark":"https://mintcdn.com/sentivel/v23hn2KMaKim_J85/logo/dark.svg?fit=max\u0026auto=format\u0026n=v23hn2KMaKim_J85\u0026q=85\u0026s=0e37d4f65b18048afb8f1e4a91f3e5dd"},"favicon":"https://mintcdn.com/sentivel/v23hn2KMaKim_J85/favicon.svg?fit=max\u0026auto=format\u0026n=v23hn2KMaKim_J85\u0026q=85\u0026s=47a266fc98248bfb109dcb6e3088ceb2","appearance":{"default":"dark"},"background":{"color":{"light":"#ffffff","dark":"#000000"}},"navbar":{"links":[{"href":"mailto:support@sentivel.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://www.sentivel.com/dashboard"}},"footer":{"socials":{"website":"https://www.sentivel.com","github":"https://github.com/Sentivel"}},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sentivel","hasAudioNarration":false,"actualSubdomain":"sentivel","customDomains":["docs.sentivel.com"],"gitSource":{"type":"github","owner":"sentivel","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"b5d9c4d1-b0ad-435f-ba0c-4afb62f7a0b7","liveDeploymentHistoryId":"6adbce7961eb4581b7123ead","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbce7961eb4581b7123ead"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adbce7961eb4581b7123ead","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":42},{"language":"default","tag":"Documentation","count":14},{"language":"default","tag":"Status pages","count":11},{"language":"default","tag":"Monitors","count":9},{"language":"default","tag":"Incidents","count":6},{"language":"default","tag":"Maintenance","count":5},{"language":"default","tag":"Monitoring \u0026 status","count":4},{"language":"default","tag":"Components","count":4},{"language":"default","tag":"Developers","count":3},{"language":"default","tag":"Incidents \u0026 on-call","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":".nav-tabs-item[data-active=true],.nav-tabs-item[data-active=true] *,a[aria-current=location],a[aria-current=location] *,a[aria-current=page],a[aria-current=page] *{text-shadow:none!important;font-weight:450!important}h1{font-weight:520!important;letter-spacing:-.015em}h2,h3,h4{font-weight:500!important}"}],"page":{"pagePath":"api-reference/status-pages/set-a-status-pages-custom-domain","slug":"/api-reference/status-pages/set-a-status-pages-custom-domain","pageMetadata":{"title":"Set a status page's custom domain","description":"Attach a custom domain (e.g. `status.example.com`), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page's `_sentivel-challenge` TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json put /status-pages/{id}/custom-domain","href":"/api-reference/status-pages/set-a-status-pages-custom-domain","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Attach a custom domain (e.g. \", _jsx(_components.code, {\n children: \"status.example.com\"\n }), \"), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page’s \", _jsx(_components.code, {\n children: \"_sentivel-challenge\"\n }), \" TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Set a status page's custom domain","description":"Attach a custom domain (e.g. `status.example.com`), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page's `_sentivel-challenge` TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json put /status-pages/{id}/custom-domain","href":"/api-reference/status-pages/set-a-status-pages-custom-domain","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Status pages"],"summary":"Set a status page's custom domain","description":"Attach a custom domain (e.g. `status.example.com`), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page's `_sentivel-challenge` TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.","operationId":"setStatusPageCustomDomain","parameters":["5c58d2ea-b21b-466d-be16-aeccd877f625"],"requestBody":"b0bb9c36-83d9-48d6-88d8-cc3189ee655e","responses":{"200":"cb4e489c-8af3-493f-a4f5-78a628854b7f","400":"b1a0805d-5544-4510-8877-29741481b023","403":"61b20e6f-a4b8-452e-b572-96f375b3aa30","404":"44a7b81d-81f3-4fe8-b382-8ed9e52c550c","409":"f08e91e3-e270-4743-8e76-ee3d09f60d7b"},"method":"put","type":"path","servers":["075f9e57-5727-459d-bd61-f58d41de58df"],"security":["eeef4821-43f6-4531-a9c9-a647e6207adf"],"path":"/status-pages/{id}/custom-domain","baseUrlOptions":["https://www.sentivel.com/api/v1"],"title":"Set a status page's custom domain","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"5c58d2ea-b21b-466d-be16-aeccd877f625":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","maxLength":253,"description":"Hostname, e.g. `status.example.com`. A scheme or path is stripped.","isRequired":true,"uniqueKey":"domain","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"domain":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"cb4e489c-8af3-493f-a4f5-78a628854b7f":{"description":"The domain's state after attaching.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"domain":{"oneOf":[{"type":"string","uniqueKey":"data.domain.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.domain","typeLabel":"string | null"},"verified":{"type":"boolean","description":"Ownership and DNS confirmed: the page is routed on this host.","uniqueKey":"data.verified","typeLabel":"boolean"},"live":{"type":"boolean","description":"The page answers over HTTPS on the domain.","uniqueKey":"data.live","typeLabel":"boolean"},"records":{"type":"array","description":"The DNS records to create at the domain's DNS provider.","items":{"type":"object","properties":{"type":{"type":"string","enum":["CNAME","A","TXT"],"uniqueKey":"data.records.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","uniqueKey":"data.records.items.[INDEX].name","typeLabel":"string"},"value":{"type":"string","uniqueKey":"data.records.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"data.records.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.records","typeLabel":"object[]"},"note":{"oneOf":[{"type":"string","description":"What is still outstanding, when the domain isn't live.","uniqueKey":"data.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"What is still outstanding, when the domain isn't live.","uniqueKey":"data.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.note","typeLabel":"string | null"},"provisionError":{"oneOf":[{"type":"string","description":"Set only by PUT: why registering the domain for HTTPS failed.","uniqueKey":"data.provisionError.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set only by PUT: why registering the domain for HTTPS failed.","uniqueKey":"data.provisionError.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.provisionError","typeLabel":"string | null"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"domain":"\u003cstring>","verified":true,"live":true,"records":[{"type":"CNAME","name":"\u003cstring>","value":"\u003cstring>"}],"note":"\u003cstring>","provisionError":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"b1a0805d-5544-4510-8877-29741481b023":{"description":"Not a valid hostname, or a sentivel.com address.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","rate_limited","conflict","internal"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"61b20e6f-a4b8-452e-b572-96f375b3aa30":{"description":"Forbidden.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","rate_limited","conflict","internal"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"44a7b81d-81f3-4fe8-b382-8ed9e52c550c":{"description":"No such status page.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","rate_limited","conflict","internal"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"f08e91e3-e270-4743-8e76-ee3d09f60d7b":{"description":"The domain is in use on another status page.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","rate_limited","conflict","internal"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"eeef4821-43f6-4531-a9c9-a647e6207adf":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Sent as `Authorization: Bearer \u003ctoken>`. Three kinds are accepted: an ORG token (`sv_…`), bound to one workspace with a fixed role; a PERSONAL token (`svu_…`), which acts as you with your own live role in whichever workspace it is pointed at; and an OAUTH access token (`mcp_at_…`) from a connected app, limited to the workspaces you granted it. A personal or OAuth token names its workspace with the `X-Sentivel-Workspace` header (a slug or an id). Without it an OAuth token falls back to the connection's primary workspace, while a personal token in more than one workspace is rejected `400 invalid_request` with the choices in `error.details.workspaces`. An org token sent with a header naming a different workspace is rejected `400 invalid_request`. Membership is re-read every request, so leaving a workspace or revoking the grant takes effect at once.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"075f9e57-5727-459d-bd61-f58d41de58df":{"url":"https://www.sentivel.com/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Sent as `Authorization: Bearer \u003ctoken>`. Three kinds are accepted: an ORG token (`sv_…`), bound to one workspace with a fixed role; a PERSONAL token (`svu_…`), which acts as you with your own live role in whichever workspace it is pointed at; and an OAUTH access token (`mcp_at_…`) from a connected app, limited to the workspaces you granted it. A personal or OAuth token names its workspace with the `X-Sentivel-Workspace` header (a slug or an id). Without it an OAuth token falls back to the connection's primary workspace, while a personal token in more than one workspace is rejected `400 invalid_request` with the choices in `error.details.workspaces`. An org token sent with a header naming a different workspace is rejected `400 invalid_request`. Membership is re-read every request, so leaving a workspace or revoking the grant takes effect at once.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Sent as `Authorization: Bearer \u003ctoken>`. Three kinds are accepted: an ORG token (`sv_…`), bound to one workspace with a fixed role; a PERSONAL token (`svu_…`), which acts as you with your own live role in whichever workspace it is pointed at; and an OAUTH access token (`mcp_at_…`) from a connected app, limited to the workspaces you granted it. A personal or OAuth token names its workspace with the `X-Sentivel-Workspace` header (a slug or an id). Without it an OAuth token falls back to the connection's primary workspace, while a personal token in more than one workspace is rejected `400 invalid_request` with the choices in `error.details.workspaces`. An org token sent with a header naming a different workspace is rejected `400 invalid_request`. Membership is re-read every request, so leaving a workspace or revoking the grant takes effect at once.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://www.sentivel.com/api/v1/openapi.json"},"subdomain":"sentivel","siteName":"Sentivel","title":"Set a status page's custom domain - Sentivel","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T21:15:40.755Z","originalFileLocation":"api-reference/status-pages/set-a-status-pages-custom-domain.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page\u0026#x27;s _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sentivel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set a status page\u0026#x27;s custom domain - Sentivel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page\u0026#x27;s _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sentivel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sentivel.mintlify.app/_mintlify/api/og/v2?division=Status+pages\u0026amp;title=Set+a+status+page%27s+custom+domain\u0026amp;description=Attach+a+custom+domain+%28e.g.+%60status.example.com%60%29%2C+replacing+any+the+page+already+has%2C+then+check+it.+The+page+is+served+there+only+once+DNS+points+at+Sentivel\u0026amp;theme=04979a22682c09f042fefbde\u0026amp;signature=ca74837a7ada4998a49116a46b8ad0f7ac4a79b47776b68c36fcafcf003bf41e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Set a status page\u0026#x27;s custom domain - Sentivel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page\u0026#x27;s _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sentivel.mintlify.app/_mintlify/api/og/v2?division=Status+pages\u0026amp;title=Set+a+status+page%27s+custom+domain\u0026amp;description=Attach+a+custom+domain+%28e.g.+%60status.example.com%60%29%2C+replacing+any+the+page+already+has%2C+then+check+it.+The+page+is+served+there+only+once+DNS+points+at+Sentivel\u0026amp;theme=04979a22682c09f042fefbde\u0026amp;signature=ca74837a7ada4998a49116a46b8ad0f7ac4a79b47776b68c36fcafcf003bf41e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sentivel/wz6-x0HILtG4nmya/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sentivel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0a0a0a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/status-pages/set-a-status-pages-custom-domain.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sentivel.com/#organization\",\"name\":\"Sentivel\",\"url\":\"https://docs.sentivel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sentivel/v23hn2KMaKim_J85/logo/light.svg?fit=max\u0026auto=format\u0026n=v23hn2KMaKim_J85\u0026q=85\u0026s=d596fcea415e36d6f2d4ff8252abb1f7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sentivel.com#website\",\"name\":\"Sentivel\",\"url\":\"https://docs.sentivel.com\",\"publisher\":{\"@id\":\"https://docs.sentivel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain#webpage\",\"url\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain\",\"name\":\"Set a status page's custom domain\",\"description\":\"Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page's _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\",\"dateModified\":\"2026-10-23T21:15:40.755Z\",\"isPartOf\":{\"@id\":\"https://docs.sentivel.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Status pages\",\"item\":\"https://docs.sentivel.com/api-reference/status-pages/list-status-pages\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set a status page's custom domain\",\"item\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain#apireference\",\"headline\":\"Set a status page's custom domain\",\"name\":\"Set a status page's custom domain\",\"description\":\"Attach a custom domain (e.g. status.example.com), replacing any the page already has, then check it. The page is served there only once DNS points at Sentivel and ownership is verified with the page's _sentivel-challenge TXT record. The response lists the exact DNS records to create. Custom domains are on every plan.\",\"url\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sentivel.com/api-reference/status-pages/set-a-status-pages-custom-domain#webpage\"},\"dateModified\":\"2026-10-23T21:15:40.755Z\",\"publisher\":{\"@id\":\"https://docs.sentivel.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sentivel.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sentivel\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sentivel","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","icon":"code","groups":[{"group":"Account","pages":[{"title":"Identify the calling token","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /me","href":"/api-reference/identity/identify-the-calling-token"}]},{"group":"Components","pages":[{"title":"List components","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /components","href":"/api-reference/components/list-components"},{"title":"Create a component","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /components","href":"/api-reference/components/create-a-component"},{"title":"Update a component","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json patch /components/{id}","href":"/api-reference/components/update-a-component"},{"title":"Delete a component","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /components/{id}","href":"/api-reference/components/delete-a-component"}]},{"group":"Monitors","pages":[{"title":"List monitors","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /monitors","href":"/api-reference/monitors/list-monitors"},{"title":"Create a monitor","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /monitors","href":"/api-reference/monitors/create-a-monitor"},{"title":"Get a monitor","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /monitors/{id}","href":"/api-reference/monitors/get-a-monitor"},{"title":"Update a monitor","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json patch /monitors/{id}","href":"/api-reference/monitors/update-a-monitor"},{"title":"Delete a monitor","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /monitors/{id}","href":"/api-reference/monitors/delete-a-monitor"},{"title":"Monitor uptime (90-day daily rollup)","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /monitors/{id}/uptime","href":"/api-reference/monitors/monitor-uptime-90-day-daily-rollup"},{"title":"Monitor response times (bucketed latency history)","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /monitors/{id}/response-times","href":"/api-reference/monitors/monitor-response-times-bucketed-latency-history"},{"title":"Start monitor maintenance","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /monitors/{id}/maintenance","href":"/api-reference/monitors/start-monitor-maintenance"},{"title":"End monitor maintenance","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /monitors/{id}/maintenance","href":"/api-reference/monitors/end-monitor-maintenance"}]},{"group":"Status pages","pages":[{"title":"List status pages","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /status-pages","href":"/api-reference/status-pages/list-status-pages"},{"title":"Create a status page","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /status-pages","href":"/api-reference/status-pages/create-a-status-page"},{"title":"Update a status page","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json patch /status-pages/{id}","href":"/api-reference/status-pages/update-a-status-page"},{"title":"Delete a status page","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /status-pages/{id}","href":"/api-reference/status-pages/delete-a-status-page"},{"title":"Get a status page's layout","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /status-pages/{id}/layout","href":"/api-reference/status-pages/get-a-status-pages-layout"},{"title":"Replace a status page's layout","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json put /status-pages/{id}/layout","href":"/api-reference/status-pages/replace-a-status-pages-layout"},{"title":"Set a status page's logo","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json put /status-pages/{id}/logo","href":"/api-reference/status-pages/set-a-status-pages-logo"},{"title":"Remove a status page's logo","description":null,"deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /status-pages/{id}/logo","href":"/api-reference/status-pages/remove-a-status-pages-logo"},{"title":"Set a status page's custom domain","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json put /status-pages/{id}/custom-domain","href":"/api-reference/status-pages/set-a-status-pages-custom-domain"},{"title":"Verify a status page's custom domain","description":"Check the domain now (DNS, ownership, HTTPS) and record the result. A domain that passes starts serving the page; one that no longer passes stops. `domain` is null when the page has none.","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /status-pages/{id}/custom-domain/verify","href":"/api-reference/status-pages/verify-a-status-pages-custom-domain"},{"title":"Remove a status page's custom domain","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /status-pages/{id}/custom-domain","href":"/api-reference/status-pages/remove-a-status-pages-custom-domain"}]},{"group":"Maintenance","pages":[{"title":"List maintenance windows","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /maintenance","href":"/api-reference/maintenance/list-maintenance-windows"},{"title":"Schedule a maintenance window","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /maintenance","href":"/api-reference/maintenance/schedule-a-maintenance-window"},{"title":"Get a maintenance window","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /maintenance/{id}","href":"/api-reference/maintenance/get-a-maintenance-window"},{"title":"Update or move a maintenance window","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json patch /maintenance/{id}","href":"/api-reference/maintenance/update-or-move-a-maintenance-window"},{"title":"Delete a maintenance window","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /maintenance/{id}","href":"/api-reference/maintenance/delete-a-maintenance-window"}]},{"group":"Incidents","pages":[{"title":"List incidents","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /incidents","href":"/api-reference/incidents/list-incidents"},{"title":"Create a manual incident","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json post /incidents","href":"/api-reference/incidents/create-a-manual-incident"},{"title":"Get an incident","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /incidents/{id}","href":"/api-reference/incidents/get-an-incident"},{"title":"Delete an incident","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json delete /incidents/{id}","href":"/api-reference/incidents/delete-an-incident"},{"title":"Get an incident's update timeline","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /incidents/{id}/updates","href":"/api-reference/incidents/get-an-incidents-update-timeline"},{"title":"Get an incident's live escalation state","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /incidents/{id}/escalation","href":"/api-reference/incidents/get-an-incidents-live-escalation-state"}]},{"group":"On-call","pages":[{"title":"List on-call schedules","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /schedules","href":"/api-reference/on-call/list-on-call-schedules"},{"title":"Get an on-call schedule","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /schedules/{id}","href":"/api-reference/on-call/get-an-on-call-schedule"}]},{"group":"Integrations","pages":[{"title":"List integrations","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /integrations","href":"/api-reference/integrations/list-integrations"},{"title":"Get an integration","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /integrations/{id}","href":"/api-reference/integrations/get-an-integration"},{"title":"Update an outbound integration","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json patch /integrations/{id}","href":"/api-reference/integrations/update-an-outbound-integration"}]},{"group":"Members","pages":[{"title":"List workspace members","deprecated":null,"version":null,"openapi":"https://www.sentivel.com/api/v1/openapi.json get /members","href":"/api-reference/people/list-workspace-members"}]}]}]},"basePath":"","title":"Set a status page's custom domain - Sentivel","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}