To restore from a snapshot, call the standard create sandbox endpoint and include snapshot_id in the request body.
If the snapshot type is filesystem (default), the new sandbox restores the captured filesystem. You can override launch settings (including resources).
If the snapshot type is memory, the new sandbox restores filesystem, memory, and running processes exactly as they were. Image, resources (CPUs, memory), entrypoint, and secrets come from the snapshot and cannot be changed at restore time.
For filesystem snapshots, resources.disk_mb can be used at restore time to grow the root disk (growth-only).For the full request and response schema of POST /sandboxes, see Create Sandbox. For the end-to-end snapshot workflow, see Snapshots.
Whether proxy traffic may wake this sandbox while suspended. Set false to require explicit resume after suspension. False requires a name; unnamed sandboxes return 400 because they cannot suspend. This setting does not suspend a running sandbox.
Optional sandbox image name to boot from. When omitted, Tensorlake uses the default managed environment. This can also be a registered Sandbox Image name.
Sandbox timeout in seconds. 0 requests the maximum allowed by your plan.
Plan maximums: Free unverified 3600 (1h), Free verified 7200 (2h),
On-Demand 86400 (24h). See tensorlake.ai/pricing for higher limits on committed plans.
Allow sandbox ingress to route requests without validating auth credentials. The legacy request alias allow_unauthenticated_proxy_access is also accepted.
false returns 202 with the sandbox in pending as soon as it is durable, instead of waiting for it to run. Poll GET /sandboxes/{id} or GET /sandboxes for readiness.
Longest the sandbox may wait for capacity, in seconds. When it runs out while the sandbox is still waiting for a host, the sandbox is terminated with termination_reasonno_capacity and its last pending_reason. 0 fails at once if the sandbox cannot be placed. Omit to wait indefinitely. Bare-metal hosts take up to 20 minutes to boot, so use 1800 or more for capacity waits.
Filesystems to mount into the sandbox, each at its own absolute, unique, non-nested guest mount path. At most 8 per sandbox. Mounts are ready before the sandbox is reported as running; a filesystem that does not exist fails the create with 422 and reason FileSystemNotFound, and a pinned snapshot_id that is not a permanent snapshot fails it with reason FileSystemSnapshotNotFound.
Base ingress origin for this sandbox's current placement.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tensorlake","colors":{"primary":"#047857","light":"#047857","dark":"#0D1117"},"logo":{"light":"https://mintcdn.com/tensorlake-35e9e726/pfTs6FweN5gDe2IY/logo/TL-Light.svg?fit=max\u0026auto=format\u0026n=pfTs6FweN5gDe2IY\u0026q=85\u0026s=de3c3b6e814425b1be6902f8af88b719","dark":"https://mintcdn.com/tensorlake-35e9e726/pfTs6FweN5gDe2IY/logo/TL-Dark.svg?fit=max\u0026auto=format\u0026n=pfTs6FweN5gDe2IY\u0026q=85\u0026s=b08c049d9fabd32c205f6e8d9f621ba3"},"favicon":"https://mintcdn.com/tensorlake-35e9e726/fVE8-oNRlpqs-U2A/logo/favicon.png?fit=max\u0026auto=format\u0026n=fVE8-oNRlpqs-U2A\u0026q=85\u0026s=15a7031809c3f949e46d8b9c926c28f4","api":{"openapi":"api-reference/openapi.yaml","playground":{"display":"interactive"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.tensorlake.ai/"}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://tensorlake.ai/blog","label":"Blog"},{"href":"https://join.slack.com/t/tensorlakecloud/shared_invite/zt-32fq4nmib-gO0OM5RIar3zLOBm~ZGqKg","label":"Slack"},{"href":"https://github.com/tensorlakeai/tensorlake","label":"GitHub"}],"primary":{"type":"button","label":"Dashboard","href":"https://cloud.tensorlake.ai/login"}},"footer":{"socials":{"website":"https://www.tensorlake.ai/","x":"https://x.com/tensorlake","github":"https://github.com/tensorlakeai","linkedin":"https://linkedin.com/company/tensorlake","bluesky":"https://bsky.app/profile/tensorlake.bsky.social"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Tensorlake Documentation","og:title":"Tensorlake Documentation","og:description":"Build with Tensorlake: secure and stateful sandboxes for AI agents, durable orchestration for long-running workflows","og:url":"https://docs.tensorlake.ai","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@tensorlake","twitter:creator":"@tensorlake","twitter:title":"Tensorlake Documentation","twitter:description":"Sandboxes and orchestration for AI agents.","og:image":"https://docs.tensorlake.ai/images/og-preview.png","og:image:width":"2400","og:image:height":"1260","twitter:image":"https://docs.tensorlake.ai/images/og-preview.png","description":"Tensorlake Documentation— secure and stateful sandboxes for AI agents, durable workflow orchestration for long-running workflows, covers in Python and TypeScript SDKs plus CLI","keywords":"AI agents, sandboxes, stateful sandboxes, durable execution, agent orchestration, agentic workflows","author":"Tensorlake","robots":"index, follow, max-image-preview:large, max-snippet:-1","googlebot":"index, follow"},"indexing":"all"},"fonts":{"family":"Inter"},"integrations":{"ga4":{"measurementId":"G-EBFHHWKKQM"}},"contextual":{"options":["claude","chatgpt","cursor","grok","copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tensorlake-35e9e726","hasAudioNarration":false,"actualSubdomain":"tensorlake-35e9e726","customDomains":["docs.tensorlake.ai"],"gitSource":{"type":"github","owner":"tensorlakeai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae18ee053a72d97e552f548","collectionId":"e3faac69-b251-42b6-aef2-6cd2942b8d79","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae18ee053a72d97e552f548"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae18ee053a72d97e552f548","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Sandboxes","count":90},{"language":"default","tag":"API Reference","count":48},{"language":"default","tag":"Guides","count":41},{"language":"default","tag":"Overview","count":25},{"language":"default","tag":"Orchestrate","count":24},{"language":"default","tag":"Use Cases","count":23},{"language":"default","tag":"Process Management","count":15},{"language":"default","tag":"Life Cycle Management","count":13},{"language":"default","tag":"Platform Features","count":13},{"language":"default","tag":"Cloud Volumes","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":false},"customCss":[],"page":{"pagePath":"api-reference/v2/sandboxes/restore","slug":"/api-reference/v2/sandboxes/restore","pageMetadata":{"title":"Restore Sandbox","description":"Restore a sandbox from a previously created snapshot by calling the create endpoint with a `snapshot_id`.","openapi":"post /sandboxes","og:image":"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png","twitter:image":"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png","href":"/api-reference/v2/sandboxes/restore"},"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: [\"Restore a sandbox from a previously created snapshot by calling the create endpoint with a \", _jsx(_components.code, {\n children: \"snapshot_id\"\n }), \".\"]\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Restore a new sandbox from a previously created snapshot.`}),`\n`,_jsx(Heading,{level:`2`,id:`endpoint`,children:`Endpoint`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`POST`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` /sandboxes`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`To restore from a snapshot, call the standard create sandbox endpoint and include `,_jsx(_components.code,{children:`snapshot_id`}),` in the request body.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If the snapshot type is filesystem (default), the new sandbox restores the captured filesystem. You can override launch settings (including resources).`}),`\n`,_jsx(_components.li,{children:`If the snapshot type is memory, the new sandbox restores filesystem, memory, and running processes exactly as they were. Image, resources (CPUs, memory), entrypoint, and secrets come from the snapshot and cannot be changed at restore time.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`example-request`,children:`Example Request`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.tensorlake.ai/sandboxes`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TENSORLAKE_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"snapshot_id\": \"\u003csnapshot-id>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For filesystem snapshots, `,_jsx(_components.code,{children:`resources.disk_mb`}),` can be used at restore time to grow the root disk (growth-only).`]}),`\n`,_jsxs(_components.p,{children:[`For the full request and response schema of `,_jsx(_components.code,{children:`POST /sandboxes`}),`, see `,_jsx(_components.a,{href:`/api-reference/v2/sandboxes/create`,children:`Create Sandbox`}),`. For the end-to-end snapshot workflow, see `,_jsx(_components.a,{href:`/sandboxes/snapshots`,children:`Snapshots`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Restore Sandbox","description":"Restore a sandbox from a previously created snapshot by calling the create endpoint with a `snapshot_id`.","openapi":"post /sandboxes","og:image":"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png","twitter:image":"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png","href":"/api-reference/v2/sandboxes/restore"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Endpoint","slug":"endpoint","depth":2,"children":[]},{"title":"Example Request","slug":"example-request","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/tensorlake-35e9e726/1373ae293ad67675/plausible.js"],"openApiReferenceData":{"operation":{"tags":["sandboxes"],"summary":"Create a sandbox","description":"Restore a sandbox from a previously created snapshot by calling the create endpoint with a `snapshot_id`.","operationId":"create_sandbox","requestBody":"8616fffc-30f9-4a8c-bd4d-75c692b6c619","responses":{"200":"2126457f-7e1c-46b8-98cc-1f56dd2ca07c","202":"da57263d-e98d-456c-ba1a-d89e15433a6a","400":"5b38815a-2d58-4f9e-b692-8bac30343f48","401":"9821e0ec-dad9-4225-b21f-c5728fc139d4","403":"ae149236-89ba-494f-9533-939b6f52e756","404":"bbf8da7f-5b63-4632-bfb7-66f6d8a5b0d1","409":"c3d19209-c21c-4f8d-8255-12ffa3215914","422":"db17005c-f0bf-42eb-8158-1a30c4b5ed5c","500":"d8e625bf-4b12-4ec8-a904-fed750b8cc0b"},"method":"post","type":"path","servers":["43f755d5-9686-4bd5-8a68-5f5fbc61b398"],"security":["78658037-3db0-4fc5-b34d-44ec08e461f1"],"path":"/sandboxes","baseUrlOptions":["https://api.tensorlake.ai/"],"title":"Create a sandbox","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"auto_resume":{"type":"boolean","default":true,"description":"Whether proxy traffic may wake this sandbox while suspended. Set false to require explicit resume after suspension. False requires a name; unnamed sandboxes return 400 because they cannot suspend. This setting does not suspend a running sandbox.","uniqueKey":"auto_resume","typeLabel":"boolean"},"image":{"type":"string","description":"Optional sandbox image name to boot from. When omitted, Tensorlake uses the default managed environment. This can also be a registered Sandbox Image name.","uniqueKey":"image","typeLabel":"string"},"resources":{"type":"object","properties":{"cpus":{"type":"number","format":"double","description":"CPU allocation override in cores.","uniqueKey":"resources.cpus","typeLabel":"number\u003cdouble>"},"memory_mb":{"type":"integer","format":"int64","description":"Memory allocation override in MiB.","uniqueKey":"resources.memory_mb","typeLabel":"integer\u003cint64>"},"disk_mb":{"type":"integer","format":"int64","minimum":10240,"maximum":102400,"description":"Ephemeral root filesystem size in MiB. Defaults to 10240 (10 GiB).\nMust be between 10240 and 102400 inclusive. For filesystem snapshots,\nthis can be used with snapshot_id to grow root disk size (growth-only).\n","uniqueKey":"resources.disk_mb","typeLabel":"integer\u003cint64>"},"gpus":{"type":"array","items":{"type":"object","required":["count","model"],"properties":{"count":{"type":"integer","format":"int32","minimum":1,"isRequired":true,"uniqueKey":"resources.gpus.items.[INDEX].count","typeLabel":"integer\u003cint32>"},"model":{"type":"string","isRequired":true,"uniqueKey":"resources.gpus.items.[INDEX].model","typeLabel":"string"}},"uniqueKey":"resources.gpus.items.[INDEX]","typeLabel":"object"},"description":"Optional GPU allocation override.","uniqueKey":"resources.gpus","typeLabel":"object[]"}},"uniqueKey":"resources","typeLabel":"object"},"secret_names":{"type":"array","description":"Secret names to inject into the sandbox.","items":{"type":"string","uniqueKey":"secret_names.items.[INDEX]","typeLabel":"string"},"uniqueKey":"secret_names","typeLabel":"string[]"},"timeout_secs":{"type":"integer","format":"int64","minimum":0,"description":"Sandbox timeout in seconds. `0` requests the maximum allowed by your plan.\nPlan maximums: Free unverified 3600 (1h), Free verified 7200 (2h),\nOn-Demand 86400 (24h). See [tensorlake.ai/pricing](https://www.tensorlake.ai/pricing) for higher limits on committed plans.\n","uniqueKey":"timeout_secs","typeLabel":"integer\u003cint64>"},"entrypoint":{"type":"array","description":"Optional command to run when the sandbox starts.","items":{"type":"string","uniqueKey":"entrypoint.items.[INDEX]","typeLabel":"string"},"uniqueKey":"entrypoint","typeLabel":"string[]"},"network":{"type":"object","properties":{"allow_internet_access":{"type":"boolean","default":true,"description":"Allows internet access, including DNS requests. If false, all outbound traffic except destinations in allow_out is blocked, including DNS requests. If allow_out is non-empty and this is true, only the listed destinations and DNS requests are allowed.","uniqueKey":"network.allow_internet_access","typeLabel":"boolean"},"allow_out":{"type":"array","description":"Allowed domains, IPv4 addresses, or IPv4 CIDRs. A non-empty list allows the listed destinations and DNS requests when allow_internet_access is true. Hostname rules are followed across DNS changes. A destination also matched by deny_out is blocked.","items":{"type":"string","uniqueKey":"network.allow_out.items.[INDEX]","typeLabel":"string"},"uniqueKey":"network.allow_out","typeLabel":"string[]"},"deny_out":{"type":"array","description":"Denied domains, IPv4 addresses, or IPv4 CIDRs. Takes precedence over allow_out; a destination matched by both is blocked.","items":{"type":"string","uniqueKey":"network.deny_out.items.[INDEX]","typeLabel":"string"},"uniqueKey":"network.deny_out","typeLabel":"string[]"}},"uniqueKey":"network","typeLabel":"object"},"snapshot_id":{"type":"string","description":"Snapshot to restore from.","uniqueKey":"snapshot_id","typeLabel":"string"},"allow_unauthenticated_access":{"type":"boolean","description":"Allow sandbox ingress to route requests without validating auth credentials. The legacy request alias `allow_unauthenticated_proxy_access` is also accepted.","uniqueKey":"allow_unauthenticated_access","typeLabel":"boolean"},"exposed_ports":{"type":"array","description":"Additional sandbox ports that public ingress may route to. When omitted, only the management port `9501` is routable.","items":{"type":"integer","format":"int32","minimum":1,"maximum":65535,"uniqueKey":"exposed_ports.items.[INDEX]","typeLabel":"integer\u003cint32>"},"uniqueKey":"exposed_ports","typeLabel":"integer\u003cint32>[]"},"template_id":{"type":"string","description":"Template identifier to associate with the launched sandbox.","uniqueKey":"template_id","typeLabel":"string"},"name":{"type":"string","description":"Optional user-provided sandbox name. When set, the sandbox is named and supports suspend/resume. When omitted, the sandbox is ephemeral.","uniqueKey":"name","typeLabel":"string"},"wait":{"type":"boolean","default":true,"description":"`false` returns `202` with the sandbox in `pending` as soon as it is durable, instead of waiting for it to run. Poll `GET /sandboxes/{id}` or `GET /sandboxes` for readiness.","uniqueKey":"wait","typeLabel":"boolean"},"max_pending_secs":{"type":"integer","minimum":0,"description":"Longest the sandbox may wait for capacity, in seconds. When it runs out while the sandbox is still waiting for a host, the sandbox is terminated with `termination_reason` `no_capacity` and its last `pending_reason`. `0` fails at once if the sandbox cannot be placed. Omit to wait indefinitely. Bare-metal hosts take up to 20 minutes to boot, so use 1800 or more for capacity waits.","uniqueKey":"max_pending_secs","typeLabel":"integer"},"file_systems":{"type":"array","description":"Filesystems to mount into the sandbox, each at its own absolute, unique, non-nested guest mount path. At most 8 per sandbox. Mounts are ready before the sandbox is reported as running; a filesystem that does not exist fails the create with `422` and reason `FileSystemNotFound`, and a pinned `snapshot_id` that is not a permanent snapshot fails it with reason `FileSystemSnapshotNotFound`.","items":{"type":"object","required":["file_system_id","mount_path"],"properties":{"file_system_id":{"type":"string","description":"Filesystem name within the project — the name created with `tl fs create \u003cname>`. ASCII letters, digits, `_`, and `-` only.","isRequired":true,"uniqueKey":"file_systems.items.[INDEX].file_system_id","typeLabel":"string"},"mount_path":{"type":"string","description":"Absolute guest mount path (e.g. `/mnt/skills`). Must not be `/` or contain `..`; paths are normalized, and mount paths must be unique and non-nested within the sandbox.","isRequired":true,"uniqueKey":"file_systems.items.[INDEX].mount_path","typeLabel":"string"},"read_only":{"type":"boolean","default":false,"description":"Mount the filesystem read-only. Writes inside the guest fail with `EROFS`; the mount's storage credential carries no write scope. Fail-closed — sandboxes requesting read-only mounts are only placed on fleets that can enforce them.","uniqueKey":"file_systems.items.[INDEX].read_only","typeLabel":"boolean"},"prefetch":{"type":"boolean","default":false,"description":"Download the filesystem's full tree in the background after the mount is ready. The mount is usable immediately with lazy reads meanwhile. Best-effort — never blocks or fails the sandbox, and older fleets skip it silently.","uniqueKey":"file_systems.items.[INDEX].prefetch","typeLabel":"boolean"},"snapshot_id":{"type":"string","description":"Pin the mount to a permanent snapshot of the filesystem (created with `tl fs snapshot` or a message-bearing `tl fs push`; ids listed by `tl fs history`). A pinned mount serves exactly that snapshot and never follows the live filesystem head. Requires `read_only` to be `true` — a `snapshot_id` without `read_only` is rejected with `400`. Pinning an id that is not a permanent snapshot of the filesystem fails the sandbox with `termination_reason` `FileSystemSnapshotNotFound`. Omit for an unpinned mount that follows the live filesystem; responses omit the field for unpinned mounts.","uniqueKey":"file_systems.items.[INDEX].snapshot_id","typeLabel":"string"}},"uniqueKey":"file_systems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"file_systems","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"auto_resume":true,"image":"\u003cstring>","resources":{"cpus":123,"memory_mb":123,"disk_mb":56320,"gpus":[{"count":2,"model":"\u003cstring>"}]},"secret_names":["\u003cstring>"],"timeout_secs":1,"entrypoint":["\u003cstring>"],"network":{"allow_internet_access":true,"allow_out":["\u003cstring>"],"deny_out":["\u003cstring>"]},"snapshot_id":"\u003cstring>","allow_unauthenticated_access":true,"exposed_ports":[32768],"template_id":"\u003cstring>","name":"\u003cstring>","wait":true,"max_pending_secs":1,"file_systems":[{"file_system_id":"\u003cstring>","mount_path":"\u003cstring>","read_only":false,"prefetch":false,"snapshot_id":"\u003cstring>"}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"2126457f-7e1c-46b8-98cc-1f56dd2ca07c":{"description":"Sandbox created successfully","content":{"application/json":{"schema":{"type":"object","required":["sandbox_id","status"],"properties":{"sandbox_id":{"type":"string","isRequired":true,"uniqueKey":"sandbox_id","typeLabel":"string"},"status":{"type":"string","enum":["pending","running","snapshotting","suspending","suspended","terminated"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"pending_reason":{"type":"string","enum":["scheduling","waiting_for_container","no_executors_available","no_resources_available","pool_at_capacity","max_capacity_reached","no_executor_for_snapshot_location"],"uniqueKey":"pending_reason","typeLabel":"enum\u003cstring>"},"ingress_endpoint":{"oneOf":[{"type":"string","description":"Base ingress origin for this sandbox's current placement.","uniqueKey":"ingress_endpoint.oneOf.0","typeLabel":"string"},{"type":"null","description":"Base ingress origin for this sandbox's current placement.","uniqueKey":"ingress_endpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"ingress_endpoint","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sandbox_id":"\u003cstring>","status":"pending","pending_reason":"scheduling","ingress_endpoint":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"da57263d-e98d-456c-ba1a-d89e15433a6a":{"description":"Sandbox accepted (`wait` was `false`); it is pending and will start when capacity is available","content":{"application/json":{"schema":{"type":"object","required":["sandbox_id","state"],"properties":{"sandbox_id":{"type":"string","isRequired":true,"uniqueKey":"sandbox_id","typeLabel":"string"},"state":{"type":"string","enum":["pending"],"isRequired":true,"uniqueKey":"state","typeLabel":"enum\u003cstring>"},"name":{"oneOf":[{"type":"string","uniqueKey":"name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"name.oneOf.1","typeLabel":"null"}],"uniqueKey":"name","typeLabel":"string | null"},"pending_reason":{"type":"string","enum":["scheduling","waiting_for_container","no_executors_available","no_resources_available","pool_at_capacity","max_capacity_reached","no_executor_for_snapshot_location"],"uniqueKey":"pending_reason","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sandbox_id":"\u003cstring>","state":"pending","name":"\u003cstring>","pending_reason":"scheduling"}}},"exampleType":"generated"}},"exampleType":"generated"},"5b38815a-2d58-4f9e-b692-8bac30343f48":{"description":"Invalid sandbox creation request, including auto_resume set to false without a name","content":{"text/plain":{}},"exampleType":"generated"},"9821e0ec-dad9-4225-b21f-c5728fc139d4":{"description":"Unauthorized. Invalid or missing credentials","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"ae149236-89ba-494f-9533-939b6f52e756":{"description":"Forbidden. You do not have permission to access this resource","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"bbf8da7f-5b63-4632-bfb7-66f6d8a5b0d1":{"description":"Referenced snapshot was not found","content":{"text/plain":{}},"exampleType":"generated"},"c3d19209-c21c-4f8d-8255-12ffa3215914":{"description":"A sandbox with the requested name already exists in this namespace","content":{"text/plain":{}},"exampleType":"generated"},"db17005c-f0bf-42eb-8158-1a30c4b5ed5c":{"description":"Invalid properties in request body","content":{"text/plain":{}},"exampleType":"generated"},"d8e625bf-4b12-4ec8-a904-fed750b8cc0b":{"description":"Internal server error","content":{"text/plain":{}},"exampleType":"generated"}},"security":{"78658037-3db0-4fc5-b34d-44ec08e461f1":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"43f755d5-9686-4bd5-8a68-5f5fbc61b398":{"url":"https://api.tensorlake.ai/"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"tensorlake-35e9e726","siteName":"Tensorlake","title":"Tensorlake Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-28T22:25:02.684Z","originalFileLocation":"api-reference/v2/sandboxes/restore.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=\"Restore a sandbox from a previously created snapshot by calling the create endpoint with a snapshot_id.\">\u003cmeta data-mint-head name=\"keywords\" content=\"AI agents, sandboxes, stateful sandboxes, durable execution, agent orchestration, agentic workflows\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tensorlake\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow, max-image-preview:large, max-snippet:-1\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Tensorlake Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Build with Tensorlake: secure and stateful sandboxes for AI agents, durable orchestration for long-running workflows\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tensorlake Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png\">\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=\"Tensorlake Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sandboxes and orchestration for AI agents.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png\">\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/tensorlake-35e9e726/jzD554Nmq8Zqors6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tensorlake\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#047857\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@tensorlake\">\u003cmeta data-mint-head name=\"author\" content=\"Tensorlake\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/v2/sandboxes/restore.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tensorlake.ai/#organization\",\"name\":\"Tensorlake\",\"url\":\"https://docs.tensorlake.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tensorlake-35e9e726/pfTs6FweN5gDe2IY/logo/TL-Light.svg?fit=max\u0026auto=format\u0026n=pfTs6FweN5gDe2IY\u0026q=85\u0026s=de3c3b6e814425b1be6902f8af88b719\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tensorlake.ai#website\",\"name\":\"Tensorlake\",\"url\":\"https://docs.tensorlake.ai\",\"publisher\":{\"@id\":\"https://docs.tensorlake.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore#webpage\",\"url\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore\",\"name\":\"Restore Sandbox\",\"description\":\"Restore a sandbox from a previously created snapshot by calling the create endpoint with a snapshot_id.\",\"dateModified\":\"2026-04-28T22:25:02.684Z\",\"isPartOf\":{\"@id\":\"https://docs.tensorlake.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sandboxes\",\"item\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Life Cycle Management\",\"item\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/create\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Restore Sandbox\",\"item\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore#apireference\",\"headline\":\"Restore Sandbox\",\"name\":\"Restore Sandbox\",\"description\":\"Restore a sandbox from a previously created snapshot by calling the create endpoint with a snapshot_id.\",\"url\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tensorlake.ai/api-reference/v2/sandboxes/restore#webpage\"},\"image\":\"https://docs.tensorlake.ai/images/og/api-reference-v2-sandboxes-restore.png\",\"dateModified\":\"2026-04-28T22:25:02.684Z\",\"publisher\":{\"@id\":\"https://docs.tensorlake.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tensorlake.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tensorlake\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tensorlake","nav":{"global":null,"tabs":[{"tab":"Sandboxes","pages":[{"title":"Sandboxes","href":"/sandboxes/introduction"}]},{"tab":"GitHub Actions","pages":[{"title":"GitHub Actions","href":"/github-actions/quickstart"}]},{"tab":"Cloud Volumes","pages":[{"title":"Cloud Volumes","href":"/filesystems/introduction"}]},{"tab":"Git Repositories","pages":[{"title":"Git Repositories","href":"/git/introduction"}]},{"tab":"Orchestrate","pages":[{"title":"Orchestrate","href":"/applications/introduction"}]},{"tab":"Platform Features","pages":[{"title":"Platform Features","href":"/platform/authentication"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/v2/introduction"}]},{"group":"Sandboxes","pages":[{"group":"Life Cycle Management","pages":[{"title":"Create Sandbox","openapi":"post /sandboxes","href":"/api-reference/v2/sandboxes/create"},{"title":"List sandboxes","sidebarTitle":"List Sandboxes","openapi":"get /sandboxes","href":"/api-reference/v2/sandboxes/list"},{"title":"Get Sandbox","openapi":"get /sandboxes/{sandbox_id}","href":"/api-reference/v2/sandboxes/get"},{"title":"Update Sandbox","openapi":"patch /sandboxes/{sandbox_id}","href":"/api-reference/v2/sandboxes/update"},{"title":"Delete Sandbox","openapi":"delete /sandboxes/{sandbox_id}","href":"/api-reference/v2/sandboxes/delete"},{"title":"Snapshot Sandbox","openapi":"post /sandboxes/{sandbox_id}/snapshot","href":"/api-reference/v2/sandboxes/snapshot"},{"title":"Copy Sandbox","description":"Copy a sandbox with its state and automatic resume setting.","openapi":"post /sandboxes/{sandbox_id}/copy","href":"/api-reference/v2/sandboxes/copy"},{"title":"Restore Sandbox","openapi":"post /sandboxes","href":"/api-reference/v2/sandboxes/restore"},{"title":"Suspend Sandbox","description":"Suspend a named sandbox and control whether proxy traffic can wake it.","openapi":"post /sandboxes/{sandbox_id}/suspend","href":"/api-reference/v2/sandboxes/suspend"},{"title":"Resume Sandbox","openapi":"post /sandboxes/{sandbox_id}/resume","href":"/api-reference/v2/sandboxes/resume"},{"title":"Restart Sandbox","openapi":"post /sandboxes/{sandbox_id}/restart","href":"/api-reference/v2/sandboxes/restart"},{"title":"Attach Filesystem","openapi":"post /sandboxes/{sandbox_id}/file_systems","href":"/api-reference/v2/sandboxes/attach-filesystem"},{"title":"Detach Filesystem","openapi":"delete /sandboxes/{sandbox_id}/file_systems","href":"/api-reference/v2/sandboxes/detach-filesystem"}]},{"group":"Process Management","pages":[{"title":"Sandbox Processes API Overview","sidebarTitle":"Overview","href":"/api-reference/v2/processes/introduction"},{"title":"Start Process","openapi":"post /api/v1/processes","href":"/api-reference/v2/processes/start"},{"title":"Run Process","openapi":"post /api/v1/processes/run","href":"/api-reference/v2/processes/run"},{"title":"List Processes","openapi":"get /api/v1/processes","href":"/api-reference/v2/processes/list"},{"title":"Get Process","openapi":"get /api/v1/processes/{pid}","href":"/api-reference/v2/processes/get"},{"title":"Kill Process","openapi":"delete /api/v1/processes/{pid}","href":"/api-reference/v2/processes/kill"},{"title":"Send Signal","openapi":"post /api/v1/processes/{pid}/signal","href":"/api-reference/v2/processes/signal"},{"title":"Process Stdin","openapi":"post /api/v1/processes/{pid}/stdin","href":"/api-reference/v2/processes/stdin"},{"title":"Close Process Stdin","openapi":"post /api/v1/processes/{pid}/stdin/close","href":"/api-reference/v2/processes/close-stdin"},{"title":"Get Process Stdout","openapi":"get /api/v1/processes/{pid}/stdout","href":"/api-reference/v2/processes/stdout"},{"title":"Get Process Stderr","openapi":"get /api/v1/processes/{pid}/stderr","href":"/api-reference/v2/processes/stderr"},{"title":"Get Process Output","openapi":"get /api/v1/processes/{pid}/output","href":"/api-reference/v2/processes/output"},{"title":"Follow Process Stdout","openapi":"get /api/v1/processes/{pid}/stdout/follow","href":"/api-reference/v2/processes/follow-stdout"},{"title":"Follow Process Stderr","openapi":"get /api/v1/processes/{pid}/stderr/follow","href":"/api-reference/v2/processes/follow-stderr"},{"title":"Follow Process Output","openapi":"get /api/v1/processes/{pid}/output/follow","href":"/api-reference/v2/processes/follow-output"}]},{"group":"Runtime Metadata","pages":[{"title":"Runtime Health","openapi":"get /api/v1/health","href":"/api-reference/v2/runtime/health"},{"title":"Runtime Info","openapi":"get /api/v1/info","href":"/api-reference/v2/runtime/info"},{"title":"Get resource usage","sidebarTitle":"Get Resource Usage","openapi":"get /api/v1/resource-usage","href":"/api-reference/v2/runtime/resource-usage"}]},{"group":"File Management","pages":[{"title":"Sandbox Files API Overview","sidebarTitle":"Overview","href":"/api-reference/v2/sandbox-files/introduction"},{"title":"Read File","openapi":"get /api/v1/files","href":"/api-reference/v2/sandbox-files/read"},{"title":"Write File","openapi":"put /api/v1/files","href":"/api-reference/v2/sandbox-files/write"},{"title":"Delete File","openapi":"delete /api/v1/files","href":"/api-reference/v2/sandbox-files/delete"},{"title":"List Directory","openapi":"get /api/v1/files/list","href":"/api-reference/v2/sandbox-files/list"}]},{"group":"PTY Sessions","pages":[{"title":"Sandbox PTY API Overview","sidebarTitle":"Overview","href":"/api-reference/v2/pty/introduction"},{"title":"Create PTY Session","openapi":"post /api/v1/pty","href":"/api-reference/v2/pty/create"},{"title":"List PTY Sessions","openapi":"get /api/v1/pty","href":"/api-reference/v2/pty/list"},{"title":"Get PTY Session","openapi":"get /api/v1/pty/{session_id}","href":"/api-reference/v2/pty/get"},{"title":"Resize PTY Session","openapi":"post /api/v1/pty/{session_id}/resize","href":"/api-reference/v2/pty/resize"},{"title":"Attach PTY WebSocket","openapi":"get /api/v1/pty/{session_id}/ws","href":"/api-reference/v2/pty/websocket"},{"title":"Kill PTY Session","openapi":"delete /api/v1/pty/{session_id}","href":"/api-reference/v2/pty/kill"}]},{"group":"TCP Tunnels","pages":[{"title":"TCP Tunnel WebSocket","openapi":"get /api/v1/tunnels/tcp","href":"/api-reference/v2/tunnels/tcp"}]},{"group":"SSH Lifecycle","pages":[{"title":"SSH Status","openapi":"get /api/v1/ssh/status","href":"/api-reference/v2/ssh/status"},{"title":"Enable SSH","openapi":"post /api/v1/ssh/enable","href":"/api-reference/v2/ssh/enable"},{"title":"Disable SSH","openapi":"post /api/v1/ssh/disable","href":"/api-reference/v2/ssh/disable"}]}]}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/faqs/sandboxes-faq"}]}]},"title":"Tensorlake Documentation","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"]}