Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.
Human-readable cache target such as a build-context path or step description
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nullspace","description":"Nullspace is composable machines for AI agents: on-demand microVM compute that agents create, scale, pause, and fork.","colors":{"primary":"#1a1d23","light":"#d7dae0","dark":"#1a1d23"},"logo":{"light":"https://mintcdn.com/catamaranresearch/IKCWYZugMKgGJaLI/images/logo-light.svg?fit=max\u0026auto=format\u0026n=IKCWYZugMKgGJaLI\u0026q=85\u0026s=fbbc2f6e5c18d0cc912d4eb6bd3af8ca","dark":"https://mintcdn.com/catamaranresearch/IKCWYZugMKgGJaLI/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=IKCWYZugMKgGJaLI\u0026q=85\u0026s=45090618928ba93bf1541f1237343216"},"favicon":"https://mintcdn.com/catamaranresearch/Nr4-Qd7vJxaLolgu/images/favicon.svg?fit=max\u0026auto=format\u0026n=Nr4-Qd7vJxaLolgu\u0026q=85\u0026s=af5b7478b24f7fa69691fdc785300537","api":{"openapi":"openapi.yaml","playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["python","curl"],"prefill":true,"autogenerate":true},"url":"full"},"appearance":{"default":"system"},"background":{"color":{"light":"#fafafa","dark":"#121212"}},"navbar":{"links":[{"href":"https://github.com/catamaran-research/nullspace","type":"github"}]},"footer":{"socials":{"github":"https://github.com/catamaran-research/nullspace"}},"search":{"prompt":"Search Nullspace docs"},"seo":{"indexing":"navigable"},"fonts":{"heading":{"family":"JetBrains Mono"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"one-light","dark":"one-dark-pro"}},"latex":false},"contextual":{"options":["copy","assistant","chatgpt","claude","cursor","vscode","mcp"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/catamaranresearch/bD-Cd21B2-kH3wuD/images/og-card.svg?fit=max\u0026auto=format\u0026n=bD-Cd21B2-kH3wuD\u0026q=85\u0026s=c0f0e8a21a89402d5babb5b32aaf4786"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"catamaranresearch","hasAudioNarration":false,"actualSubdomain":"catamaranresearch","customDomains":["docs.ns.rocks"],"gitSource":{"type":"github","owner":"catamaran-hq","repo":"nullspace","deployBranch":"main","contentDirectory":"docs/site","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a3822b512441f3b9589a265","collectionId":"7fc4efa0-bd9b-434b-a45f-b0aeb2b88e14","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a3822b512441f3b9589a265:success","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":258},{"language":"default","tag":"Endpoints","count":256},{"language":"default","tag":"Documentation","count":95},{"language":"default","tag":"Templates","count":62},{"language":"default","tag":"Machines","count":51},{"language":"default","tag":"Reference","count":48},{"language":"default","tag":"Volumes","count":42},{"language":"default","tag":"Desktop","count":38},{"language":"default","tag":"Agent Deployments","count":23},{"language":"default","tag":"Files","count":23}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/templates/stream-reconnectable-template-build-logs","slug":"/api-reference/templates/stream-reconnectable-template-build-logs","pageMetadata":{"title":"Stream reconnectable template build logs","description":"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when `follow=true`, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/builds/{build_id}/logs","href":"/api-reference/templates/stream-reconnectable-template-build-logs","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when \", _jsx(_components.code, {\n children: \"follow=true\"\n }), \", continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\"]\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":{"codeStyling":{"theme":{"light":"one-light","dark":"one-dark-pro"}},"config":{},"pageMetadata":{"title":"Stream reconnectable template build logs","description":"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when `follow=true`, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/builds/{build_id}/logs","href":"/api-reference/templates/stream-reconnectable-template-build-logs","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"streamTemplateBuildLogs","x-streaming":"sse","tags":["Templates"],"summary":"Stream reconnectable template build logs","description":"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when `follow=true`, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\n","responses":{"200":"e538c422-b113-470a-9bbe-a0e5f6b4d126","401":"115df9b8-d365-4102-8f6e-f7b92c88abc0","404":"d67271f7-fb42-453f-a64e-b3c2089a4abe","503":"c320f4e5-37ae-44a5-961d-9d4e90fa9412"},"method":"get","type":"path","servers":["f71276dc-ef86-4d4f-985f-09c832d1de19","a0e428dc-322f-4ccd-9734-92e4de588316","749ab2a6-3532-4028-b71c-05bbf14deb12","a433d02e-5c00-4042-8b8c-7e9096206976"],"security":["0074367e-5f75-43db-afc2-3b1ecac22146"],"path":"/v1/templates/builds/{build_id}/logs","baseUrlOptions":["https://api.13-215-85-171.sslip.io","https://nullspace.example","http://localhost","http://localhost:3000"],"title":"Stream reconnectable template build logs","codeSamples":[],"requestExampleLanguages":["python","bash"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[],"urlDisplay":"full"},"dependencies":{"parameters":{"de88084c-b871-448d-9497-6be2c7a4779e":{"name":"build_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"19f89281-4828-4736-909b-486f47cb931d":{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"uint64","isRequired":false,"description":"First durable log offset to replay. Takes precedence over cursor.","uniqueKey":"","typeLabel":"integer\u003cuint64>"},"description":"First durable log offset to replay. Takes precedence over cursor."},"c5f73449-5dc9-40b1-986f-eccd39842925":{"name":"cursor","in":"query","required":false,"schema":{"type":"integer","format":"uint64","isRequired":false,"description":"Alias for offset for reconnecting SSE clients.","uniqueKey":"","typeLabel":"integer\u003cuint64>"},"description":"Alias for offset for reconnecting SSE clients."},"72ae3699-8c73-4044-8bae-59a04b1d2064":{"name":"follow","in":"query","required":false,"schema":{"type":"boolean","default":false,"isRequired":false,"description":"Keep the SSE stream open and forward live build log entries.","uniqueKey":"","typeLabel":"boolean"},"description":"Keep the SSE stream open and forward live build log entries."}},"responses":{"e538c422-b113-470a-9bbe-a0e5f6b4d126":{"description":"SSE stream of template build log entries","content":{"text/event-stream":{"schema":{"type":"object","description":"A single structured build log entry emitted during template build","required":["build_id","template_id","offset","timestamp","kind","level","message"],"properties":{"build_id":{"type":"string","isRequired":true,"uniqueKey":"build_id","typeLabel":"string"},"template_id":{"type":"string","isRequired":true,"uniqueKey":"template_id","typeLabel":"string"},"offset":{"type":"integer","format":"uint64","isRequired":true,"uniqueKey":"offset","typeLabel":"integer\u003cuint64>"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"kind":{"type":"string","enum":["start","message","cache","retry","warning","error","cancelled","end"],"isRequired":true,"uniqueKey":"kind","typeLabel":"enum\u003cstring>"},"level":{"type":"string","enum":["debug","info","warn","error"],"isRequired":true,"uniqueKey":"level","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Canonical human-readable log message for this build entry","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error_detail":{"type":"object","required":["code","message","phase","retryable","suggested_action"],"properties":{"code":{"type":"string","enum":["unauthorized","file_upload_error","build_error","internal_error"],"isRequired":true,"uniqueKey":"error_detail.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.message","typeLabel":"string"},"phase":{"type":"string","enum":["auth","preflight","blob_upload","prepare","build_step","readiness","snapshot","finalize","interrupted"],"isRequired":true,"uniqueKey":"error_detail.phase","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.retryable","typeLabel":"boolean"},"suggested_action":{"type":"string","isRequired":true,"uniqueKey":"error_detail.suggested_action","typeLabel":"string"},"step_index":{"type":"integer","uniqueKey":"error_detail.step_index","typeLabel":"integer"},"attempt":{"type":"integer","uniqueKey":"error_detail.attempt","typeLabel":"integer"},"max_attempts":{"type":"integer","uniqueKey":"error_detail.max_attempts","typeLabel":"integer"},"cache_subject":{"type":"string","uniqueKey":"error_detail.cache_subject","typeLabel":"string"},"build_id":{"type":"string","uniqueKey":"error_detail.build_id","typeLabel":"string"},"request_id":{"type":"string","description":"Present on terminal request-originated failures and blocking error responses.","uniqueKey":"error_detail.request_id","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Stable failure metadata. Includes a `reason` key plus phase-specific fields such as `blob_id`, `path`, digest/size mismatch values, `command`, or `alias`.","uniqueKey":"error_detail.details","typeLabel":"object"}},"uniqueKey":"error_detail","typeLabel":"object"},"result":{"type":"object","required":["id","name","description","builtin","canonical_ref","namespace_slug","visibility"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"result.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"result.name","typeLabel":"string"},"description":{"type":"string","isRequired":true,"uniqueKey":"result.description","typeLabel":"string"},"builtin":{"type":"boolean","isRequired":true,"uniqueKey":"result.builtin","typeLabel":"boolean"},"canonical_ref":{"type":"string","isRequired":true,"uniqueKey":"result.canonical_ref","typeLabel":"string"},"namespace_slug":{"type":"string","isRequired":true,"uniqueKey":"result.namespace_slug","typeLabel":"string"},"visibility":{"type":"string","enum":["private","public"],"isRequired":true,"uniqueKey":"result.visibility","typeLabel":"enum\u003cstring>"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"result.tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result.tags","typeLabel":"string[]"},"default_tag":{"type":"string","uniqueKey":"result.default_tag","typeLabel":"string"},"runtime_defaults":{"type":"object","description":"Effective runtime defaults retained for a built template. Environment values are intentionally omitted; only keys are exposed.","properties":{"default_env_keys":{"type":"array","items":{"type":"string","uniqueKey":"result.runtime_defaults.default_env_keys.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result.runtime_defaults.default_env_keys","typeLabel":"string[]"},"start_cmd":{"type":"string","uniqueKey":"result.runtime_defaults.start_cmd","typeLabel":"string"},"default_user":{"type":"string","uniqueKey":"result.runtime_defaults.default_user","typeLabel":"string"},"default_workdir":{"type":"string","uniqueKey":"result.runtime_defaults.default_workdir","typeLabel":"string"},"readiness":{"oneOf":[{"type":"object","required":["kind","port"],"example":{"kind":"tcp","port":3000,"timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["tcp"],"isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.0.port","typeLabel":"integer\u003cint32>"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.0.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result.runtime_defaults.readiness.oneOf.0.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.0.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result.runtime_defaults.readiness.oneOf.0","typeLabel":"object"},{"type":"object","required":["kind","timeout_ms"],"example":{"kind":"timeout","timeout_ms":20000},"properties":{"kind":{"type":"string","enum":["timeout"],"isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"timeout_ms":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.1.timeout_ms","typeLabel":"integer\u003cint64>"}},"uniqueKey":"result.runtime_defaults.readiness.oneOf.1","typeLabel":"object"},{"type":"object","required":["kind","port","path"],"example":{"kind":"http","port":3000,"path":"/ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["http"],"isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.2.port","typeLabel":"integer\u003cint32>"},"path":{"type":"string","isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.2.path","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.2.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result.runtime_defaults.readiness.oneOf.2.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.2.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result.runtime_defaults.readiness.oneOf.2","typeLabel":"object"},{"type":"object","required":["kind","command"],"example":{"kind":"command","command":"test -e /tmp/template-ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["command"],"isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"command":{"type":"string","isRequired":true,"uniqueKey":"result.runtime_defaults.readiness.oneOf.3.command","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.3.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result.runtime_defaults.readiness.oneOf.3.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result.runtime_defaults.readiness.oneOf.3.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result.runtime_defaults.readiness.oneOf.3","typeLabel":"object"}],"uniqueKey":"result.runtime_defaults.readiness","typeLabel":"object"}},"uniqueKey":"result.runtime_defaults","typeLabel":"object"}},"uniqueKey":"result","typeLabel":"object"},"result_metadata":{"type":"object","description":"Additional metadata attached to terminal build log entries and durable build attempts.","properties":{"runtime_defaults":{"type":"object","description":"Effective runtime defaults retained for a built template. Environment values are intentionally omitted; only keys are exposed.","properties":{"default_env_keys":{"type":"array","items":{"type":"string","uniqueKey":"result_metadata.runtime_defaults.default_env_keys.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result_metadata.runtime_defaults.default_env_keys","typeLabel":"string[]"},"start_cmd":{"type":"string","uniqueKey":"result_metadata.runtime_defaults.start_cmd","typeLabel":"string"},"default_user":{"type":"string","uniqueKey":"result_metadata.runtime_defaults.default_user","typeLabel":"string"},"default_workdir":{"type":"string","uniqueKey":"result_metadata.runtime_defaults.default_workdir","typeLabel":"string"},"readiness":{"oneOf":[{"type":"object","required":["kind","port"],"example":{"kind":"tcp","port":3000,"timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["tcp"],"isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0.port","typeLabel":"integer\u003cint32>"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.0","typeLabel":"object"},{"type":"object","required":["kind","timeout_ms"],"example":{"kind":"timeout","timeout_ms":20000},"properties":{"kind":{"type":"string","enum":["timeout"],"isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"timeout_ms":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.1.timeout_ms","typeLabel":"integer\u003cint64>"}},"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.1","typeLabel":"object"},{"type":"object","required":["kind","port","path"],"example":{"kind":"http","port":3000,"path":"/ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["http"],"isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.port","typeLabel":"integer\u003cint32>"},"path":{"type":"string","isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.path","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.2","typeLabel":"object"},{"type":"object","required":["kind","command"],"example":{"kind":"command","command":"test -e /tmp/template-ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["command"],"isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"command":{"type":"string","isRequired":true,"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3.command","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.runtime_defaults.readiness.oneOf.3","typeLabel":"object"}],"uniqueKey":"result_metadata.runtime_defaults.readiness","typeLabel":"object"}},"uniqueKey":"result_metadata.runtime_defaults","typeLabel":"object"},"oci_metadata":{"type":"object","description":"OCI image metadata retained from Dockerfile or OCI imports. Volume declarations are metadata only and do not create persistent Nullspace volumes.","properties":{"labels":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"result_metadata.oci_metadata.labels.additionalProperties","typeLabel":"string"},"uniqueKey":"result_metadata.oci_metadata.labels","typeLabel":"object"},"exposed_ports":{"type":"array","items":{"type":"string","uniqueKey":"result_metadata.oci_metadata.exposed_ports.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result_metadata.oci_metadata.exposed_ports","typeLabel":"string[]"},"volumes":{"type":"array","items":{"type":"string","uniqueKey":"result_metadata.oci_metadata.volumes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result_metadata.oci_metadata.volumes","typeLabel":"string[]"},"healthcheck":{"type":"object","properties":{"test":{"type":"array","items":{"type":"string","uniqueKey":"result_metadata.oci_metadata.healthcheck.test.items.[INDEX]","typeLabel":"string"},"uniqueKey":"result_metadata.oci_metadata.healthcheck.test","typeLabel":"string[]"},"interval_ns":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.interval_ns","typeLabel":"integer\u003cint64>"},"timeout_ns":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.timeout_ns","typeLabel":"integer\u003cint64>"},"start_period_ns":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.start_period_ns","typeLabel":"integer\u003cint64>"},"retries":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.retries","typeLabel":"integer\u003cint32>"},"mapped_readiness":{"oneOf":[{"type":"object","required":["kind","port"],"example":{"kind":"tcp","port":3000,"timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["tcp"],"isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0.port","typeLabel":"integer\u003cint32>"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.0","typeLabel":"object"},{"type":"object","required":["kind","timeout_ms"],"example":{"kind":"timeout","timeout_ms":20000},"properties":{"kind":{"type":"string","enum":["timeout"],"isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"timeout_ms":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.1.timeout_ms","typeLabel":"integer\u003cint64>"}},"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.1","typeLabel":"object"},{"type":"object","required":["kind","port","path"],"example":{"kind":"http","port":3000,"path":"/ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["http"],"isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"port":{"type":"integer","format":"int32","isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.port","typeLabel":"integer\u003cint32>"},"path":{"type":"string","isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.path","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.2","typeLabel":"object"},{"type":"object","required":["kind","command"],"example":{"kind":"command","command":"test -e /tmp/template-ready","timeout_secs":30,"interval_ms":500,"startup_grace_secs":2},"properties":{"kind":{"type":"string","enum":["command"],"isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"command":{"type":"string","isRequired":true,"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3.command","typeLabel":"string"},"timeout_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3.timeout_secs","typeLabel":"integer\u003cint32>"},"interval_ms":{"type":"integer","format":"int64","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3.interval_ms","typeLabel":"integer\u003cint64>"},"startup_grace_secs":{"type":"integer","format":"int32","uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3.startup_grace_secs","typeLabel":"integer\u003cint32>"}},"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness.oneOf.3","typeLabel":"object"}],"uniqueKey":"result_metadata.oci_metadata.healthcheck.mapped_readiness","typeLabel":"object"}},"uniqueKey":"result_metadata.oci_metadata.healthcheck","typeLabel":"object"}},"uniqueKey":"result_metadata.oci_metadata","typeLabel":"object"}},"uniqueKey":"result_metadata","typeLabel":"object"},"phase":{"type":"string","description":"Build phase: cache, preparing, vm_create, step, sync, startup, readiness, snapshot, finalize, cleanup, retry","uniqueKey":"phase","typeLabel":"string"},"step_index":{"type":"integer","description":"1-indexed current build step number","uniqueKey":"step_index","typeLabel":"integer"},"total_steps":{"type":"integer","description":"Total number of build steps","uniqueKey":"total_steps","typeLabel":"integer"},"attempt":{"type":"integer","description":"Current retry attempt (1-indexed)","uniqueKey":"attempt","typeLabel":"integer"},"max_attempts":{"type":"integer","description":"Maximum number of retry attempts allowed","uniqueKey":"max_attempts","typeLabel":"integer"},"cache_kind":{"type":"string","enum":["file_blob","layer","final_artifact"],"description":"Cache layer this event describes","uniqueKey":"cache_kind","typeLabel":"enum\u003cstring>"},"cache_status":{"type":"string","enum":["hit","miss","stored","bypass"],"description":"Cache outcome for this event","uniqueKey":"cache_status","typeLabel":"enum\u003cstring>"},"cache_reason":{"type":"string","enum":["whole_build_skip_cache","builder_cache_boundary","force_upload","missing_or_incompatible"],"description":"Optional reason for a cache miss or bypass","uniqueKey":"cache_reason","typeLabel":"enum\u003cstring>"},"cache_subject":{"type":"string","description":"Human-readable cache target such as a build-context path or step description","uniqueKey":"cache_subject","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"logEntry":{"title":"logEntry","value":"id: 10\nevent: log\ndata: {\"build_id\":\"tb_123\",\"template_id\":\"tmpl_123\",\"offset\":10,\"timestamp\":\"2026-03-17T00:00:12Z\",\"kind\":\"message\",\"level\":\"info\",\"message\":\"Snapshot complete\"}\n"}},"exampleType":"examples"}},"exampleType":"examples"},"115df9b8-d365-4102-8f6e-f7b92c88abc0":{"description":"Missing or invalid bearer credential","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code","enum":["invalid_request","machine_not_found","snapshot_not_found","template_not_found","template_build_not_found","template_name_claim_not_found","machine_not_ready","unauthorized","auth_failed","auth_locked","auth_proxy_error","auth_proxy_unavailable","invalid_auth_redirect","invalid_oauth_provider","captcha_required","captcha_failed","captcha_unavailable","disposable_email","signup_rate_limited","oauth_rate_limited","email_action_rate_limited","database_error","email_not_verified","account_deleted","operator_required","account_not_found","account_not_soft_deleted","account_hard_delete_active_resources","file_upload_error","build_error","exec_timeout","exec_failed","file_error","not_implemented","capacity_exceeded","QUOTA_EXCEEDED","feature_unavailable","snapshot_in_use","no_eligible_runtime_host","same_host_required","incompatible_snapshot","rebuild_required","rate_limit_exceeded","transition_in_progress","transition_conflict","agent_deployment_not_found","agent_deployment_version_not_found","agent_run_not_found","agent_service_instance_not_found","agent_deployment_name_conflict","agent_deployment_idempotency_mismatch","agent_deployment_invalid_config","agent_deployment_invalid_state","volume_beta_restriction","volume_invalid_mount_path","volume_overlapping_mounts","volume_backend_capability_unsupported","volume_quota_exceeded","volume_mount_credential_issue_failed","volume_backend_unavailable","volume_stale_revision","volume_busy","volume_read_only","volume_limit_exceeded","internal_error"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error_detail":{"oneOf":[{"type":"object","required":["code","message","phase","retryable","suggested_action"],"properties":{"code":{"type":"string","enum":["unauthorized","file_upload_error","build_error","internal_error"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.message","typeLabel":"string"},"phase":{"type":"string","enum":["auth","preflight","blob_upload","prepare","build_step","readiness","snapshot","finalize","interrupted"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.phase","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.0.retryable","typeLabel":"boolean"},"suggested_action":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.suggested_action","typeLabel":"string"},"step_index":{"type":"integer","uniqueKey":"error_detail.oneOf.0.step_index","typeLabel":"integer"},"attempt":{"type":"integer","uniqueKey":"error_detail.oneOf.0.attempt","typeLabel":"integer"},"max_attempts":{"type":"integer","uniqueKey":"error_detail.oneOf.0.max_attempts","typeLabel":"integer"},"cache_subject":{"type":"string","uniqueKey":"error_detail.oneOf.0.cache_subject","typeLabel":"string"},"build_id":{"type":"string","uniqueKey":"error_detail.oneOf.0.build_id","typeLabel":"string"},"request_id":{"type":"string","description":"Present on terminal request-originated failures and blocking error responses.","uniqueKey":"error_detail.oneOf.0.request_id","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Stable failure metadata. Includes a `reason` key plus phase-specific fields such as `blob_id`, `path`, digest/size mismatch values, `command`, or `alias`.","uniqueKey":"error_detail.oneOf.0.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.0","typeLabel":"object"},{"type":"object","required":["reason","message","retryable"],"properties":{"reason":{"type":"string","enum":["insufficient_staging_space","size_limit_exceeded","invalid_part_checksum","part_out_of_range","part_size_mismatch","whole_checksum_mismatch","upload_expired","upload_aborted","upload_already_completed","target_conflict","directory_extract_invalid_path","directory_extract_invalid_symlink","directory_extract_unsupported_entry","missing_parts"],"isRequired":true,"uniqueKey":"error_detail.oneOf.1.reason","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.1.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.1.retryable","typeLabel":"boolean"},"upload_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.upload_id","typeLabel":"string"},"request_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.request_id","typeLabel":"string"},"path":{"type":"string","description":"Normalized absolute machine path associated with the failed upload when available.","uniqueKey":"error_detail.oneOf.1.path","typeLabel":"string"},"part_number":{"type":"integer","format":"uint32","uniqueKey":"error_detail.oneOf.1.part_number","typeLabel":"integer\u003cuint32>"},"details":{"type":"object","additionalProperties":true,"description":"Additional failure diagnostics; keys depend on the failure reason, deliberately open.","uniqueKey":"error_detail.oneOf.1.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.1","typeLabel":"object"}],"uniqueKey":"error_detail","typeLabel":"object"},"request_id":{"type":"string","description":"Request correlation ID returned in the `x-request-id` header","uniqueKey":"request_id","typeLabel":"string"},"build_id":{"type":"string","description":"Template build ID when the error is associated with a tracked build","uniqueKey":"build_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"unauthorized":{"title":"unauthorized","value":{"error":"Missing or invalid bearer credential","code":"unauthorized","request_id":"req_123"}}},"exampleType":"examples"}},"exampleType":"examples"},"d67271f7-fb42-453f-a64e-b3c2089a4abe":{"description":"Template or template build not found","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code","enum":["invalid_request","machine_not_found","snapshot_not_found","template_not_found","template_build_not_found","template_name_claim_not_found","machine_not_ready","unauthorized","auth_failed","auth_locked","auth_proxy_error","auth_proxy_unavailable","invalid_auth_redirect","invalid_oauth_provider","captcha_required","captcha_failed","captcha_unavailable","disposable_email","signup_rate_limited","oauth_rate_limited","email_action_rate_limited","database_error","email_not_verified","account_deleted","operator_required","account_not_found","account_not_soft_deleted","account_hard_delete_active_resources","file_upload_error","build_error","exec_timeout","exec_failed","file_error","not_implemented","capacity_exceeded","QUOTA_EXCEEDED","feature_unavailable","snapshot_in_use","no_eligible_runtime_host","same_host_required","incompatible_snapshot","rebuild_required","rate_limit_exceeded","transition_in_progress","transition_conflict","agent_deployment_not_found","agent_deployment_version_not_found","agent_run_not_found","agent_service_instance_not_found","agent_deployment_name_conflict","agent_deployment_idempotency_mismatch","agent_deployment_invalid_config","agent_deployment_invalid_state","volume_beta_restriction","volume_invalid_mount_path","volume_overlapping_mounts","volume_backend_capability_unsupported","volume_quota_exceeded","volume_mount_credential_issue_failed","volume_backend_unavailable","volume_stale_revision","volume_busy","volume_read_only","volume_limit_exceeded","internal_error"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error_detail":{"oneOf":[{"type":"object","required":["code","message","phase","retryable","suggested_action"],"properties":{"code":{"type":"string","enum":["unauthorized","file_upload_error","build_error","internal_error"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.message","typeLabel":"string"},"phase":{"type":"string","enum":["auth","preflight","blob_upload","prepare","build_step","readiness","snapshot","finalize","interrupted"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.phase","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.0.retryable","typeLabel":"boolean"},"suggested_action":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.suggested_action","typeLabel":"string"},"step_index":{"type":"integer","uniqueKey":"error_detail.oneOf.0.step_index","typeLabel":"integer"},"attempt":{"type":"integer","uniqueKey":"error_detail.oneOf.0.attempt","typeLabel":"integer"},"max_attempts":{"type":"integer","uniqueKey":"error_detail.oneOf.0.max_attempts","typeLabel":"integer"},"cache_subject":{"type":"string","uniqueKey":"error_detail.oneOf.0.cache_subject","typeLabel":"string"},"build_id":{"type":"string","uniqueKey":"error_detail.oneOf.0.build_id","typeLabel":"string"},"request_id":{"type":"string","description":"Present on terminal request-originated failures and blocking error responses.","uniqueKey":"error_detail.oneOf.0.request_id","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Stable failure metadata. Includes a `reason` key plus phase-specific fields such as `blob_id`, `path`, digest/size mismatch values, `command`, or `alias`.","uniqueKey":"error_detail.oneOf.0.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.0","typeLabel":"object"},{"type":"object","required":["reason","message","retryable"],"properties":{"reason":{"type":"string","enum":["insufficient_staging_space","size_limit_exceeded","invalid_part_checksum","part_out_of_range","part_size_mismatch","whole_checksum_mismatch","upload_expired","upload_aborted","upload_already_completed","target_conflict","directory_extract_invalid_path","directory_extract_invalid_symlink","directory_extract_unsupported_entry","missing_parts"],"isRequired":true,"uniqueKey":"error_detail.oneOf.1.reason","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.1.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.1.retryable","typeLabel":"boolean"},"upload_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.upload_id","typeLabel":"string"},"request_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.request_id","typeLabel":"string"},"path":{"type":"string","description":"Normalized absolute machine path associated with the failed upload when available.","uniqueKey":"error_detail.oneOf.1.path","typeLabel":"string"},"part_number":{"type":"integer","format":"uint32","uniqueKey":"error_detail.oneOf.1.part_number","typeLabel":"integer\u003cuint32>"},"details":{"type":"object","additionalProperties":true,"description":"Additional failure diagnostics; keys depend on the failure reason, deliberately open.","uniqueKey":"error_detail.oneOf.1.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.1","typeLabel":"object"}],"uniqueKey":"error_detail","typeLabel":"object"},"request_id":{"type":"string","description":"Request correlation ID returned in the `x-request-id` header","uniqueKey":"request_id","typeLabel":"string"},"build_id":{"type":"string","description":"Template build ID when the error is associated with a tracked build","uniqueKey":"build_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","error_detail":{"code":"unauthorized","message":"\u003cstring>","phase":"auth","retryable":true,"suggested_action":"\u003cstring>","step_index":123,"attempt":123,"max_attempts":123,"cache_subject":"\u003cstring>","build_id":"\u003cstring>","request_id":"\u003cstring>","details":{}},"request_id":"\u003cstring>","build_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c320f4e5-37ae-44a5-961d-9d4e90fa9412":{"description":"Feature is unavailable in current deployment mode","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code","enum":["invalid_request","machine_not_found","snapshot_not_found","template_not_found","template_build_not_found","template_name_claim_not_found","machine_not_ready","unauthorized","auth_failed","auth_locked","auth_proxy_error","auth_proxy_unavailable","invalid_auth_redirect","invalid_oauth_provider","captcha_required","captcha_failed","captcha_unavailable","disposable_email","signup_rate_limited","oauth_rate_limited","email_action_rate_limited","database_error","email_not_verified","account_deleted","operator_required","account_not_found","account_not_soft_deleted","account_hard_delete_active_resources","file_upload_error","build_error","exec_timeout","exec_failed","file_error","not_implemented","capacity_exceeded","QUOTA_EXCEEDED","feature_unavailable","snapshot_in_use","no_eligible_runtime_host","same_host_required","incompatible_snapshot","rebuild_required","rate_limit_exceeded","transition_in_progress","transition_conflict","agent_deployment_not_found","agent_deployment_version_not_found","agent_run_not_found","agent_service_instance_not_found","agent_deployment_name_conflict","agent_deployment_idempotency_mismatch","agent_deployment_invalid_config","agent_deployment_invalid_state","volume_beta_restriction","volume_invalid_mount_path","volume_overlapping_mounts","volume_backend_capability_unsupported","volume_quota_exceeded","volume_mount_credential_issue_failed","volume_backend_unavailable","volume_stale_revision","volume_busy","volume_read_only","volume_limit_exceeded","internal_error"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error_detail":{"oneOf":[{"type":"object","required":["code","message","phase","retryable","suggested_action"],"properties":{"code":{"type":"string","enum":["unauthorized","file_upload_error","build_error","internal_error"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.message","typeLabel":"string"},"phase":{"type":"string","enum":["auth","preflight","blob_upload","prepare","build_step","readiness","snapshot","finalize","interrupted"],"isRequired":true,"uniqueKey":"error_detail.oneOf.0.phase","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.0.retryable","typeLabel":"boolean"},"suggested_action":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.0.suggested_action","typeLabel":"string"},"step_index":{"type":"integer","uniqueKey":"error_detail.oneOf.0.step_index","typeLabel":"integer"},"attempt":{"type":"integer","uniqueKey":"error_detail.oneOf.0.attempt","typeLabel":"integer"},"max_attempts":{"type":"integer","uniqueKey":"error_detail.oneOf.0.max_attempts","typeLabel":"integer"},"cache_subject":{"type":"string","uniqueKey":"error_detail.oneOf.0.cache_subject","typeLabel":"string"},"build_id":{"type":"string","uniqueKey":"error_detail.oneOf.0.build_id","typeLabel":"string"},"request_id":{"type":"string","description":"Present on terminal request-originated failures and blocking error responses.","uniqueKey":"error_detail.oneOf.0.request_id","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Stable failure metadata. Includes a `reason` key plus phase-specific fields such as `blob_id`, `path`, digest/size mismatch values, `command`, or `alias`.","uniqueKey":"error_detail.oneOf.0.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.0","typeLabel":"object"},{"type":"object","required":["reason","message","retryable"],"properties":{"reason":{"type":"string","enum":["insufficient_staging_space","size_limit_exceeded","invalid_part_checksum","part_out_of_range","part_size_mismatch","whole_checksum_mismatch","upload_expired","upload_aborted","upload_already_completed","target_conflict","directory_extract_invalid_path","directory_extract_invalid_symlink","directory_extract_unsupported_entry","missing_parts"],"isRequired":true,"uniqueKey":"error_detail.oneOf.1.reason","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error_detail.oneOf.1.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error_detail.oneOf.1.retryable","typeLabel":"boolean"},"upload_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.upload_id","typeLabel":"string"},"request_id":{"type":"string","uniqueKey":"error_detail.oneOf.1.request_id","typeLabel":"string"},"path":{"type":"string","description":"Normalized absolute machine path associated with the failed upload when available.","uniqueKey":"error_detail.oneOf.1.path","typeLabel":"string"},"part_number":{"type":"integer","format":"uint32","uniqueKey":"error_detail.oneOf.1.part_number","typeLabel":"integer\u003cuint32>"},"details":{"type":"object","additionalProperties":true,"description":"Additional failure diagnostics; keys depend on the failure reason, deliberately open.","uniqueKey":"error_detail.oneOf.1.details","typeLabel":"object"}},"uniqueKey":"error_detail.oneOf.1","typeLabel":"object"}],"uniqueKey":"error_detail","typeLabel":"object"},"request_id":{"type":"string","description":"Request correlation ID returned in the `x-request-id` header","uniqueKey":"request_id","typeLabel":"string"},"build_id":{"type":"string","description":"Template build ID when the error is associated with a tracked build","uniqueKey":"build_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"invalid_request","error_detail":{"code":"unauthorized","message":"\u003cstring>","phase":"auth","retryable":true,"suggested_action":"\u003cstring>","step_index":123,"attempt":123,"max_attempts":123,"cache_subject":"\u003cstring>","build_id":"\u003cstring>","request_id":"\u003cstring>","details":{}},"request_id":"\u003cstring>","build_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0074367e-5f75-43db-afc2-3b1ecac22146":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key passed as Bearer token","scopes":[]}}},"servers":{"f71276dc-ef86-4d4f-985f-09c832d1de19":{"url":"https://api.13-215-85-171.sslip.io","description":"Private beta"},"a0e428dc-322f-4ccd-9734-92e4de588316":{"url":"https://nullspace.example","description":"Self-hosted single-host owned-domain"},"749ab2a6-3532-4028-b71c-05bbf14deb12":{"url":"http://localhost","description":"Self-hosted single-host localhost/no-domain via Caddy"},"a433d02e-5c00-4042-8b8c-7e9096206976":{"url":"http://localhost:3000","description":"Local development direct API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key passed as Bearer token","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key passed as Bearer token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"catamaranresearch","siteName":"Nullspace","title":"Stream reconnectable template build logs - Nullspace","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-21T17:43:31.569Z","originalFileLocation":"api-reference/templates/stream-reconnectable-template-build-logs.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=\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nullspace\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Stream reconnectable template build logs - Nullspace\">\u003cmeta data-mint-head property=\"og:description\" content=\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nullspace\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://catamaranresearch.mintlify.app/_mintlify/api/og/v2?division=Templates\u0026amp;title=Stream+reconnectable+template+build+logs\u0026amp;description=Firecracker-only+endpoint.+Replays+durable+build+log+entries+from+the+requested+offset+or+cursor+and%2C+when+%60follow%3Dtrue%60%2C+continues+streaming+live+entries+from+\u0026amp;theme=09658a1c05675b16b601ee5f\u0026amp;signature=a0c52e58e13ad034527f04f3e680f852bdccb63e9d1c7e8ffc216c8b92bf1f8a\">\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=\"Stream reconnectable template build logs - Nullspace\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://catamaranresearch.mintlify.app/_mintlify/api/og/v2?division=Templates\u0026amp;title=Stream+reconnectable+template+build+logs\u0026amp;description=Firecracker-only+endpoint.+Replays+durable+build+log+entries+from+the+requested+offset+or+cursor+and%2C+when+%60follow%3Dtrue%60%2C+continues+streaming+live+entries+from+\u0026amp;theme=09658a1c05675b16b601ee5f\u0026amp;signature=a0c52e58e13ad034527f04f3e680f852bdccb63e9d1c7e8ffc216c8b92bf1f8a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/catamaranresearch/u9xmdi3i1cKfEW81/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nullspace\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1a1d23\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/templates/stream-reconnectable-template-build-logs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ns.rocks/#organization\",\"name\":\"Nullspace\",\"url\":\"https://docs.ns.rocks\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/catamaranresearch/IKCWYZugMKgGJaLI/images/logo-light.svg?fit=max\u0026auto=format\u0026n=IKCWYZugMKgGJaLI\u0026q=85\u0026s=fbbc2f6e5c18d0cc912d4eb6bd3af8ca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ns.rocks#website\",\"name\":\"Nullspace\",\"url\":\"https://docs.ns.rocks\",\"publisher\":{\"@id\":\"https://docs.ns.rocks/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs#webpage\",\"url\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs\",\"name\":\"Stream reconnectable template build logs\",\"description\":\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\",\"dateModified\":\"2026-06-21T17:43:31.569Z\",\"isPartOf\":{\"@id\":\"https://docs.ns.rocks#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.ns.rocks/api-reference/health/process-liveness-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Templates\",\"item\":\"https://docs.ns.rocks/api-reference/templates/list-template-warm-pools\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Stream reconnectable template build logs\",\"item\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs#apireference\",\"headline\":\"Stream reconnectable template build logs\",\"name\":\"Stream reconnectable template build logs\",\"description\":\"Firecracker-only endpoint. Replays durable build log entries from the requested offset or cursor and, when follow=true, continues streaming live entries from the active build broadcaster. Owned custom-template builds are caller-scoped; reconnecting with a different authenticated caller returns not found rather than revealing build existence.\",\"url\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ns.rocks/api-reference/templates/stream-reconnectable-template-build-logs#webpage\"},\"dateModified\":\"2026-06-21T17:43:31.569Z\",\"publisher\":{\"@id\":\"https://docs.ns.rocks/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ns.rocks#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nullspace\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nullspace","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Examples","icon":"code","pages":[{"title":"Examples","href":"/examples"}]},{"tab":"Agents","icon":"bot","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Reference","icon":"terminal","pages":[{"title":"Reference","href":"/sdk-reference"}]},{"tab":"API Reference","icon":"braces","groups":[{"group":"Overview","icon":"compass","pages":[{"title":"API Reference","href":"/api-reference"},{"title":"API Reference Scope","href":"/reference/api-scope"}]},{"group":"Endpoints","icon":"braces","pages":[{"group":"Health","pages":[{"title":"Process liveness check","deprecated":null,"version":null,"openapi":"/openapi.yaml get /healthz","href":"/api-reference/health/process-liveness-check"}]},{"group":"Auth","pages":[{"title":"Create a Supabase Auth user through the gated abuse-controlled proxy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/auth/signup","href":"/api-reference/auth/create-a-supabase-auth-user-through-the-gated-abuse-controlled-proxy"},{"title":"Sign in through the gated failed-login lockout proxy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/auth/signin","href":"/api-reference/auth/sign-in-through-the-gated-failed-login-lockout-proxy"},{"title":"Start an explicitly enabled OAuth flow through the API proxy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/auth/oauth/start","href":"/api-reference/auth/start-an-explicitly-enabled-oauth-flow-through-the-api-proxy"},{"title":"Send a password reset email through the gated abuse-controlled proxy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/auth/password/reset","href":"/api-reference/auth/send-a-password-reset-email-through-the-gated-abuse-controlled-proxy"},{"title":"Resend signup verification through the gated abuse-controlled proxy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/auth/verification/resend","href":"/api-reference/auth/resend-signup-verification-through-the-gated-abuse-controlled-proxy"}]},{"group":"API Keys","pages":[{"title":"List API keys for the authenticated user","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/keys","href":"/api-reference/api-keys/list-api-keys-for-the-authenticated-user"},{"title":"Create an API key for the authenticated user","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/keys","href":"/api-reference/api-keys/create-an-api-key-for-the-authenticated-user"},{"title":"Idempotently create the first runtime API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/keys/default","href":"/api-reference/api-keys/idempotently-create-the-first-runtime-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/keys/{id}","href":"/api-reference/api-keys/revoke-an-api-key"},{"title":"Rotate an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/keys/{id}/rotate","href":"/api-reference/api-keys/rotate-an-api-key"}]},{"group":"Account","pages":[{"title":"Get the current account","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/account/me","href":"/api-reference/account/get-the-current-account"},{"title":"Update current account profile metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/account/me","href":"/api-reference/account/update-current-account-profile-metadata"},{"title":"Export account data","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/account/export","href":"/api-reference/account/export-account-data"},{"title":"Soft-delete the current account","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/account","href":"/api-reference/account/soft-delete-the-current-account"}]},{"group":"Admin","pages":[{"title":"Search self-serve users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/admin/users","href":"/api-reference/admin/search-self-serve-users"},{"title":"Get operator account detail","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/admin/users/{user_id}","href":"/api-reference/admin/get-operator-account-detail"},{"title":"Hard-delete a soft-deleted account","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/admin/users/{user_id}","href":"/api-reference/admin/hard-delete-a-soft-deleted-account"},{"title":"Update a user's quota tier","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/admin/users/{user_id}/quota","href":"/api-reference/admin/update-a-users-quota-tier"},{"title":"Mint an operator beta key for a user","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/admin/users/{user_id}/keys","href":"/api-reference/admin/mint-an-operator-beta-key-for-a-user"},{"title":"List quota tiers for operator override UI","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/admin/quota-tiers","href":"/api-reference/admin/list-quota-tiers-for-operator-override-ui"}]},{"group":"Machines","pages":[{"title":"List all machines","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines","href":"/api-reference/machines/list-all-machines"},{"title":"Create a new machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines","href":"/api-reference/machines/create-a-new-machine"},{"title":"Get machine details","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}","href":"/api-reference/machines/get-machine-details"},{"title":"Destroy a machine","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}","href":"/api-reference/machines/destroy-a-machine"},{"title":"Set machine timeout","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/timeout","href":"/api-reference/machines/set-machine-timeout"},{"title":"Update the egress policy of a running machine","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/machines/{id}/egress","href":"/api-reference/machines/update-the-egress-policy-of-a-running-machine"},{"title":"Get machine resource metrics","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/metrics","href":"/api-reference/machines/get-machine-resource-metrics"},{"title":"Execute a command in the machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/exec","href":"/api-reference/machines/execute-a-command-in-the-machine"},{"title":"List running processes in the machine","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/processes","href":"/api-reference/machines/list-running-processes-in-the-machine"},{"title":"Kill a process by PID","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/processes/{pid}/kill","href":"/api-reference/machines/kill-a-process-by-pid"},{"title":"Send data to a process's stdin","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/processes/{pid}/stdin","href":"/api-reference/machines/send-data-to-a-processs-stdin"},{"title":"Get process stdout/stderr logs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/processes/{pid}/logs","href":"/api-reference/machines/get-process-stdoutstderr-logs"},{"title":"Get host address for a forwarded port","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/host","href":"/api-reference/machines/get-host-address-for-a-forwarded-port"},{"title":"Create a default signed browser preview URL","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/ports/{port}/preview-url","href":"/api-reference/machines/create-a-default-signed-browser-preview-url"},{"title":"Create a signed browser preview URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/ports/{port}/signed-preview-url","href":"/api-reference/machines/create-a-signed-browser-preview-url"},{"title":"Create a custom preview proxy target","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/ports/{port}/preview-proxy-target","href":"/api-reference/machines/create-a-custom-preview-proxy-target"},{"title":"Check preview service readiness","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/ports/{port}/readiness","href":"/api-reference/machines/check-preview-service-readiness"},{"title":"List browser preview grants","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/preview-urls","href":"/api-reference/machines/list-browser-preview-grants"},{"title":"Revoke a browser preview grant","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/preview-urls/{grant_id}","href":"/api-reference/machines/revoke-a-browser-preview-grant"},{"title":"Mint certificate-backed OpenSSH relay access","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/ssh-access","href":"/api-reference/machines/mint-certificate-backed-openssh-relay-access"},{"title":"Hibernate a machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/hibernate","href":"/api-reference/machines/hibernate-a-machine"},{"title":"Create a reusable snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/snapshots","href":"/api-reference/machines/create-a-reusable-snapshot"},{"title":"Resume paused machine state","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{snapshot_id}/resume","href":"/api-reference/machines/resume-paused-machine-state"},{"title":"Fork (clone) a running machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/fork","href":"/api-reference/machines/fork-clone-a-running-machine"},{"title":"List snapshots","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/snapshots","href":"/api-reference/machines/list-snapshots"},{"title":"Get snapshot metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/snapshots/{id}","href":"/api-reference/machines/get-snapshot-metadata"},{"title":"Delete a snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/snapshots/{id}","href":"/api-reference/machines/delete-a-snapshot"},{"title":"List lifecycle events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/events","href":"/api-reference/machines/list-lifecycle-events"},{"title":"List lifecycle events related to a machine","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/lifecycle","href":"/api-reference/machines/list-lifecycle-events-related-to-a-machine"},{"title":"List lifecycle events related to a snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/snapshots/{id}/lifecycle","href":"/api-reference/machines/list-lifecycle-events-related-to-a-snapshot"},{"title":"List lifecycle webhooks","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/webhooks","href":"/api-reference/machines/list-lifecycle-webhooks"},{"title":"Create a lifecycle webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/lifecycle/webhooks","href":"/api-reference/machines/create-a-lifecycle-webhook"},{"title":"Get a lifecycle webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/webhooks/{id}","href":"/api-reference/machines/get-a-lifecycle-webhook"},{"title":"Delete a lifecycle webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/lifecycle/webhooks/{id}","href":"/api-reference/machines/delete-a-lifecycle-webhook"},{"title":"Update a lifecycle webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/lifecycle/webhooks/{id}","href":"/api-reference/machines/update-a-lifecycle-webhook"},{"title":"List lifecycle webhook deliveries","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/webhooks/{id}/deliveries","href":"/api-reference/machines/list-lifecycle-webhook-deliveries"},{"title":"Get a lifecycle webhook delivery with attempts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/webhooks/{id}/deliveries/{delivery_id}","href":"/api-reference/machines/get-a-lifecycle-webhook-delivery-with-attempts"}]},{"group":"Volumes","pages":[{"title":"List volume attachments for a machine","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/volumes","href":"/api-reference/volumes/list-volume-attachments-for-a-machine"},{"title":"Attach a volume to a running machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/volumes","href":"/api-reference/volumes/attach-a-volume-to-a-running-machine"},{"title":"Detach a volume from a running machine","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/volumes/{attachment_id}","href":"/api-reference/volumes/detach-a-volume-from-a-running-machine"},{"title":"Refresh and return runtime health for a machine volume attachment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/volumes/{attachment_id}/health","href":"/api-reference/volumes/refresh-and-return-runtime-health-for-a-machine-volume-attachment"},{"title":"Remount a machine volume attachment in place","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/volumes/{attachment_id}/remount","href":"/api-reference/volumes/remount-a-machine-volume-attachment-in-place"},{"title":"List volumes visible to the current user","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes","href":"/api-reference/volumes/list-volumes-visible-to-the-current-user"},{"title":"Create a new persistent volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes","href":"/api-reference/volumes/create-a-new-persistent-volume"},{"title":"Get volume metadata by exact name","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/by-name/{name}","href":"/api-reference/volumes/get-volume-metadata-by-exact-name"},{"title":"Get volume metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}","href":"/api-reference/volumes/get-volume-metadata"},{"title":"Delete an empty unattached volume","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/volumes/{id}","href":"/api-reference/volumes/delete-an-empty-unattached-volume"},{"title":"List machine attachments for a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}/attachments","href":"/api-reference/volumes/list-machine-attachments-for-a-volume"},{"title":"List files or directories in a volume path","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}/files","href":"/api-reference/volumes/list-files-or-directories-in-a-volume-path"},{"title":"Read volume file contents","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/read","href":"/api-reference/volumes/read-volume-file-contents"},{"title":"Write content to a file in a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/write","href":"/api-reference/volumes/write-content-to-a-file-in-a-volume"},{"title":"Check whether a file or directory exists in a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/exists","href":"/api-reference/volumes/check-whether-a-file-or-directory-exists-in-a-volume"},{"title":"Get file or directory metadata from a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/info","href":"/api-reference/volumes/get-file-or-directory-metadata-from-a-volume"},{"title":"Remove a file or directory from a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/remove","href":"/api-reference/volumes/remove-a-file-or-directory-from-a-volume"},{"title":"Rename or move a file within a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/rename","href":"/api-reference/volumes/rename-or-move-a-file-within-a-volume"},{"title":"Create a directory in a volume","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/mkdir","href":"/api-reference/volumes/create-a-directory-in-a-volume"},{"title":"Set volume file permissions","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/permissions","href":"/api-reference/volumes/set-volume-file-permissions"},{"title":"Search volume file contents by regex","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/find","href":"/api-reference/volumes/search-volume-file-contents-by-regex"},{"title":"Search volume files by glob pattern","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/search","href":"/api-reference/volumes/search-volume-files-by-glob-pattern"},{"title":"Replace text in volume files","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/replace","href":"/api-reference/volumes/replace-text-in-volume-files"},{"title":"Get a signed direct download URL for a volume file or directory archive","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/download-url","href":"/api-reference/volumes/get-a-signed-direct-download-url-for-a-volume-file-or-directory-archive"},{"title":"Get a signed direct upload URL for one volume file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/files/upload-url","href":"/api-reference/volumes/get-a-signed-direct-upload-url-for-one-volume-file"},{"title":"Download a file or directory archive directly from a volume with a signed grant","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}/file","href":"/api-reference/volumes/download-a-file-or-directory-archive-directly-from-a-volume-with-a-signed-grant"},{"title":"Upload one file directly into a volume with a signed grant","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/volumes/{id}/file","href":"/api-reference/volumes/upload-one-file-directly-into-a-volume-with-a-signed-grant"},{"title":"Upload one file directly into a volume with a signed multipart grant","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/file","href":"/api-reference/volumes/upload-one-file-directly-into-a-volume-with-a-signed-multipart-grant"},{"title":"Create a resumable volume upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/uploads","href":"/api-reference/volumes/create-a-resumable-volume-upload-session"},{"title":"Get resumable volume upload session status","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}/uploads/{upload_id}","href":"/api-reference/volumes/get-resumable-volume-upload-session-status"},{"title":"Abort and delete a resumable volume upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/volumes/{id}/uploads/{upload_id}","href":"/api-reference/volumes/abort-and-delete-a-resumable-volume-upload-session"},{"title":"Upload one resumable volume-upload part","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/volumes/{id}/uploads/{upload_id}/parts/{part_number}","href":"/api-reference/volumes/upload-one-resumable-volume-upload-part"},{"title":"Complete and publish a resumable volume upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/volumes/{id}/uploads/{upload_id}/complete","href":"/api-reference/volumes/complete-and-publish-a-resumable-volume-upload-session"}]},{"group":"WebSocket","pages":[{"title":"Upgrade to a native lifecycle WebSocket stream","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/lifecycle/ws","href":"/api-reference/websocket/upgrade-to-a-native-lifecycle-websocket-stream"},{"title":"Upgrade to WebSocket for streaming exec/PTY","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/ws","href":"/api-reference/websocket/upgrade-to-websocket-for-streaming-execpty"},{"title":"Upgrade to WebSocket for direct volume watches","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/volumes/{id}/ws","href":"/api-reference/websocket/upgrade-to-websocket-for-direct-volume-watches"},{"title":"Upgrade to the monitor WebSocket stream","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/monitor/ws","href":"/api-reference/websocket/upgrade-to-the-monitor-websocket-stream"}]},{"group":"Files","pages":[{"title":"List directory contents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/files","href":"/api-reference/files/list-directory-contents"},{"title":"Download a file as raw bytes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/file","href":"/api-reference/files/download-a-file-as-raw-bytes"},{"title":"Upload raw bytes to a file","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/machines/{id}/file","href":"/api-reference/files/upload-raw-bytes-to-a-file"},{"title":"Upload a file with multipart form data or a raw request body","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/file","href":"/api-reference/files/upload-a-file-with-multipart-form-data-or-a-raw-request-body"},{"title":"Create a resumable upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/uploads","href":"/api-reference/files/create-a-resumable-upload-session"},{"title":"Get resumable upload session status","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/uploads/{upload_id}","href":"/api-reference/files/get-resumable-upload-session-status"},{"title":"Abort and delete a resumable upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/uploads/{upload_id}","href":"/api-reference/files/abort-and-delete-a-resumable-upload-session"},{"title":"Upload one resumable upload part","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/machines/{id}/uploads/{upload_id}/parts/{part_number}","href":"/api-reference/files/upload-one-resumable-upload-part"},{"title":"Complete and publish a resumable upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/uploads/{upload_id}/complete","href":"/api-reference/files/complete-and-publish-a-resumable-upload-session"},{"title":"Read file contents","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/read","href":"/api-reference/files/read-file-contents"},{"title":"Write content to a file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/write","href":"/api-reference/files/write-content-to-a-file"},{"title":"Upload multiple files in one multipart request","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/batch-write","href":"/api-reference/files/upload-multiple-files-in-one-multipart-request"},{"title":"Check if a file or directory exists","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/exists","href":"/api-reference/files/check-if-a-file-or-directory-exists"},{"title":"Get file metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/info","href":"/api-reference/files/get-file-metadata"},{"title":"Remove a file or directory","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/remove","href":"/api-reference/files/remove-a-file-or-directory"},{"title":"Rename or move a file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/rename","href":"/api-reference/files/rename-or-move-a-file"},{"title":"Create a directory (recursive)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/mkdir","href":"/api-reference/files/create-a-directory-recursive"},{"title":"Get a direct upload URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/upload-url","href":"/api-reference/files/get-a-direct-upload-url"},{"title":"Get a direct download URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/download-url","href":"/api-reference/files/get-a-direct-download-url"},{"title":"Set file permissions","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/permissions","href":"/api-reference/files/set-file-permissions"},{"title":"Search for a pattern inside file contents (grep)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/find","href":"/api-reference/files/search-for-a-pattern-inside-file-contents-grep"},{"title":"Search for files by name pattern (find)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/search","href":"/api-reference/files/search-for-files-by-name-pattern-find"},{"title":"Find and replace text in files (sed)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/files/replace","href":"/api-reference/files/find-and-replace-text-in-files-sed"}]},{"group":"Git","pages":[{"title":"Clone a git repository into the machine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/clone","href":"/api-reference/git/clone-a-git-repository-into-the-machine"},{"title":"Parsed working-tree status","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/git/status","href":"/api-reference/git/parsed-working-tree-status"},{"title":"Commit history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/git/log","href":"/api-reference/git/commit-history"},{"title":"List branches","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/git/branch","href":"/api-reference/git/list-branches"},{"title":"Create or delete a branch","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/branch","href":"/api-reference/git/create-or-delete-a-branch"},{"title":"Check out a branch, tag, or commit","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/checkout","href":"/api-reference/git/check-out-a-branch-tag-or-commit"},{"title":"Stage changes","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/add","href":"/api-reference/git/stage-changes"},{"title":"Create a commit","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/commit","href":"/api-reference/git/create-a-commit"},{"title":"Pull from a remote","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/pull","href":"/api-reference/git/pull-from-a-remote"},{"title":"Push to a remote","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/git/push","href":"/api-reference/git/push-to-a-remote"}]},{"group":"Desktop","pages":[{"title":"Take a full-screen screenshot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/screenshot","href":"/api-reference/desktop/take-a-full-screen-screenshot"},{"title":"Take a screenshot of a region","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/screenshot/region","href":"/api-reference/desktop/take-a-screenshot-of-a-region"},{"title":"Take a screenshot with compression options","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/screenshot/compressed","href":"/api-reference/desktop/take-a-screenshot-with-compression-options"},{"title":"Click at coordinates","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/click","href":"/api-reference/desktop/click-at-coordinates"},{"title":"Move mouse to coordinates","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/move","href":"/api-reference/desktop/move-mouse-to-coordinates"},{"title":"Press and hold a mouse button","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/mouse/down","href":"/api-reference/desktop/press-and-hold-a-mouse-button"},{"title":"Release a mouse button","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/mouse/up","href":"/api-reference/desktop/release-a-mouse-button"},{"title":"Type text string","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/type","href":"/api-reference/desktop/type-text-string"},{"title":"Press a single key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/key","href":"/api-reference/desktop/press-a-single-key"},{"title":"Drag from one point to another","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/drag","href":"/api-reference/desktop/drag-from-one-point-to-another"},{"title":"Scroll at coordinates","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/scroll","href":"/api-reference/desktop/scroll-at-coordinates"},{"title":"Press a hotkey combination (e.g. \"ctrl+c\")","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/hotkey","href":"/api-reference/desktop/press-a-hotkey-combination-eg-\"ctrl+c\""},{"title":"Press a key with optional modifiers","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/press","href":"/api-reference/desktop/press-a-key-with-optional-modifiers"},{"title":"Get screen dimensions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/screen_size","href":"/api-reference/desktop/get-screen-dimensions"},{"title":"Get current cursor position","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/cursor","href":"/api-reference/desktop/get-current-cursor-position"},{"title":"Get display information","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/display","href":"/api-reference/desktop/get-display-information"},{"title":"Get desktop automation capabilities","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/capabilities","href":"/api-reference/desktop/get-desktop-automation-capabilities"},{"title":"List open windows with metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/windows","href":"/api-reference/desktop/list-open-windows-with-metadata"},{"title":"Launch a desktop application using an explicit mode","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/launch","href":"/api-reference/desktop/launch-a-desktop-application-using-an-explicit-mode"},{"title":"Open a path, file URL, or URI with the desktop session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/open","href":"/api-reference/desktop/open-a-path-file-url-or-uri-with-the-desktop-session"},{"title":"Get text from the guest clipboard","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/clipboard","href":"/api-reference/desktop/get-text-from-the-guest-clipboard"},{"title":"Set text on the guest clipboard","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/machines/{id}/desktop/clipboard","href":"/api-reference/desktop/set-text-on-the-guest-clipboard"},{"title":"Get the current active window ID","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/window/current","href":"/api-reference/desktop/get-the-current-active-window-id"},{"title":"Get the title for a specific window","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/window/{window_id}/title","href":"/api-reference/desktop/get-the-title-for-a-specific-window"},{"title":"Get raw VNC connection info for advanced or operator use","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/stream","href":"/api-reference/desktop/get-raw-vnc-connection-info-for-advanced-or-operator-use"},{"title":"Start or rotate the preferred managed desktop viewer session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/stream/start","href":"/api-reference/desktop/start-or-rotate-the-preferred-managed-desktop-viewer-session"},{"title":"Stop the managed desktop viewer session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/stream/stop","href":"/api-reference/desktop/stop-the-managed-desktop-viewer-session"},{"title":"Get the active managed desktop viewer auth key and browser URL","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/stream/auth-key","href":"/api-reference/desktop/get-the-active-managed-desktop-viewer-auth-key-and-browser-url"},{"title":"Get the managed desktop viewer page","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/viewer","href":"/api-reference/desktop/get-the-managed-desktop-viewer-page"},{"title":"Renew the public managed desktop viewer session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/viewer/session","href":"/api-reference/desktop/renew-the-public-managed-desktop-viewer-session"},{"title":"Get text from the guest clipboard through the managed viewer auth token","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/viewer/clipboard","href":"/api-reference/desktop/get-text-from-the-guest-clipboard-through-the-managed-viewer-auth-token"},{"title":"Set text on the guest clipboard through the managed viewer auth token","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/machines/{id}/desktop/viewer/clipboard","href":"/api-reference/desktop/set-text-on-the-guest-clipboard-through-the-managed-viewer-auth-token"},{"title":"Get a managed desktop viewer asset","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/desktop/viewer-assets/{path}","href":"/api-reference/desktop/get-a-managed-desktop-viewer-asset"},{"title":"Upgrade to the managed desktop viewer websocket bridge","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/viewer/ws","href":"/api-reference/desktop/upgrade-to-the-managed-desktop-viewer-websocket-bridge"}]},{"group":"Recording","pages":[{"title":"Start screen recording","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/recording/start","href":"/api-reference/recording/start-screen-recording"},{"title":"Stop screen recording","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/desktop/recording/stop","href":"/api-reference/recording/stop-screen-recording"},{"title":"List all recordings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/recording","href":"/api-reference/recording/list-all-recordings"},{"title":"Get recording details","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/recording/{rid}","href":"/api-reference/recording/get-recording-details"},{"title":"Delete a recording","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/desktop/recording/{rid}","href":"/api-reference/recording/delete-a-recording"},{"title":"Download recording video file","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/desktop/recording/{rid}/download","href":"/api-reference/recording/download-recording-video-file"}]},{"group":"PTY","pages":[{"title":"List PTY sessions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/pty","href":"/api-reference/pty/list-pty-sessions"},{"title":"Get PTY session info","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/pty/{sid}","href":"/api-reference/pty/get-pty-session-info"},{"title":"Kill a PTY session","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/pty/{sid}","href":"/api-reference/pty/kill-a-pty-session"},{"title":"Resize a PTY session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/pty/{sid}/resize","href":"/api-reference/pty/resize-a-pty-session"}]},{"group":"Templates","pages":[{"title":"List template warm pools","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/template-warm-pools","href":"/api-reference/templates/list-template-warm-pools"},{"title":"Create a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/template-warm-pools","href":"/api-reference/templates/create-a-template-warm-pool"},{"title":"Get a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/template-warm-pools/{warm_pool_id}","href":"/api-reference/templates/get-a-template-warm-pool"},{"title":"Delete a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/template-warm-pools/{warm_pool_id}","href":"/api-reference/templates/delete-a-template-warm-pool"},{"title":"Update a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/template-warm-pools/{warm_pool_id}","href":"/api-reference/templates/update-a-template-warm-pool"},{"title":"Get template warm-pool status counts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/template-warm-pools/{warm_pool_id}/status","href":"/api-reference/templates/get-template-warm-pool-status-counts"},{"title":"Enable a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/template-warm-pools/{warm_pool_id}/enable","href":"/api-reference/templates/enable-a-template-warm-pool"},{"title":"Disable a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/template-warm-pools/{warm_pool_id}/disable","href":"/api-reference/templates/disable-a-template-warm-pool"},{"title":"Drain a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/template-warm-pools/{warm_pool_id}/drain","href":"/api-reference/templates/drain-a-template-warm-pool"},{"title":"Reconcile a template warm pool","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/template-warm-pools/{warm_pool_id}/reconcile","href":"/api-reference/templates/reconcile-a-template-warm-pool"},{"title":"List templates accessible to the caller","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates","href":"/api-reference/templates/list-templates-accessible-to-the-caller"},{"title":"Create a template (deprecated blocking convenience)","deprecated":true,"version":null,"openapi":"/openapi.yaml post /v1/templates","href":"/api-reference/templates/create-a-template-deprecated-blocking-convenience"},{"title":"Get template details","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/{id}","href":"/api-reference/templates/get-template-details"},{"title":"Delete a template","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/{id}","href":"/api-reference/templates/delete-a-template"},{"title":"Update logical template visibility","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/templates/{id}/visibility","href":"/api-reference/templates/update-logical-template-visibility"},{"title":"Rename a logical template","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/{id}/rename","href":"/api-reference/templates/rename-a-logical-template"},{"title":"List logical template aliases","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/{id}/aliases","href":"/api-reference/templates/list-logical-template-aliases"},{"title":"Remove a logical template alias","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/{id}/aliases/{alias}","href":"/api-reference/templates/remove-a-logical-template-alias"},{"title":"Build a template with streaming logs","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/build","href":"/api-reference/templates/build-a-template-with-streaming-logs"},{"title":"Start a background template build","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/builds","href":"/api-reference/templates/start-a-background-template-build"},{"title":"Validate a template build request without starting a build","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/validate","href":"/api-reference/templates/validate-a-template-build-request-without-starting-a-build"},{"title":"Return a backend-neutral template build plan without starting a build","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/plan","href":"/api-reference/templates/return-a-backend-neutral-template-build-plan-without-starting-a-build"},{"title":"Preflight template build-context blobs","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/blobs/preflight","href":"/api-reference/templates/preflight-template-build-context-blobs"},{"title":"Upload a preflighted template blob","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/templates/blobs/{blob_id}","href":"/api-reference/templates/upload-a-preflighted-template-blob"},{"title":"Poll template build status and incremental events","description":"Firecracker-only endpoint. Returns the canonical build snapshot plus incremental structured log entries. Owned custom-template builds are caller-scoped; polling with a different authenticated caller returns not found rather than revealing build existence. Terminal failures keep the legacy top-level `error` string and may also include structured `error_detail` on both the `build` record and terminal `kind=error` log entries.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/builds/{build_id}","href":"/api-reference/templates/poll-template-build-status-and-incremental-events"},{"title":"Stream reconnectable template build logs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/builds/{build_id}/logs","href":"/api-reference/templates/stream-reconnectable-template-build-logs"},{"title":"Cancel a queued or running template build","description":"Requests cancellation for an active template build. Cancellation is idempotent for terminal builds and returns the current build snapshot.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/builds/{build_id}/cancel","href":"/api-reference/templates/cancel-a-queued-or-running-template-build"},{"title":"Retry a template build from its persisted definition","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/builds/{build_id}/retry","href":"/api-reference/templates/retry-a-template-build-from-its-persisted-definition"},{"title":"Promote a successful historical build to a tag","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/builds/{build_id}/promote","href":"/api-reference/templates/promote-a-successful-historical-build-to-a-tag"},{"title":"List the tag → build_id assignments for a template","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/{id}/tags","href":"/api-reference/templates/list-the-tag-→-build_id-assignments-for-a-template"},{"title":"Assign or promote tags for a template artifact","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/{id}/tags","href":"/api-reference/templates/assign-or-promote-tags-for-a-template-artifact"},{"title":"List build history for a template","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/{id}/builds","href":"/api-reference/templates/list-build-history-for-a-template"},{"title":"Remove a tag from a template artifact","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/{id}/tags/{tag}","href":"/api-reference/templates/remove-a-tag-from-a-template-artifact"},{"title":"Get template details by canonical ref","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/refs/{ref}","href":"/api-reference/templates/get-template-details-by-canonical-ref"},{"title":"Delete a custom template by canonical ref","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/refs/{ref}","href":"/api-reference/templates/delete-a-custom-template-by-canonical-ref"},{"title":"Reserve a template name claim","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/claims","href":"/api-reference/templates/reserve-a-template-name-claim"},{"title":"Release a template name claim","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/claims/{claim_token}","href":"/api-reference/templates/release-a-template-name-claim"},{"title":"Update logical template visibility by canonical ref","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/templates/refs/{ref}/visibility","href":"/api-reference/templates/update-logical-template-visibility-by-canonical-ref"},{"title":"Rename a logical template by canonical ref","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/refs/{ref}/rename","href":"/api-reference/templates/rename-a-logical-template-by-canonical-ref"},{"title":"List active tag assignments for a custom template ref","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/refs/{ref}/tags","href":"/api-reference/templates/list-active-tag-assignments-for-a-custom-template-ref"},{"title":"Assign or promote tags for a custom template ref","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/refs/{ref}/tags","href":"/api-reference/templates/assign-or-promote-tags-for-a-custom-template-ref"},{"title":"Get template namespace metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/namespaces/{slug}","href":"/api-reference/templates/get-template-namespace-metadata"},{"title":"List build history for a custom template ref","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/refs/{ref}/builds","href":"/api-reference/templates/list-build-history-for-a-custom-template-ref"},{"title":"List read-only aliases for a logical template","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/refs/{ref}/aliases","href":"/api-reference/templates/list-read-only-aliases-for-a-logical-template"},{"title":"Remove a tag from a custom template ref","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/refs/{ref}/tags/{tag}","href":"/api-reference/templates/remove-a-tag-from-a-custom-template-ref"},{"title":"Remove a read-only alias from a logical template","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/refs/{ref}/aliases/{alias}","href":"/api-reference/templates/remove-a-read-only-alias-from-a-logical-template"}]},{"group":"Agent Deployments","pages":[{"title":"List agent deployments","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments","href":"/api-reference/agent-deployments/list-agent-deployments"},{"title":"Create an agent deployment","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments","href":"/api-reference/agent-deployments/create-an-agent-deployment"},{"title":"Get an agent deployment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}","href":"/api-reference/agent-deployments/get-an-agent-deployment"},{"title":"Delete an agent deployment","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/agent-deployments/{deployment_id}","href":"/api-reference/agent-deployments/delete-an-agent-deployment"},{"title":"Update an agent deployment","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/agent-deployments/{deployment_id}","href":"/api-reference/agent-deployments/update-an-agent-deployment"},{"title":"List agent deployment events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/events","href":"/api-reference/agent-deployments/list-agent-deployment-events"},{"title":"List agent deployment versions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/versions","href":"/api-reference/agent-deployments/list-agent-deployment-versions"},{"title":"Create an agent deployment version","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/versions","href":"/api-reference/agent-deployments/create-an-agent-deployment-version"},{"title":"Get an agent deployment version","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/versions/{version_id}","href":"/api-reference/agent-deployments/get-an-agent-deployment-version"},{"title":"Upload an agent deployment version bundle","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/agent-deployments/{deployment_id}/versions/{version_id}/bundle","href":"/api-reference/agent-deployments/upload-an-agent-deployment-version-bundle"},{"title":"List agent runs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/runs","href":"/api-reference/agent-deployments/list-agent-runs"},{"title":"Create an agent run","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/runs","href":"/api-reference/agent-deployments/create-an-agent-run"},{"title":"Get an agent run","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/runs/{run_id}","href":"/api-reference/agent-deployments/get-an-agent-run"},{"title":"Cancel an agent run","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/runs/{run_id}/cancel","href":"/api-reference/agent-deployments/cancel-an-agent-run"},{"title":"List agent run logs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/runs/{run_id}/logs","href":"/api-reference/agent-deployments/list-agent-run-logs"},{"title":"Get agent run output metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/runs/{run_id}/outputs","href":"/api-reference/agent-deployments/get-agent-run-output-metadata"},{"title":"List agent service instances","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/services","href":"/api-reference/agent-deployments/list-agent-service-instances"},{"title":"Create an agent service instance","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/services","href":"/api-reference/agent-deployments/create-an-agent-service-instance"},{"title":"Get an agent service instance","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/services/{service_id}","href":"/api-reference/agent-deployments/get-an-agent-service-instance"},{"title":"Restart an agent service instance","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/services/{service_id}/restart","href":"/api-reference/agent-deployments/restart-an-agent-service-instance"},{"title":"Stop an agent service instance","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent-deployments/{deployment_id}/services/{service_id}/stop","href":"/api-reference/agent-deployments/stop-an-agent-service-instance"},{"title":"List agent service logs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/services/{service_id}/logs","href":"/api-reference/agent-deployments/list-agent-service-logs"},{"title":"Get agent service URL metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent-deployments/{deployment_id}/services/{service_id}/url","href":"/api-reference/agent-deployments/get-agent-service-url-metadata"}]},{"group":"Code","pages":[{"title":"Execute code in a Jupyter kernel","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/execute","href":"/api-reference/code/execute-code-in-a-jupyter-kernel"},{"title":"List async code runs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/runs","href":"/api-reference/code/list-async-code-runs"},{"title":"Create an async code execution run","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/runs","href":"/api-reference/code/create-an-async-code-execution-run"},{"title":"Get async code run","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/runs/{run_id}","href":"/api-reference/code/get-async-code-run"},{"title":"Cancel async code run","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/runs/{run_id}/cancel","href":"/api-reference/code/cancel-async-code-run"},{"title":"List kernel contexts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/contexts","href":"/api-reference/code/list-kernel-contexts"},{"title":"Create a new kernel context","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/contexts","href":"/api-reference/code/create-a-new-kernel-context"},{"title":"Remove a kernel context","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/code/contexts/{ctx_id}","href":"/api-reference/code/remove-a-kernel-context"},{"title":"Restart a kernel context","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/contexts/{ctx_id}/restart","href":"/api-reference/code/restart-a-kernel-context"},{"title":"Interrupt a running execution","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines/{id}/code/contexts/{ctx_id}/interrupt","href":"/api-reference/code/interrupt-a-running-execution"},{"title":"List execution artifacts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/artifacts","href":"/api-reference/code/list-execution-artifacts"},{"title":"Get artifact metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/artifacts/{artifact_id}","href":"/api-reference/code/get-artifact-metadata"},{"title":"Delete an artifact","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{id}/code/artifacts/{artifact_id}","href":"/api-reference/code/delete-an-artifact"},{"title":"Download artifact bytes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/artifacts/{artifact_id}/download","href":"/api-reference/code/download-artifact-bytes"},{"title":"Preview artifact content","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{id}/code/artifacts/{artifact_id}/preview","href":"/api-reference/code/preview-artifact-content"}]}]}]}]},"title":"Stream reconnectable template build logs - Nullspace","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}