Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer’s hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.
While the state is challenge: when the request is dropped if the TXT record has not appeared.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cool Computer Services","description":"The official Cool Computers user and developer guide: CLI, HTTP API, authentication, MCP, and persistent computers.","colors":{"primary":"#155DFF","light":"#6AA0FF","dark":"#1D69FF"},"logo":{"light":"https://mintcdn.com/cool-computer/gsKImuLFY1EhcYOS/logo-light.png?fit=max\u0026auto=format\u0026n=gsKImuLFY1EhcYOS\u0026q=85\u0026s=7ce85c74fc810b3de8ef57e45d050e55","dark":"https://mintcdn.com/cool-computer/gsKImuLFY1EhcYOS/logo-dark.png?fit=max\u0026auto=format\u0026n=gsKImuLFY1EhcYOS\u0026q=85\u0026s=9b597646bef5e7b77a9ce87dce31343b"},"favicon":"https://mintcdn.com/cool-computer/gsKImuLFY1EhcYOS/favicon.png?fit=max\u0026auto=format\u0026n=gsKImuLFY1EhcYOS\u0026q=85\u0026s=52fe991b99c59c1821981b86f6d67fcb","appearance":{"default":"system"},"background":{"color":{"light":"#F3F4F6","dark":"#0E0F11"}},"navbar":{"links":[{"href":"https://www.cool.computer/contact","label":"Support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://www.cool.computer/app"}},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Cool Computers","icon":"globe","color":{"light":"#155DFF","dark":"#6AA0FF"},"href":"https://www.cool.computer"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cool-computer","hasAudioNarration":false,"actualSubdomain":"cool-computer","customDomains":["cool.computer"],"gitSource":{"type":"github","owner":"the-money-company-limited","repo":"coolcomputerdocs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6acb0d38b6f529072ed07aa5","collectionId":"a34edec2-bba1-4923-9bfd-abd8a877e785","liveDeploymentHistoryId":"6acb0d38b6f529072ed07aa5","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ade28e3b128bc39b5e65094","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Endpoint reference","count":129},{"language":"default","tag":"Operator","count":14},{"language":"default","tag":"Authentication","count":12},{"language":"default","tag":"Comments","count":12},{"language":"default","tag":"Integrations","count":9},{"language":"default","tag":"Publishing","count":9},{"language":"default","tag":"Services","count":9},{"language":"default","tag":"Files","count":8},{"language":"default","tag":"Secrets","count":8},{"language":"default","tag":"Computers","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/domains/connect-a-custom-domain","slug":"/api-reference/domains/connect-a-custom-domain","pageMetadata":{"title":"Connect a custom domain","description":"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer's hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/domain","href":"/api-reference/domains/connect-a-custom-domain","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer’s hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\"\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":"Connect a custom domain","description":"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer's hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/domain","href":"/api-reference/domains/connect-a-custom-domain","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"setComputerDomain","summary":"Connect a custom domain","description":"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer's hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.","tags":["Domains"],"security":["42b8791a-1b23-445b-9df3-e9dc4b9ffdfe"],"parameters":["6ce200eb-9cab-4ef9-9deb-510609d1a80d"],"requestBody":"8d322f99-8537-4fb8-88da-a1bd86dd5ceb","responses":{"200":"b15dca3b-4b28-4523-b1fb-812a7ddacdd2","400":"33785719-3b34-40c0-b3d6-b255c121f000","401":"49b9e651-d48a-4a5b-ac89-e16f56fe00fc","409":"b37b37db-0f68-4484-bb0b-ef61d8b15527","429":"4eae0ed1-6c32-42d3-b3a7-e3f8c9d63e45","500":"23ee1308-bbe6-4c88-a393-969529588798","503":"482a745f-bf21-4db6-a52a-fe49e427c803","default":"bfe411be-ad10-4e6f-bf89-9cbdb2ec889a"},"method":"put","type":"path","servers":["77111903-8e8f-4ae5-bb01-636ae5ea8aba"],"path":"/api/computers/{id}/domain","baseUrlOptions":["https://api.cool.computer"],"title":"Connect a custom domain","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6ce200eb-9cab-4ef9-9deb-510609d1a80d":{"name":"id","in":"path","required":true,"description":"The computer's name, such as agent-atlas, or its id (cmp_…). Every caller may use either, the computer's own runtime token included.","schema":{"type":"string","minLength":1,"example":"agent-atlas","isRequired":true,"description":"The computer's name, such as agent-atlas, or its id (cmp_…). Every caller may use either, the computer's own runtime token included.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["hostname"],"properties":{"hostname":{"type":"string","minLength":1,"maxLength":253,"description":"A subdomain you control, such as app.example.com.","isRequired":true,"uniqueKey":"hostname","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"hostname":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"b15dca3b-4b28-4523-b1fb-812a7ddacdd2":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"The computer's custom domain and the records to publish.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["hostname","state","records"],"properties":{"hostname":{"type":"string","description":"The hostname, lowercase, in its punycode form.","isRequired":true,"uniqueKey":"hostname","typeLabel":"string"},"state":{"type":"string","enum":["challenge","issuing","serving","active","removing"],"isRequired":true,"uniqueKey":"state","typeLabel":"enum\u003cstring>"},"records":{"type":"array","description":"The DNS records to publish: TXT _cool-challenge.\u003chostname> with the challenge value, and the CNAME of the hostname.","items":{"type":"object","additionalProperties":false,"required":["type","name","value"],"properties":{"type":{"type":"string","enum":["TXT","CNAME"],"isRequired":true,"uniqueKey":"records.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"records.items.[INDEX].name","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"records.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"records.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"records","typeLabel":"object[]"},"detail":{"type":"string","description":"What the domain waits for, or why it was removed.","uniqueKey":"detail","typeLabel":"string"},"challenge_expires_at":{"type":"string","format":"date-time","description":"While the state is challenge: when the request is dropped if the TXT record has not appeared.","uniqueKey":"challenge_expires_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"hostname":"\u003cstring>","state":"challenge","records":[{"type":"TXT","name":"\u003cstring>","value":"\u003cstring>"}],"detail":"\u003cstring>","challenge_expires_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"33785719-3b34-40c0-b3d6-b255c121f000":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"Bad Request. `invalid_hostname`: the hostname is not a subdomain anyone can connect; detail says why.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"49b9e651-d48a-4a5b-ac89-e16f56fe00fc":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"b37b37db-0f68-4484-bb0b-ef61d8b15527":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"Conflict. `domain_connected`: the computer has another domain that is claimed; remove it first. `hostname_in_use`: the hostname is connected to a computer. `domain_limit`: the account has 10 domains. `too_many_unverified_domains`: 3 domains wait for their TXT record.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"4eae0ed1-6c32-42d3-b3a7-e3f8c9d63e45":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}},"Retry-After":{"description":"Whole seconds to wait after an api_request_rate_exceeded, comment_rate_exceeded, comment_site_rate_exceeded, comment_live_full or computer_starting response before retrying (up to 3600 for comment_site_rate_exceeded, whose window is an hour). Other 429 problem codes describe separate resource or provider limits and do not inherit this retry value.","schema":{"type":"integer","minimum":1,"maximum":3600,"examples":[42]}}},"description":"Too Many Requests. If the problem code is api_request_rate_exceeded, wait for Retry-After seconds; other problem codes describe a separate limit.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"23ee1308-bbe6-4c88-a393-969529588798":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"Internal Server Error.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"482a745f-bf21-4db6-a52a-fe49e427c803":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"Service Unavailable. `artifacts_unavailable` means publishing, and with it custom domains, is not configured on this server.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"bfe411be-ad10-4e6f-bf89-9cbdb2ec889a":{"headers":{"RateLimit":{"description":"The applied policy name, requests remaining after this request, and whole seconds until the current UTC-aligned window resets.","schema":{"type":"string","pattern":"^\"(account|account-read|computer|computer-read|source|comment-board|comment-live)\";r=[0-9]+;t=([1-9]|[1-5][0-9]|60)$","examples":["\"account\";r=599;t=42","\"computer-read\";r=598;t=42"]}},"RateLimit-Policy":{"description":"The selected policy name, quota, and window in seconds. Valid account credentials use account or account-read with q=600, computer credentials use computer or computer-read with q=600, unauthenticated or unrecognized requests use source with q=60 for their source IP, a browser session's read of a comment board uses comment-board with q=300 for its source IP, and its handshake of a comment live channel uses comment-live with q=60 for its source IP.","schema":{"type":"string","pattern":"^(\"(account|account-read|computer|computer-read)\";q=600|\"source\";q=60|\"comment-board\";q=300|\"comment-live\";q=60);w=60$","examples":["\"account\";q=600;w=60","\"computer-read\";q=600;w=60"]}}},"description":"A machine-readable API error with a stable code and recovery instruction.","content":{"application/problem+json":{"schema":{"type":"object","additionalProperties":false,"required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri","description":"https://cool.computer/docs/api-reference/errors, the page that explains every code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z0-9_]+$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"resolution":{"type":"string","uniqueKey":"resolution","typeLabel":"string"},"context":{"type":"object","additionalProperties":true,"uniqueKey":"context","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"string","uniqueKey":"suggestions.items.[INDEX]","typeLabel":"string"},"maxItems":3,"description":"Values to send instead. With name_taken: up to three free names made from the requested one, the first with a random suffix; each was free when the answer was made.","uniqueKey":"suggestions","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":499,"code":"\u003cstring>","detail":"\u003cstring>","resolution":"\u003cstring>","context":{},"suggestions":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"42b8791a-1b23-445b-9df3-e9dc4b9ffdfe":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"WorkOS user or agent access token, or Cool Computers API key","description":"A Cool Computers API key, user access token, or claimed agent access token in the Authorization header. Follow https://www.cool.computer/auth.md for agent registration and https://www.cool.computer/authentication.md for direct user credentials.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"77111903-8e8f-4ae5-bb01-636ae5ea8aba":{"url":"https://api.cool.computer","description":"Canonical API origin"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"WorkOS user or agent access token, or Cool Computers API key","description":"A Cool Computers API key, user access token, or claimed agent access token in the Authorization header. Follow https://www.cool.computer/auth.md for agent registration and https://www.cool.computer/authentication.md for direct user credentials.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A Cool Computers API key, user access token, or claimed agent access token in the Authorization header. Follow https://www.cool.computer/auth.md for agent registration and https://www.cool.computer/authentication.md for direct user credentials.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://www.cool.computer/openapi.json"},"subdomain":"cool-computer","siteName":"Cool Computer Services","title":"Connect a custom domain - Cool Computer Services","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T16:06:04.153Z","originalFileLocation":"api-reference/domains/connect-a-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=\"system\"}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=\"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer\u0026#x27;s hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cool Computer Services\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_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=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connect a custom domain - Cool Computer Services\">\u003cmeta data-mint-head property=\"og:description\" content=\"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer\u0026#x27;s hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cool Computer Services\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cool-computer.mintlify.app/_mintlify/api/og/v2?division=Domains\u0026amp;title=Connect+a+custom+domain\u0026amp;description=Owner+only.+Asks+for+hostname%2C+a+subdomain+you+control+such+as+app.example.com+%28no+apex%2C+no+wildcard%3B+an+internationalized+name+in+its+punycode+form%29%2C+on+the+co\u0026amp;theme=c4dbd5f82e7529239430ea40\u0026amp;signature=8be1b67420da3b118adefcd630841283c594ad45904221d1f000152627f2de00\">\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=\"Connect a custom domain - Cool Computer Services\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer\u0026#x27;s hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cool-computer.mintlify.app/_mintlify/api/og/v2?division=Domains\u0026amp;title=Connect+a+custom+domain\u0026amp;description=Owner+only.+Asks+for+hostname%2C+a+subdomain+you+control+such+as+app.example.com+%28no+apex%2C+no+wildcard%3B+an+internationalized+name+in+its+punycode+form%29%2C+on+the+co\u0026amp;theme=c4dbd5f82e7529239430ea40\u0026amp;signature=8be1b67420da3b118adefcd630841283c594ad45904221d1f000152627f2de00\">\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=\"/docs/mintlify-assets/_mintlify/favicons/cool-computer/xIPLAHBDS_7J4vCp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cool Computer Services\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#155DFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/domains/connect-a-custom-domain.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cool.computer/#organization\",\"name\":\"Cool Computer Services\",\"url\":\"https://cool.computer\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cool-computer/gsKImuLFY1EhcYOS/logo-light.png?fit=max\u0026auto=format\u0026n=gsKImuLFY1EhcYOS\u0026q=85\u0026s=7ce85c74fc810b3de8ef57e45d050e55\"}},{\"@type\":\"WebSite\",\"@id\":\"https://cool.computer/docs#website\",\"name\":\"Cool Computer Services\",\"url\":\"https://cool.computer/docs\",\"publisher\":{\"@id\":\"https://cool.computer/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain#webpage\",\"url\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain\",\"name\":\"Connect a custom domain\",\"description\":\"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer's hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\",\"dateModified\":\"2026-10-25T16:06:04.153Z\",\"isPartOf\":{\"@id\":\"https://cool.computer/docs#website\"},\"breadcrumb\":{\"@id\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoint reference\",\"item\":\"https://cool.computer/docs/api-reference/integrations/list-integrations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Domains\",\"item\":\"https://cool.computer/docs/api-reference/domains/get-the-computers-custom-domain\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Connect a custom domain\",\"item\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain#apireference\",\"headline\":\"Connect a custom domain\",\"name\":\"Connect a custom domain\",\"description\":\"Owner only. Asks for hostname, a subdomain you control such as app.example.com (no apex, no wildcard; an internationalized name in its punycode form), on the computer. Publish the two records of the answer at your DNS provider: the TXT record proves you control the hostname, the CNAME sends its traffic to Cool Computers. Asking again for the computer's hostname answers it as it is; another hostname replaces one still waiting for its TXT record. A computer has one domain, an account at most 10, and at most 3 waiting for their TXT record.\",\"url\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain\",\"mainEntityOfPage\":{\"@id\":\"https://cool.computer/docs/api-reference/domains/connect-a-custom-domain#webpage\"},\"dateModified\":\"2026-10-25T16:06:04.153Z\",\"publisher\":{\"@id\":\"https://cool.computer/#organization\"},\"isPartOf\":{\"@id\":\"https://cool.computer/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cool Computer Services\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Cool Computer Services","nav":{"global":{"anchors":[{"anchor":"Cool Computers","icon":"globe","color":{"light":"#155DFF","dark":"#6AA0FF"},"href":"https://www.cool.computer"}]},"pages":[{"group":"Start here","pages":[{"title":"Cool Computers guide","sidebarTitle":"Introduction","href":"/index"},{"title":"Create your first computer","sidebarTitle":"Quickstart","href":"/getting-started/quickstart"},{"title":"Install the Cool Computers CLI","sidebarTitle":"Install the CLI","href":"/getting-started/install"}]},{"group":"Your computer","pages":[{"title":"How a computer works","href":"/computers/how-it-works"},{"title":"What persists","href":"/computers/persistence"}]},{"group":"Use it","pages":[{"title":"Cool Computers CLI","sidebarTitle":"Use the CLI","href":"/use/cli"},{"title":"Open the SSH dashboard","sidebarTitle":"SSH dashboard","href":"/use/ssh"},{"title":"Email your computer","sidebarTitle":"Email a task","href":"/use/email"},{"title":"Connect Cool Computers with MCP","sidebarTitle":"Connect MCP","href":"/use/mcp"},{"title":"Use Cool Computers with an agent","sidebarTitle":"Agent workflow","href":"/use/agents"}]},{"group":"Build with the API","pages":[{"title":"Cool Computers HTTP API","sidebarTitle":"API overview","href":"/api-reference/overview"},{"title":"Cool Computers API authentication","sidebarTitle":"Authentication","href":"/api-reference/authentication"},{"title":"API errors","href":"/api-reference/errors"}]},{"group":"Endpoint reference","pages":[{"group":"Integrations","pages":[{"title":"List integrations","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/integrations","href":"/api-reference/integrations/list-integrations"},{"title":"Verify integration","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/integrations/{name}/verify","href":"/api-reference/integrations/verify-integration"},{"title":"Start integration connection","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/integrations/connect","href":"/api-reference/integrations/start-integration-connection"},{"title":"Inspect integration connection","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/integrations/connect/{id}","href":"/api-reference/integrations/inspect-integration-connection"},{"title":"Cancel integration connection","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/integrations/connect/{id}","href":"/api-reference/integrations/cancel-integration-connection"},{"title":"Submit integration authorization code","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/integrations/connect/{id}/code","href":"/api-reference/integrations/submit-integration-authorization-code"},{"title":"Disconnect integration","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/integrations/{name}","href":"/api-reference/integrations/disconnect-integration"},{"title":"Discover computer integrations","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/integrations","href":"/api-reference/integrations/discover-computer-integrations"},{"title":"Verify Claude on a computer","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/provider-credentials/claude/verify","href":"/api-reference/integrations/verify-claude-on-a-computer"}]},{"group":"Secrets","pages":[{"title":"Read a secret set's values on a computer","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/secrets/{secret_set}/session","href":"/api-reference/secrets/read-a-secret-sets-values-on-a-computer"},{"title":"List secret sets","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/secrets","href":"/api-reference/secrets/list-secret-sets"},{"title":"List secret audit history","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/secrets/audit","href":"/api-reference/secrets/list-secret-audit-history"},{"title":"Inspect a secret set","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/secrets/{secret_set}","href":"/api-reference/secrets/inspect-a-secret-set"},{"title":"Create or replace a secret set","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/secrets/{secret_set}","href":"/api-reference/secrets/create-or-replace-a-secret-set"},{"title":"Delete a secret set","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/secrets/{secret_set}","href":"/api-reference/secrets/delete-a-secret-set"},{"title":"List a computer's secret sets","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/secrets","href":"/api-reference/secrets/list-a-computers-secret-sets"},{"title":"Inspect a computer's secret set","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/secrets/{secret_set}","href":"/api-reference/secrets/inspect-a-computers-secret-set"}]},{"group":"Authentication","pages":[{"title":"Revoke an SSH key","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/ssh-keys/{id}","href":"/api-reference/authentication/revoke-an-ssh-key"},{"title":"Send an authentication code","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/auth/email/start","href":"/api-reference/authentication/send-an-authentication-code"},{"title":"Exchange an email code","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/auth/email/complete","href":"/api-reference/authentication/exchange-an-email-code"},{"title":"Refresh an authentication session","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/auth/refresh","href":"/api-reference/authentication/refresh-an-authentication-session"},{"title":"Open the website as the CLI session","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/auth/browser-handoff","href":"/api-reference/authentication/open-the-website-as-the-cli-session"},{"title":"Inspect the current account","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/auth/whoami","href":"/api-reference/authentication/inspect-the-current-account"},{"title":"Revoke the current credential","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/auth/logout","href":"/api-reference/authentication/revoke-the-current-credential"},{"title":"Change the owner's display name","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json patch /api/account","href":"/api-reference/authentication/change-the-owners-display-name"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/api-keys","href":"/api-reference/authentication/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/api-keys","href":"/api-reference/authentication/create-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/api-keys/{id}","href":"/api-reference/authentication/revoke-an-api-key"},{"title":"List SSH keys","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/ssh-keys","href":"/api-reference/authentication/list-ssh-keys"}]},{"group":"Services","pages":[{"title":"Stop a service","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/service/stop","href":"/api-reference/services/stop-a-service"},{"title":"Read HTTP exposure","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/exposure","href":"/api-reference/services/read-http-exposure"},{"title":"Expose an HTTP port","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/exposure","href":"/api-reference/services/expose-an-http-port"},{"title":"Remove HTTP exposure","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/exposure","href":"/api-reference/services/remove-http-exposure"},{"title":"Inspect the managed service","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/service","href":"/api-reference/services/inspect-the-managed-service"},{"title":"Clear a service","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/service","href":"/api-reference/services/clear-a-service"},{"title":"Run the computer's service","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/service/run","href":"/api-reference/services/run-the-computers-service"},{"title":"Restart a published service","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/service/restart","href":"/api-reference/services/restart-a-published-service"},{"title":"Read service logs","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/service/logs","href":"/api-reference/services/read-service-logs"}]},{"group":"Execution","pages":[{"title":"Run a command and stream its output","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/exec/stream","href":"/api-reference/execution/run-a-command-and-stream-its-output"},{"title":"Run a command","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/exec","href":"/api-reference/execution/run-a-command"},{"title":"Attach to an existing command","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/exec/attach","href":"/api-reference/execution/attach-to-an-existing-command"},{"title":"Cancel a command","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/exec/cancel","href":"/api-reference/execution/cancel-a-command"}]},{"group":"Terminals","pages":[{"title":"Reconnect to a terminal","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/terminals/{pty_id}/ticket","href":"/api-reference/terminals/reconnect-to-a-terminal"},{"title":"Close a terminal","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/terminals/{pty_id}","href":"/api-reference/terminals/close-a-terminal"},{"title":"Open a port proxy","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/proxy-ticket","href":"/api-reference/terminals/open-a-port-proxy"},{"title":"List terminals","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/terminals","href":"/api-reference/terminals/list-terminals"},{"title":"Open a terminal","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/terminals","href":"/api-reference/terminals/open-a-terminal"}]},{"group":"Computers","pages":[{"title":"Fetch a page with a browser","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/browser/{action}","href":"/api-reference/computers/fetch-a-page-with-a-browser"},{"title":"Get account usage","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/usage","href":"/api-reference/computers/get-account-usage"},{"title":"List computers","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers","href":"/api-reference/computers/list-computers"},{"title":"Create a computer","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers","href":"/api-reference/computers/create-a-computer"},{"title":"Get a computer","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}","href":"/api-reference/computers/get-a-computer"},{"title":"Delete a computer","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}","href":"/api-reference/computers/delete-a-computer"},{"title":"Give a site its own VM","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/vm","href":"/api-reference/computers/give-a-site-its-own-vm"}]},{"group":"GitHub","pages":[{"title":"Plan a workspace switch","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/workspaces/switch/plan","href":"/api-reference/github/plan-a-workspace-switch"},{"title":"Switch to a workspace","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/workspaces/switch","href":"/api-reference/github/switch-to-a-workspace"}]},{"group":"Messaging","pages":[{"title":"List messaging channels","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/messaging","href":"/api-reference/messaging/list-messaging-channels"},{"title":"Start connecting a messaging channel","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/messaging/{provider}/connect","href":"/api-reference/messaging/start-connecting-a-messaging-channel"},{"title":"Disconnect a messaging channel","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/messaging/{provider}","href":"/api-reference/messaging/disconnect-a-messaging-channel"}]},{"group":"Operator","pages":[{"title":"Send an operator message","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/operator/conversations/{id}/messages","href":"/api-reference/operator/send-an-operator-message"},{"title":"Cancel an operator turn","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/operator/turns/{id}/cancel","href":"/api-reference/operator/cancel-an-operator-turn"},{"title":"Upload an operator attachment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/operator/attachments","href":"/api-reference/operator/upload-an-operator-attachment"},{"title":"Delete an operator attachment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/operator/attachments/{id}","href":"/api-reference/operator/delete-an-operator-attachment"},{"title":"Download an operator attachment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/attachments/{id}/content","href":"/api-reference/operator/download-an-operator-attachment"},{"title":"List operator conversations","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/conversations","href":"/api-reference/operator/list-operator-conversations"},{"title":"Start an operator conversation","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/operator/conversations","href":"/api-reference/operator/start-an-operator-conversation"},{"title":"Stream conversation statuses","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/conversations/status-events","href":"/api-reference/operator/stream-conversation-statuses"},{"title":"Inspect an operator conversation","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/conversations/{id}","href":"/api-reference/operator/inspect-an-operator-conversation"},{"title":"Delete an operator conversation","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/operator/conversations/{id}","href":"/api-reference/operator/delete-an-operator-conversation"},{"title":"Rename an operator conversation","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json patch /api/operator/conversations/{id}","href":"/api-reference/operator/rename-an-operator-conversation"},{"title":"Page conversation history","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/conversations/{id}/history","href":"/api-reference/operator/page-conversation-history"},{"title":"Check access to a conversation's live stream","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/conversations/{id}/live-access","href":"/api-reference/operator/check-access-to-a-conversations-live-stream"},{"title":"Inspect an operator turn","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/operator/turns/{id}","href":"/api-reference/operator/inspect-an-operator-turn"}]},{"group":"Public","pages":[{"title":"Check API health","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /health","href":"/api-reference/public/check-api-health"},{"title":"List public computers","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/public/apps","href":"/api-reference/public/list-public-computers"}]},{"group":"Billing","pages":[{"title":"Inspect account billing","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/billing","href":"/api-reference/billing/inspect-account-billing"},{"title":"List recent invoices","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/billing/invoices","href":"/api-reference/billing/list-recent-invoices"},{"title":"Start Pro checkout","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/billing/checkout","href":"/api-reference/billing/start-pro-checkout"},{"title":"Manage account billing","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/billing/portal","href":"/api-reference/billing/manage-account-billing"}]},{"group":"Network","pages":[{"title":"Set public visibility","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/visibility","href":"/api-reference/network/set-public-visibility"},{"title":"Inspect network settings","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/network","href":"/api-reference/network/inspect-network-settings"},{"title":"Set outbound network access","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/network","href":"/api-reference/network/set-outbound-network-access"},{"title":"Inspect the default network policy","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/network/default","href":"/api-reference/network/inspect-the-default-network-policy"},{"title":"Set the default network policy","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/network/default","href":"/api-reference/network/set-the-default-network-policy"},{"title":"List outbound denials","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/network/denials","href":"/api-reference/network/list-outbound-denials"}]},{"group":"Sharing","pages":[{"title":"List people you share computers with","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/people","href":"/api-reference/sharing/list-people-you-share-computers-with"},{"title":"List people with computer access","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/shares","href":"/api-reference/sharing/list-people-with-computer-access"},{"title":"Invite a computer member","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/shares","href":"/api-reference/sharing/invite-a-computer-member"},{"title":"Stop sharing a computer with a person","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/shares","href":"/api-reference/sharing/stop-sharing-a-computer-with-a-person"},{"title":"Remove an active computer member","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/shares/{membership_id}","href":"/api-reference/sharing/remove-an-active-computer-member"},{"title":"Cancel a pending computer invitation","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/invitations/{invitation_id}","href":"/api-reference/sharing/cancel-a-pending-computer-invitation"}]},{"group":"Email","pages":[{"title":"Get the computer's email address","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/email/address","href":"/api-reference/email/get-the-computers-email-address"},{"title":"List computer email","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/emails","href":"/api-reference/email/list-computer-email"},{"title":"Read computer email","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/emails/{emailID}","href":"/api-reference/email/read-computer-email"},{"title":"Reply to computer email","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/emails/{emailID}/reply","href":"/api-reference/email/reply-to-computer-email"},{"title":"Send computer email","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/emails/send","href":"/api-reference/email/send-computer-email"}]},{"group":"Comments","pages":[{"title":"Pull computer comments","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/comments","href":"/api-reference/comments/pull-computer-comments"},{"title":"Create computer comment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments","href":"/api-reference/comments/create-computer-comment"},{"title":"Ask the agent about comments","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments/ask","href":"/api-reference/comments/ask-the-agent-about-comments"},{"title":"Wait for comments sent to your agent","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments/watch","href":"/api-reference/comments/wait-for-comments-sent-to-your-agent"},{"title":"Resolve computer comment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments/{commentID}/resolve","href":"/api-reference/comments/resolve-computer-comment"},{"title":"Reopen computer comment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments/{commentID}/reopen","href":"/api-reference/comments/reopen-computer-comment"},{"title":"Get the comment board","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/comments/all","href":"/api-reference/comments/get-the-comment-board"},{"title":"Open the comment live channel","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/comments/live","href":"/api-reference/comments/open-the-comment-live-channel"},{"title":"Reply to a computer comment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/comments/{commentID}/replies","href":"/api-reference/comments/reply-to-a-computer-comment"},{"title":"Delete computer comment","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/comments/{commentID}","href":"/api-reference/comments/delete-computer-comment"},{"title":"Get comment settings","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/comment-settings","href":"/api-reference/comments/get-comment-settings"},{"title":"Set comment settings","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/comment-settings","href":"/api-reference/comments/set-comment-settings"}]},{"group":"Domains","pages":[{"title":"Get the computer's custom domain","description":"Owner only. The computer's custom domain, its state and the two DNS records to publish: the TXT record that proves control of the hostname and the CNAME that points it at Cool Computers. challenge: waiting for the TXT record (checked every 30 seconds until challenge_expires_at, then the request is dropped). issuing: the hostname is claimed and its certificate is being issued; it waits for the CNAME. serving: the certificate is active; it waits for the hostname to answer through Cool Computers. A claimed hostname that is not active within 7 days of its claim is removed. active: the hostname serves what the computer's own address serves, which keeps serving too. removing: the domain is being removed. detail says what it waits for.","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/domain","href":"/api-reference/domains/get-the-computers-custom-domain"},{"title":"Connect a custom domain","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/domain","href":"/api-reference/domains/connect-a-custom-domain"},{"title":"Remove the custom domain","description":"Owner only. Removes the computer's custom domain. The hostname stops serving within seconds and is free to connect again once its certificate is deleted, usually within a minute. The computer's own address is unchanged. Deleting the computer removes its domain the same way.","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/domain","href":"/api-reference/domains/remove-the-custom-domain"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/files/list","href":"/api-reference/files/list-files"},{"title":"Inspect a file","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/files/stat","href":"/api-reference/files/inspect-a-file"},{"title":"Read a file","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/files/read","href":"/api-reference/files/read-a-file"},{"title":"Write a file","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/files/write","href":"/api-reference/files/write-a-file"},{"title":"Create a directory","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/files/mkdir","href":"/api-reference/files/create-a-directory"},{"title":"Upload a file tree","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/files/upload","href":"/api-reference/files/upload-a-file-tree"},{"title":"Download a file tree","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/files/download","href":"/api-reference/files/download-a-file-tree"},{"title":"Delete a file or directory","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json delete /api/computers/{id}/files/delete","href":"/api-reference/files/delete-a-file-or-directory"}]},{"group":"Publishing","pages":[{"title":"Publish files in one request","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/publish","href":"/api-reference/publishing/publish-files-in-one-request"},{"title":"Claim a computer published without an account","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/claim","href":"/api-reference/publishing/claim-a-computer-published-without-an-account"},{"title":"Query an owned site's database","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/database/query","href":"/api-reference/publishing/query-an-owned-sites-database"},{"title":"Read an owned site's function failures","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/logs","href":"/api-reference/publishing/read-an-owned-sites-function-failures"},{"title":"List releases","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json get /api/computers/{id}/releases","href":"/api-reference/publishing/list-releases"},{"title":"Create a release","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/releases","href":"/api-reference/publishing/create-a-release"},{"title":"Upload release content","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json put /api/computers/{id}/releases/{number}/blobs/{sha256}","href":"/api-reference/publishing/upload-release-content"},{"title":"Finalize a release","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/releases/{number}/finalize","href":"/api-reference/publishing/finalize-a-release"},{"title":"Make an earlier release live","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/computers/{id}/releases/{number}/promote","href":"/api-reference/publishing/make-an-earlier-release-live"}]},{"group":"Feedback","pages":[{"title":"Send feedback","deprecated":null,"version":null,"openapi":"https://www.cool.computer/openapi.json post /api/feedback","href":"/api-reference/feedback/send-feedback"}]}]}]},"title":"Connect a custom domain - Cool Computer Services","buildId":"dpl_BvXubCjoPYfvfFiCP5WgKvGYUZ9k","deploymentId":"dpl_BvXubCjoPYfvfFiCP5WgKvGYUZ9k","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Cn24bQ-L.js","utils-2fswSlDf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CCIi4ABW.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CAH7N_Ow.js","snippetPresets-x_0VpYAk.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-llGafAZf.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-W1eCShSz.js","shallow-NLT_NnDI.js","getApiPlaygroundDisplay-QSEhtcdZ.js","CodeSnippet-CK8Lk0kg.js","CodeSnippets-Cra_whAm.js","Page-CQfXSH2v.js","getPastedJson-BEz4UfPL.js","icon-CwvrEduL.js","MethodPill-DblyOGAG.js","DuplicateIcon-7P7ixz4I.js","createIcon-BURR5_pt.js","DynamicMarkdown-DteaQut7.js","SectionHeading-CHtmkzk7.js","axios-vUo_bRtp.js","Markdown-BIU4AXHQ.js","clsx-Ds0AvV0Z.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Ka3QKbKd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BURaoZsB.js"]}