Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox’s lifetime (extend-only, never shortens). Returns 409 if the instance is not running.
The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value.
The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox’s current end_at, this endpoint repairs it.
Same shape as the creation response: identity and data-plane entry point only — no template alias, no backing node identifiers, no agent version. Those are backend concepts the caller can neither act on nor interpret.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GMI Cloud Documentation","description":"Inference Endpoints, GPU Compute, AI Workflows, and Agent Deployment","colors":{"primary":"#6e7a0e","light":"#DDEA4E","dark":"#DDEA4E"},"logo":{"light":"https://mintcdn.com/gmicloud/NMovxHyNviV7LUYd/logo/gmi-cloud-logo.svg?fit=max\u0026auto=format\u0026n=NMovxHyNviV7LUYd\u0026q=85\u0026s=17a2b497b7719739248dfca2ae9d6c4a","dark":"https://mintcdn.com/gmicloud/NMovxHyNviV7LUYd/logo/gmi-logo-white.svg?fit=max\u0026auto=format\u0026n=NMovxHyNviV7LUYd\u0026q=85\u0026s=aa77416cbe67a81b8e7029a8425d31e9"},"favicon":{"light":"https://mintcdn.com/gmicloud/np5vsfVwdGGHAKEu/favicon.ico?fit=max\u0026auto=format\u0026n=np5vsfVwdGGHAKEu\u0026q=85\u0026s=ceee7fb6e73ccace00b3b7cf8b040dc3","dark":"https://mintcdn.com/gmicloud/np5vsfVwdGGHAKEu/favicon.ico?fit=max\u0026auto=format\u0026n=np5vsfVwdGGHAKEu\u0026q=85\u0026s=ceee7fb6e73ccace00b3b7cf8b040dc3"},"navbar":{"links":[{"href":"https://discord.gg/TkBT7r2D97","label":"Discord"},{"href":"https://github.com/GMISWE","label":"GitHub"},{"href":"https://www.gmicloud.ai/contact#sales","label":"Support"}],"primary":{"type":"button","label":"Open Console","href":"https://console.gmicloud.ai/"}},"footer":{"socials":{"discord":"https://discord.gg/TkBT7r2D97","x":"https://x.com/gmi_cloud","github":"https://github.com/GMISWE","linkedin":"https://www.linkedin.com/company/gmi-cloud-ai","youtube":"https://www.youtube.com/@GMICloud"}},"fonts":{"family":"https://fonts.googleapis.com/css2?family=DM+Sans"},"integrations":{"gtm":{"tagId":"GTM-P5WZVMXP"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gmicloud","hasAudioNarration":false,"actualSubdomain":"gmicloud","customDomains":["docs.gmicloud.ai"],"gitSource":{"type":"gitlab","owner":"product-center","repo":"mintlify-doc-site","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":73773841,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae39866b150d6fc53036f23","collectionId":"cffa4653-0bca-48cc-bb56-a5cc0f6d43d3","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae39866b150d6fc53036f23"},"entitlements":{},"buildId":"6ae39a80805d62ff212cfdd9","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Guides","count":236},{"language":"default","tag":"Model Quickstarts","count":222},{"language":"default","tag":"Video","count":94},{"language":"default","tag":"API Reference","count":77},{"language":"default","tag":"Text","count":75},{"language":"default","tag":"GMI Agentbox","count":50},{"language":"default","tag":"GMI Studio","count":46},{"language":"default","tag":"Compute Service APIs","count":41},{"language":"default","tag":"Node Reference","count":38},{"language":"default","tag":"Image","count":34}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"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":[{"filePath":"style.css","content":"a:has(>span.bg-primary-dark) .text-white,a:has(>span.bg-primary-dark) svg{color:#000!important}"}],"page":{"pagePath":"agentbox-api/sandbox/connect-to-a-sandbox","slug":"/agentbox-api/sandbox/connect-to-a-sandbox","pageMetadata":{"title":"Connect to a sandbox","description":"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When `timeout` is provided and greater than 0, the call also extends the sandbox's lifetime (extend-only, never shortens). Returns 409 if the instance is not running.\n\nThe response always returns the authoritative expiry time `end_at` as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value.\n\n**The `sandbox_access_token` stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox's current `end_at`, this endpoint repairs it.**\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/connect","href":"/agentbox-api/sandbox/connect-to-a-sandbox","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When \", _jsx(_components.code, {\n children: \"timeout\"\n }), \" is provided and greater than 0, the call also extends the sandbox’s lifetime (extend-only, never shortens). Returns 409 if the instance is not running.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The response always returns the authoritative expiry time \", _jsx(_components.code, {\n children: \"end_at\"\n }), \" as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsxs(_components.strong, {\n children: [\"The \", _jsx(_components.code, {\n children: \"sandbox_access_token\"\n }), \" stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox’s current \", _jsx(_components.code, {\n children: \"end_at\"\n }), \", this endpoint repairs it.\"]\n })\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Connect to a sandbox","description":"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When `timeout` is provided and greater than 0, the call also extends the sandbox's lifetime (extend-only, never shortens). Returns 409 if the instance is not running.\n\nThe response always returns the authoritative expiry time `end_at` as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value.\n\n**The `sandbox_access_token` stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox's current `end_at`, this endpoint repairs it.**\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/connect","href":"/agentbox-api/sandbox/connect-to-a-sandbox","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/gmicloud/fa3784330bb16240/syft.js"],"openApiReferenceData":{"operation":{"tags":["Sandbox"],"summary":"Connect to a sandbox","description":"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When `timeout` is provided and greater than 0, the call also extends the sandbox's lifetime (extend-only, never shortens). Returns 409 if the instance is not running.\n\nThe response always returns the authoritative expiry time `end_at` as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value.\n\n**The `sandbox_access_token` stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox's current `end_at`, this endpoint repairs it.**\n","operationId":"connectSandbox","parameters":["1eac1330-2da5-45d7-beb6-d80baba7ac74"],"requestBody":"c37806c2-0e86-4386-963b-bc3a4d26e609","responses":{"200":"47c73ccf-27c8-4b0b-bb69-e3f98cb2f36c","400":"93b2fb19-f778-4a03-870d-aff446d9fcc7","401":"18815760-ba90-43d5-a2a1-9c6347534128","403":"f0f7fd00-6870-48a6-9003-9f4fccc749af","404":"c1a33085-f293-42f4-8d1c-6f2474c9c8f9","409":"4de5a039-d395-4ae2-981f-92fa76023249","500":"07aa1733-dc9b-4247-99af-ed0fcf1a4784"},"method":"post","type":"path","servers":["72c48b8c-9e84-407e-94b9-ce05318da4ca"],"security":["a1245993-e05e-44d3-8867-bef586be20df"],"path":"/sandboxes/{id}/connect","baseUrlOptions":["https://console.gmicloud.ai/api/v2"],"title":"Connect to a sandbox","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1eac1330-2da5-45d7-beb6-d80baba7ac74":{"name":"id","in":"path","required":true,"description":"Unique sandbox resource ID (UUID; the `id` field of the create response). The data-plane key (`sandbox_key`) cannot be used here.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Unique sandbox resource ID (UUID; the `id` field of the create response). The data-plane key (`sandbox_key`) cannot be used here.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"3f6f0d3e-6f0a-4a2e-9c58-0d3e6f0a4a2e"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"timeout":{"type":"integer","format":"int64","description":"When greater than 0, extends the lifetime of a running sandbox (extend-only, never shortens).","uniqueKey":"timeout","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"timeout":123}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"47c73ccf-27c8-4b0b-bb69-e3f98cb2f36c":{"description":"Connected","content":{"application/json":{"schema":{"type":"object","required":["request_id","data"],"properties":{"request_id":{"type":"string","description":"Request tracing ID","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"data":{"type":"object","description":"Same shape as the creation response: identity and data-plane entry point only — no template alias, no backing node identifiers, no agent version. Those are backend concepts the caller can neither act on nor interpret.\n","required":["id","sandbox_key","template_id","domain","sandbox_access_token","traffic_access_token","end_at"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique sandbox resource ID (UUID), used both in control-plane path parameters and as the billing resource_id.","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"sandbox_key":{"type":"string","description":"Data-plane addressing key (an `i` followed by a 20-character random string). Used solely to assemble data-plane URLs: `https://{sandbox_key}.{domain}` and `https://{port}-{sandbox_key}.{domain}`. Control-plane endpoints always use `id` and do not accept this field.\n","isRequired":true,"uniqueKey":"data.sandbox_key","typeLabel":"string"},"template_id":{"type":"string","isRequired":true,"uniqueKey":"data.template_id","typeLabel":"string"},"domain":{"type":"string","description":"Sandbox data-plane domain — the host suffix for data-plane endpoints such as `/files` (`https://{sandbox_key}.{domain}`).\n\nRe-read this field and `sandbox_access_token` on every connect; do not reuse values cached from a previous create/connect.\n","isRequired":true,"uniqueKey":"data.domain","typeLabel":"string"},"sandbox_access_token":{"type":"string","description":"Sandbox data-plane access token (always issued). Sent as the `X-Access-Token` header on `/files`, Sandbox-Exec, and other data-plane endpoints; the control plane (`/api/v2`) does not use it.\n\nThe `sandbox_access_token` stays valid for the entire lifetime of the sandbox. Connect may return a new token when it extends the lifetime or repairs drift; always overwrite the local cache with this response instead of assuming it equals the previous create/connect value.\n","isRequired":true,"uniqueKey":"data.sandbox_access_token","typeLabel":"string"},"traffic_access_token":{"type":"string","description":"Traffic token for non-control ports (issued only when secure=true; sent as the traffic-access-token header). Empty when secure=false.\n","isRequired":true,"uniqueKey":"data.traffic_access_token","typeLabel":"string"},"end_at":{"type":"string","format":"date-time","description":"The authoritative expiry time (UTC) as settled by this connect call. Returned whether or not `timeout` was passed: an extension takes effect only when the requested expiry is later than the current one (extend-only), and when it does not take effect this is simply the unchanged current value — callers cannot derive the effective value from their own request parameters.\n","isRequired":true,"uniqueKey":"data.end_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"\u003cstring>","data":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","sandbox_key":"\u003cstring>","template_id":"\u003cstring>","domain":"\u003cstring>","sandbox_access_token":"\u003cstring>","traffic_access_token":"\u003cstring>","end_at":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"93b2fb19-f778-4a03-870d-aff446d9fcc7":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Parameter.Invalid","message":"Invalid request parameters","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Parameter.Invalid","message":"Invalid request parameters","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"18815760-ba90-43d5-a2a1-9c6347534128":{"description":"Unauthenticated","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Auth.Unauthorized","message":"Authentication required","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Auth.Unauthorized","message":"Authentication required","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"f0f7fd00-6870-48a6-9003-9f4fccc749af":{"description":"The caller cannot access the organization-scoped resource.","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"Resource.QuotaExceeded","message":"The resource quota is not enough.","request_id":"req-xxxx","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"c1a33085-f293-42f4-8d1c-6f2474c9c8f9":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Resource.NotFound","message":"The requested resource was not found","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Resource.NotFound","message":"The requested resource was not found","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"4de5a039-d395-4ae2-981f-92fa76023249":{"description":"State conflict","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Resource.StateConflict","message":"Resource state conflict","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Resource.StateConflict","message":"Resource state conflict","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"07aa1733-dc9b-4247-99af-ed0fcf1a4784":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable business error code","example":"Resource.QuotaExceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description","example":"The resource quota is not enough.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Tracing ID","example":"req-xxxx","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Internal.ServerError","message":"An internal server error occurred","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Internal.ServerError","message":"An internal server error occurred","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"a1245993-e05e-44d3-8867-bef586be20df":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API Key or Access Token, always sent as `Authorization: Bearer \u003ctoken>`. The gateway recognizes the token type automatically.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"72c48b8c-9e84-407e-94b9-ce05318da4ca":{"url":"https://console.gmicloud.ai/api/v2","description":"Control plane"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API Key or Access Token, always sent as `Authorization: Bearer \u003ctoken>`. The gateway recognizes the token type automatically.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API Key or Access Token, always sent as `Authorization: Bearer \u003ctoken>`. The gateway recognizes the token type automatically.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-spec/sandbox_api.yaml"},"subdomain":"gmicloud","siteName":"GMI Cloud Documentation","title":"Connect to a sandbox - GMI Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T19:06:36.882Z","originalFileLocation":"agentbox-api/sandbox/connect-to-a-sandbox.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=\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox\u0026#x27;s lifetime (extend-only, never shortens). Returns 409 if the instance is not running. The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value. The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox\u0026#x27;s current end_at, this endpoint repairs it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GMI Cloud Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_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/gmicloud/3Gg7T0A9Kt6Sj64N/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connect to a sandbox - GMI Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox\u0026#x27;s lifetime (extend-only, never shortens). Returns 409 if the instance is not running. The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value. The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox\u0026#x27;s current end_at, this endpoint repairs it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GMI Cloud Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gmicloud.mintlify.app/_mintlify/api/og/v2?division=Sandbox\u0026amp;title=Connect+to+a+sandbox\u0026amp;description=Connects+to+a+running+sandbox+and+returns+its+data-plane+connection+info+%28domain+and+access+token%29.+When+%60timeout%60+is+provided+and+greater+than+0%2C+the+call+also\u0026amp;theme=9f5734c91eff055e34aea819\u0026amp;signature=525055aec5a88a3c55530adf7604968718630c2f4b791bbc232859137a3f2e43\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Connect to a sandbox - GMI Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox\u0026#x27;s lifetime (extend-only, never shortens). Returns 409 if the instance is not running. The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value. The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox\u0026#x27;s current end_at, this endpoint repairs it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gmicloud.mintlify.app/_mintlify/api/og/v2?division=Sandbox\u0026amp;title=Connect+to+a+sandbox\u0026amp;description=Connects+to+a+running+sandbox+and+returns+its+data-plane+connection+info+%28domain+and+access+token%29.+When+%60timeout%60+is+provided+and+greater+than+0%2C+the+call+also\u0026amp;theme=9f5734c91eff055e34aea819\u0026amp;signature=525055aec5a88a3c55530adf7604968718630c2f4b791bbc232859137a3f2e43\">\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/gmicloud/3Gg7T0A9Kt6Sj64N/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GMI Cloud Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6e7a0e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agentbox-api/sandbox/connect-to-a-sandbox.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gmicloud.ai/#organization\",\"name\":\"GMI Cloud Documentation\",\"url\":\"https://docs.gmicloud.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gmicloud/NMovxHyNviV7LUYd/logo/gmi-cloud-logo.svg?fit=max\u0026auto=format\u0026n=NMovxHyNviV7LUYd\u0026q=85\u0026s=17a2b497b7719739248dfca2ae9d6c4a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gmicloud.ai#website\",\"name\":\"GMI Cloud Documentation\",\"url\":\"https://docs.gmicloud.ai\",\"publisher\":{\"@id\":\"https://docs.gmicloud.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox#webpage\",\"url\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox\",\"name\":\"Connect to a sandbox\",\"description\":\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox's lifetime (extend-only, never shortens). Returns 409 if the instance is not running. The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value. The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox's current end_at, this endpoint repairs it.\",\"dateModified\":\"2026-10-29T19:06:36.882Z\",\"isPartOf\":{\"@id\":\"https://docs.gmicloud.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sandbox APIs\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Endpoints\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/list-active-sandboxes\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sandbox\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/list-active-sandboxes\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Connect to a sandbox\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox#apireference\",\"headline\":\"Connect to a sandbox\",\"name\":\"Connect to a sandbox\",\"description\":\"Connects to a running sandbox and returns its data-plane connection info (domain and access token). When timeout is provided and greater than 0, the call also extends the sandbox's lifetime (extend-only, never shortens). Returns 409 if the instance is not running. The response always returns the authoritative expiry time end_at as settled by this call — if no extension took effect (the requested expiry is not later than the current one), it is simply the unchanged current value. The sandbox_access_token stays valid for the entire lifetime of the sandbox. When the lifetime is extended, the control plane re-signs and returns a new token; even without an extension, if the token has drifted from the sandbox's current end_at, this endpoint repairs it.\",\"url\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandbox/connect-to-a-sandbox#webpage\"},\"dateModified\":\"2026-10-29T19:06:36.882Z\",\"publisher\":{\"@id\":\"https://docs.gmicloud.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gmicloud.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GMI Cloud Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GMI Cloud Documentation","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"Inference","pages":[{"title":"Inference","href":"/inference-engine/ie-intro"}]},{"tab":"GPU Compute","pages":[{"title":"GPU Compute","href":"/cluster-engine"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"GMI Studio","pages":[{"title":"GMI Studio","href":"/gmi-studio/gmi-studio-user-manual/introduction"}]},{"tab":"GMI Agentbox","groups":[{"group":"GMI Agentbox","pages":[{"title":"Overview","href":"/agentbox-marketplace/overview"},{"title":"Search and use an agent","href":"/agentbox-marketplace/search-and-use"},{"title":"Register an agent","href":"/agentbox-marketplace/register-an-agent"},{"title":"Managing your deployment","href":"/agentbox-marketplace/managing-your-deployment"},{"title":"List an agent","href":"/agentbox-marketplace/list-an-agent"},{"title":"Agents I use","href":"/agentbox-marketplace/agents-i-use"},{"title":"Verified agents","href":"/agentbox-marketplace/verified-agents"},{"title":"Handle long-running requests","href":"/agentbox-marketplace/handle-long-running-requests"}]},{"group":"Agentbox SDK","pages":[{"title":"Agentbox SDK","href":"/agentbox-sdk/overview"},{"title":"Quickstart","href":"/agentbox-sdk/quickstart"},{"title":"Agents and image builds","href":"/agentbox-sdk/agents"},{"title":"Sandboxes","href":"/agentbox-sdk/sandboxes"},{"title":"Commands and files","href":"/agentbox-sdk/commands-and-files"},{"title":"Interactive shell","href":"/agentbox-sdk/shell"},{"title":"Snapshots","href":"/agentbox-sdk/snapshots"},{"title":"Errors and limits","href":"/agentbox-sdk/errors-and-limits"},{"title":"Python SDK reference","href":"/agentbox-sdk/python-reference"},{"title":"Go SDK reference","href":"/agentbox-sdk/go-reference"}]},{"group":"Sandbox SDK","pages":[{"title":"GMI Sandbox SDK Usage","href":"/agentbox-api/sandbox-sdk/usage"},{"title":"GMI Sandbox SDK Reference","href":"/agentbox-api/sandbox-sdk/sdk-reference"}]},{"group":"Sandbox APIs","pages":[{"title":"Sandbox API Overview","href":"/agentbox-api/sandbox/overview"},{"group":"Endpoints","pages":[{"group":"Sandbox","pages":[{"title":"List active sandboxes","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /sandboxes","href":"/agentbox-api/sandbox/list-active-sandboxes"},{"title":"Create a sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes","href":"/agentbox-api/sandbox/create-a-sandbox"},{"title":"Get sandbox details","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /sandboxes/{id}","href":"/agentbox-api/sandbox/get-sandbox-details"},{"title":"Delete (kill) a sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml delete /sandboxes/{id}","href":"/agentbox-api/sandbox/delete-kill-a-sandbox"},{"title":"Update sandbox metadata","description":"Replaces the customer-defined metadata as a whole — no per-key merging; passing an empty object clears it. There are no mutable fields other than `metadata`. This operation does not take the lifecycle lock, so it works in any visible state.\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml patch /sandboxes/{id}","href":"/agentbox-api/sandbox/update-sandbox-metadata"},{"title":"Connect to a sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/connect","href":"/agentbox-api/sandbox/connect-to-a-sandbox"},{"title":"Set sandbox timeout","description":"Resets the time-to-live relative to the current time. When `timeout` is omitted or is 0 or less, 300 seconds is used. Only allowed while `running`; any other state returns 409.\n\nThe response returns the expiry time before and after this change: since a `timeout` of 0 or less is replaced by the default duration, callers cannot derive the effective value from their own request parameters — treat `new_end_at` in the response as authoritative.\n\n**The `sandbox_access_token` stays valid for the entire lifetime of the sandbox. After extending the lifetime, call the connect endpoint again to obtain a new token.**\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/timeout","href":"/agentbox-api/sandbox/set-sandbox-timeout"}]},{"group":"Sandbox-Exec","pages":[{"title":"Execute a command in a sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /executions","href":"/agentbox-api/sandbox-exec/execute-a-command-in-a-sandbox"},{"title":"Get a sandbox execution","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /executions/{execution_id}","href":"/agentbox-api/sandbox-exec/get-a-sandbox-execution"},{"title":"Cancel a sandbox execution","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /executions/{execution_id}/cancel","href":"/agentbox-api/sandbox-exec/cancel-a-sandbox-execution"}]},{"group":"Sandbox-Files","pages":[{"title":"Download a sandbox file","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /files","href":"/agentbox-api/sandbox-files/download-a-sandbox-file"},{"title":"Upload a sandbox file","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /files","href":"/agentbox-api/sandbox-files/upload-a-sandbox-file"}]},{"group":"SandboxTemplate","pages":[{"title":"List the product catalog (unified, tenant-facing)","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /products","href":"/agentbox-api/sandboxtemplate/list-the-product-catalog-unified-tenant-facing"},{"title":"List Templates","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates","href":"/agentbox-api/sandboxtemplate/list-templates"},{"title":"Create a Template and start its initial Build","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates","href":"/agentbox-api/sandboxtemplate/create-a-template-and-start-its-initial-build"},{"title":"Get a Template","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates/{id}","href":"/agentbox-api/sandboxtemplate/get-a-template"},{"title":"Delete a Template","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml delete /templates/{id}","href":"/agentbox-api/sandboxtemplate/delete-a-template"},{"title":"Update mutable Template metadata","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml patch /templates/{id}","href":"/agentbox-api/sandboxtemplate/update-mutable-template-metadata"},{"title":"List Template Builds","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates/{template_id}/builds","href":"/agentbox-api/sandboxtemplate/list-template-builds"},{"title":"Get a Template Build","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates/{template_id}/builds/{id}","href":"/agentbox-api/sandboxtemplate/get-a-template-build"},{"title":"Get live Template Build logs","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates/{template_id}/builds/{id}/logs","href":"/agentbox-api/sandboxtemplate/get-live-template-build-logs"}]}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/gmi-mcp-server"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides-overview"}]}]},"title":"Connect to a sandbox - GMI Cloud Documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}