Saves and starts the computer’s one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer’s URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site’s functions (/api), and a site’s files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.
A caller-generated key for safely retrying this side effect. The server retains the key and response for 24 hours. Reusing it with the same request replays the original response, except after a failure that proves nothing happened: that is kept for one minute, and one that sets Retry-After is not kept, so a retry after it runs the request again; reusing it with different input returns 409.
Absolute path to an existing directory, reached without symlinks, used to start the program; anything else answers 400 invalid_cwd. Omit it to use /home/runtime/app (created if missing) with a port, and /home/runtime without one, so a worker's files stay out of the published folder; status reports it. / and /home are refused with 400. /home/runtime is allowed: every credential file in it is under a hidden path, which the computer's URL never serves.
Port the program listens on; it is ready once the port accepts connections, and the computer's URL then reaches it. Omit it for a program that serves no port, such as a bot or a worker. Platform ports 3129, 18080 and 18088 are reserved.
Secret set (PUT /api/secrets/{secret_set}) whose keys the program gets as environment variables each time the service starts; a key delivered by proxy arrives as its stand-in. A changed set reaches the program at its next restart (POST .../service/restart).
unconfigured; starting (the program runs but is not ready yet); running (ready); restarting (waiting to start the program again after a crash); stopped; exited (the program ended with code 0); failed; unknown or unavailable when the VM cannot say; or the computer's status while it is not running.
{"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":128},{"language":"default","tag":"Operator","count":14},{"language":"default","tag":"Services","count":12},{"language":"default","tag":"Authentication","count":11},{"language":"default","tag":"Comments","count":10},{"language":"default","tag":"Providers","count":9},{"language":"default","tag":"Files","count":8},{"language":"default","tag":"Secrets","count":8},{"language":"default","tag":"GitHub","count":7},{"language":"default","tag":"Publishing","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/services/run-the-computers-service","slug":"/api-reference/services/run-the-computers-service","pageMetadata":{"title":"Run the computer's service","description":"Saves and starts the computer's one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer's URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site's functions (/api), and a site's files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.","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","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: \"Saves and starts the computer’s one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer’s URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site’s functions (/api), and a site’s files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\"\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":"Run the computer's service","description":"Saves and starts the computer's one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer's URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site's functions (/api), and a site's files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"runComputerService","summary":"Run the computer's service","description":"Saves and starts the computer's one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer's URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site's functions (/api), and a site's files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.","tags":["Services"],"security":["55580786-68d3-4795-83a7-55f746becc5d"],"parameters":["9ff41057-1d78-444a-9f7f-737e6afffb54","21efdd46-e7d7-400b-93ad-d189c005ac58"],"requestBody":"570dfca0-c837-4830-a503-1ce7f7799e3a","responses":{"200":"22792599-2ee1-4797-b297-a057095793b8","202":"de3f1983-7639-49d8-b11e-fa74930dc221","400":"f4417513-e53a-41fd-9d7d-39efb548b7c3","401":"952b9d39-95ab-4b0a-878d-670a1b89b89d","402":"7fdb43da-7b42-4cae-875a-1d47d30e8da9","403":"230e9515-3b78-4072-99b0-fd7ad935ad7d","404":"a24285ee-5d6e-4309-b314-10d3a9428e68","409":"3fd316de-912e-4c9b-ba52-0819a91ee860","413":"f6772622-92cf-40c8-8163-94998f3c146d","422":"08ec97e2-3f57-48a4-8dbc-f89011c21870","429":"eb1f3bed-6149-4f42-bec8-0aaa8e7d7007","500":"eaf5d688-4768-4722-bf2e-cae3776c065f","503":"d1bc2dfd-9785-46b5-8148-ce2783df04cc","default":"dc1890ef-c706-44cb-a520-c631ac059492"},"method":"post","type":"path","servers":["77111903-8e8f-4ae5-bb01-636ae5ea8aba"],"path":"/api/computers/{id}/service/run","baseUrlOptions":["https://api.cool.computer"],"title":"Run the computer's service","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9ff41057-1d78-444a-9f7f-737e6afffb54":{"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"}},"21efdd46-e7d7-400b-93ad-d189c005ac58":{"name":"Idempotency-Key","in":"header","required":false,"description":"A caller-generated key for safely retrying this side effect. The server retains the key and response for 24 hours. Reusing it with the same request replays the original response, except after a failure that proves nothing happened: that is kept for one minute, and one that sets Retry-After is not kept, so a retry after it runs the request again; reusing it with different input returns 409.","schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[!-~]+$","example":"req_01J6M6Y9TF9Q9QF6M1ZP8K4R2A","isRequired":false,"description":"A caller-generated key for safely retrying this side effect. The server retains the key and response for 24 hours. Reusing it with the same request replays the original response, except after a failure that proves nothing happened: that is kept for one minute, and one that sets Retry-After is not kept, so a retry after it runs the request again; reusing it with different input returns 409.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["command"],"example":{"command":"node server.js","port":3000},"properties":{"command":{"type":"string","minLength":1,"description":"Shell line that starts the long-running program. It runs again on every restart, so install dependencies with a one-shot exec first.","isRequired":true,"uniqueKey":"command","typeLabel":"string"},"cwd":{"type":"string","description":"Absolute path to an existing directory, reached without symlinks, used to start the program; anything else answers 400 invalid_cwd. Omit it to use /home/runtime/app (created if missing) with a port, and /home/runtime without one, so a worker's files stay out of the published folder; status reports it. / and /home are refused with 400. /home/runtime is allowed: every credential file in it is under a hidden path, which the computer's URL never serves.","uniqueKey":"cwd","typeLabel":"string"},"port":{"type":"integer","description":"Port the program listens on; it is ready once the port accepts connections, and the computer's URL then reaches it. Omit it for a program that serves no port, such as a bot or a worker. Platform ports 3129, 18080 and 18088 are reserved.","minimum":1,"maximum":65535,"not":{"enum":[3129,18080,18088]},"uniqueKey":"port","typeLabel":"integer"},"secrets":{"type":"string","minLength":1,"maxLength":63,"description":"Secret set (PUT /api/secrets/{secret_set}) whose keys the program gets as environment variables each time the service starts; a key delivered by proxy arrives as its stand-in. A changed set reaches the program at its next restart (POST .../service/restart).","uniqueKey":"secrets","typeLabel":"string"},"env":{"type":"object","description":"Plain environment variables for the program; names are letters, digits and _, not starting with RUNTIME_. Keep keys and tokens in a secret set instead.","additionalProperties":{"type":"string","uniqueKey":"env.additionalProperties","typeLabel":"string"},"uniqueKey":"env","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"command":"node server.js","port":3000}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"22792599-2ee1-4797-b297-a057095793b8":{"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 configured service and current process state.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["configured","status","ready","restarts"],"properties":{"configured":{"type":"boolean","isRequired":true,"uniqueKey":"configured","typeLabel":"boolean"},"status":{"type":"string","description":"unconfigured; starting (the program runs but is not ready yet); running (ready); restarting (waiting to start the program again after a crash); stopped; exited (the program ended with code 0); failed; unknown or unavailable when the VM cannot say; or the computer's status while it is not running.","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"ready":{"type":"boolean","description":"With a port, the port accepts connections; without one, the program has stayed up 5 s.","isRequired":true,"uniqueKey":"ready","typeLabel":"boolean"},"restarts":{"type":"integer","minimum":0,"description":"How often the program was started again after a crash since the service was last started.","isRequired":true,"uniqueKey":"restarts","typeLabel":"integer"},"url":{"type":"string","format":"uri","uniqueKey":"url","typeLabel":"string\u003curi>"},"command":{"type":"string","uniqueKey":"command","typeLabel":"string"},"cwd":{"type":"string","uniqueKey":"cwd","typeLabel":"string"},"port":{"type":"integer","minimum":1,"maximum":65535,"description":"Absent for a program that serves no port.","uniqueKey":"port","typeLabel":"integer"},"exec_id":{"type":"string","uniqueKey":"exec_id","typeLabel":"string"},"pid":{"type":"integer","minimum":1,"uniqueKey":"pid","typeLabel":"integer"},"started_at":{"type":"string","format":"date-time","uniqueKey":"started_at","typeLabel":"string\u003cdate-time>"},"ended_at":{"type":"string","format":"date-time","uniqueKey":"ended_at","typeLabel":"string\u003cdate-time>"},"exit_code":{"type":"integer","uniqueKey":"exit_code","typeLabel":"integer"},"signal":{"type":"string","uniqueKey":"signal","typeLabel":"string"},"last_exit":{"type":"object","additionalProperties":false,"required":["code","at"],"description":"The last crash it was restarted after.","properties":{"code":{"type":"integer","isRequired":true,"uniqueKey":"last_exit.code","typeLabel":"integer"},"at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"last_exit.at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"last_exit","typeLabel":"object"},"last_output":{"type":"string","description":"The program's last line of output, while it is not ready.","uniqueKey":"last_output","typeLabel":"string"},"logs":{"type":"object","additionalProperties":false,"required":["retention","bytes_written","bytes_dropped","dropped_frames","next_id"],"properties":{"retention":{"type":"string","const":"disk_ring","isRequired":true,"uniqueKey":"logs.retention","typeLabel":"string"},"bytes_written":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.bytes_written","typeLabel":"integer\u003cint64>"},"bytes_dropped":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.bytes_dropped","typeLabel":"integer\u003cint64>"},"dropped_frames":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"logs.dropped_frames","typeLabel":"integer"},"next_id":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.next_id","typeLabel":"integer\u003cint64>"}},"uniqueKey":"logs","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"configured":true,"status":"\u003cstring>","ready":true,"restarts":1,"url":"\u003cstring>","command":"\u003cstring>","cwd":"\u003cstring>","port":32768,"exec_id":"\u003cstring>","pid":2,"started_at":"2023-11-07T05:31:56Z","ended_at":"2023-11-07T05:31:56Z","exit_code":123,"signal":"\u003cstring>","last_exit":{"code":123,"at":"2023-11-07T05:31:56Z"},"last_output":"\u003cstring>","logs":{"retention":"disk_ring","bytes_written":1,"bytes_dropped":1,"dropped_frames":1,"next_id":1}}}},"exampleType":"generated"}},"exampleType":"generated"},"de3f1983-7639-49d8-b11e-fa74930dc221":{"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 service is still starting in the background: its program runs, but was not ready within 60 seconds. It is kept, and its port, if it has one, is exposed once it is ready; detail says what happens next.","content":{"application/json":{"schema":{"type":"object","required":["detail","configured","status","ready","restarts"],"properties":{"configured":{"type":"boolean","isRequired":true,"uniqueKey":"configured","typeLabel":"boolean"},"status":{"type":"string","description":"unconfigured; starting (the program runs but is not ready yet); running (ready); restarting (waiting to start the program again after a crash); stopped; exited (the program ended with code 0); failed; unknown or unavailable when the VM cannot say; or the computer's status while it is not running.","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"ready":{"type":"boolean","description":"With a port, the port accepts connections; without one, the program has stayed up 5 s.","isRequired":true,"uniqueKey":"ready","typeLabel":"boolean"},"restarts":{"type":"integer","minimum":0,"description":"How often the program was started again after a crash since the service was last started.","isRequired":true,"uniqueKey":"restarts","typeLabel":"integer"},"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"url":{"type":"string","format":"uri","uniqueKey":"url","typeLabel":"string\u003curi>"},"command":{"type":"string","uniqueKey":"command","typeLabel":"string"},"cwd":{"type":"string","uniqueKey":"cwd","typeLabel":"string"},"port":{"type":"integer","minimum":1,"maximum":65535,"description":"Absent for a program that serves no port.","uniqueKey":"port","typeLabel":"integer"},"exec_id":{"type":"string","uniqueKey":"exec_id","typeLabel":"string"},"pid":{"type":"integer","minimum":1,"uniqueKey":"pid","typeLabel":"integer"},"started_at":{"type":"string","format":"date-time","uniqueKey":"started_at","typeLabel":"string\u003cdate-time>"},"ended_at":{"type":"string","format":"date-time","uniqueKey":"ended_at","typeLabel":"string\u003cdate-time>"},"exit_code":{"type":"integer","uniqueKey":"exit_code","typeLabel":"integer"},"signal":{"type":"string","uniqueKey":"signal","typeLabel":"string"},"last_exit":{"type":"object","additionalProperties":false,"required":["code","at"],"description":"The last crash it was restarted after.","properties":{"code":{"type":"integer","isRequired":true,"uniqueKey":"last_exit.code","typeLabel":"integer"},"at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"last_exit.at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"last_exit","typeLabel":"object"},"last_output":{"type":"string","description":"The program's last line of output, while it is not ready.","uniqueKey":"last_output","typeLabel":"string"},"logs":{"type":"object","additionalProperties":false,"required":["retention","bytes_written","bytes_dropped","dropped_frames","next_id"],"properties":{"retention":{"type":"string","const":"disk_ring","isRequired":true,"uniqueKey":"logs.retention","typeLabel":"string"},"bytes_written":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.bytes_written","typeLabel":"integer\u003cint64>"},"bytes_dropped":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.bytes_dropped","typeLabel":"integer\u003cint64>"},"dropped_frames":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"logs.dropped_frames","typeLabel":"integer"},"next_id":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"logs.next_id","typeLabel":"integer\u003cint64>"}},"uniqueKey":"logs","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"configured":true,"status":"\u003cstring>","ready":true,"restarts":1,"detail":"\u003cstring>","url":"\u003cstring>","command":"\u003cstring>","cwd":"\u003cstring>","port":32768,"exec_id":"\u003cstring>","pid":2,"started_at":"2023-11-07T05:31:56Z","ended_at":"2023-11-07T05:31:56Z","exit_code":123,"signal":"\u003cstring>","last_exit":{"code":123,"at":"2023-11-07T05:31:56Z"},"last_output":"\u003cstring>","logs":{"retention":"disk_ring","bytes_written":1,"bytes_dropped":1,"dropped_frames":1,"next_id":1}}}},"exampleType":"generated"}},"exampleType":"generated"},"f4417513-e53a-41fd-9d7d-39efb548b7c3":{"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.","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"},"952b9d39-95ab-4b0a-878d-670a1b89b89d":{"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"},"7fdb43da-7b42-4cae-875a-1d47d30e8da9":{"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":"Payment Required. The trial expired or Pro is inactive; inspect the problem code and resolution.","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"},"230e9515-3b78-4072-99b0-fd7ad935ad7d":{"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":"Forbidden.","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"},"a24285ee-5d6e-4309-b314-10d3a9428e68":{"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":"Not Found.","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"},"3fd316de-912e-4c9b-ba52-0819a91ee860":{"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.","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"},"f6772622-92cf-40c8-8163-94998f3c146d":{"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":"Payload Too Large.","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"},"08ec97e2-3f57-48a4-8dbc-f89011c21870":{"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":"Unprocessable Entity: secrets names a secret set the account does not have (secret_set_not_found).","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"},"eb1f3bed-6149-4f42-bec8-0aaa8e7d7007":{"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"},"eaf5d688-4768-4722-bf2e-cae3776c065f":{"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"},"d1bc2dfd-9785-46b5-8148-ce2783df04cc":{"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":"Service Unavailable. `computer_starting` means the computer is starting, or stopped and being started again; wait for Retry-After seconds, then retry. Otherwise inspect the problem code and resolution.","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"},"dc1890ef-c706-44cb-a520-c631ac059492":{"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":{"55580786-68d3-4795-83a7-55f746becc5d":{"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":"Run the computer's service - Cool Computer Services","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T16:06:03.824Z","originalFileLocation":"api-reference/services/run-the-computers-service.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=\"Saves and starts the computer\u0026#x27;s one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer\u0026#x27;s URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site\u0026#x27;s functions (/api), and a site\u0026#x27;s files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\">\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=\"Run the computer\u0026#x27;s service - Cool Computer Services\">\u003cmeta data-mint-head property=\"og:description\" content=\"Saves and starts the computer\u0026#x27;s one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer\u0026#x27;s URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site\u0026#x27;s functions (/api), and a site\u0026#x27;s files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\">\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/services/run-the-computers-service\">\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=Services\u0026amp;title=Run+the+computer%27s+service\u0026amp;description=Saves+and+starts+the+computer%27s+one+long-running+program%2C+replacing+any+previous+one%2C+and+keeps+it+running.+The+command+is+a+shell+line%2C+as+for+exec.+A+program+\u0026amp;theme=c4dbd5f82e7529239430ea40\u0026amp;signature=5097fd0a1b6e83556edf236382a4aa080b59b8e3524bd132f0de559bf21b400e\">\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=\"Run the computer\u0026#x27;s service - Cool Computer Services\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Saves and starts the computer\u0026#x27;s one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer\u0026#x27;s URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site\u0026#x27;s functions (/api), and a site\u0026#x27;s files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cool-computer.mintlify.app/_mintlify/api/og/v2?division=Services\u0026amp;title=Run+the+computer%27s+service\u0026amp;description=Saves+and+starts+the+computer%27s+one+long-running+program%2C+replacing+any+previous+one%2C+and+keeps+it+running.+The+command+is+a+shell+line%2C+as+for+exec.+A+program+\u0026amp;theme=c4dbd5f82e7529239430ea40\u0026amp;signature=5097fd0a1b6e83556edf236382a4aa080b59b8e3524bd132f0de559bf21b400e\">\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/services/run-the-computers-service\">\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/services/run-the-computers-service.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/services/run-the-computers-service#webpage\",\"url\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service\",\"name\":\"Run the computer's service\",\"description\":\"Saves and starts the computer's one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer's URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site's functions (/api), and a site's files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\",\"dateModified\":\"2026-10-25T16:06:03.824Z\",\"isPartOf\":{\"@id\":\"https://cool.computer/docs#website\"},\"breadcrumb\":{\"@id\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoint reference\",\"item\":\"https://cool.computer/docs/api-reference/integrations/list-integrations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Services\",\"item\":\"https://cool.computer/docs/api-reference/services/stop-a-service\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Run the computer's service\",\"item\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service#apireference\",\"headline\":\"Run the computer's service\",\"name\":\"Run the computer's service\",\"description\":\"Saves and starts the computer's one long-running program, replacing any previous one, and keeps it running. The command is a shell line, as for exec. A program that exits with a failure or is killed after it was ready starts again after 1 s, doubling up to 60 s, and restarts counts it. With port, the program is ready once the port accepts connections, and then the computer's URL reaches it; without port (a bot or a worker), it is ready once it has stayed up 5 s, and the URL is unchanged. A program that ends before it is ready answers 409 with its exit and last stderr; one not ready after 60 seconds is kept, keeps starting in the background and answers 202. Install dependencies with a one-shot exec first: the command runs again on every restart. secrets names a secret set whose keys the program gets as environment variables when it starts, a key delivered by proxy as its stand-in; env adds plain values. On a site with no VM it gives the site its own VM first, which cannot be undone: its published files move to /home/runtime/app, and publishing to it stops. Once a port is exposed, the service answers every path but a site's functions (/api), and a site's files in /home/runtime/app are never served as files again, even after the port is removed. A later explicit exposure selection is independent of this process. Send an Idempotency-Key when a network failure might cause a retry.\",\"url\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service\",\"mainEntityOfPage\":{\"@id\":\"https://cool.computer/docs/api-reference/services/run-the-computers-service#webpage\"},\"dateModified\":\"2026-10-25T16:06:03.824Z\",\"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","description":"Stops the service and removes its configuration and exposure. Callers: an account bearer, or the computer's own runtime token (which `cool` uses inside the VM) for this computer.","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","description":"Restarts the configured durable service as a new persisted revision. Send an Idempotency-Key so a lost response cannot trigger another restart.","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","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","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":"Run the computer's service - 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"]}