Starts a Build created by the split create flow (a waiting initial
Build). This is an action on an existing record — nothing new is
created — so success is a 202 acceptance; poll the Build for the
outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not
supported in every IDC; unsupported IDCs reject it with 422.
Runtime default identity for Sandboxes launched from this Build.
Without it, Sandboxes run as docker run would: as the Dockerfile's final
USER, else the image's USER, else root, in the final WORKDIR, else the
image's, else /.
Sandboxes run commands as a named account: an image USER given as a
numeric uid (or uid:gid) needs a matching /etc/passwd entry in the image,
otherwise the Build fails with a reason that names the USER. The group
part is ignored.
It is applied after all build commands and overrides the final Dockerfile
USER at runtime; it does not change the identity of earlier build commands.
Recommended setup for a custom account: create it in the Dockerfile, give
it a working directory it can access, and pass its uid, for example
RUN useradd --uid 9999 --create-home --shell /bin/bash app,
WORKDIR /home/app, and default_user: {username: app, uid: 9999}.
default_user changes the identity only, not the working directory or its
permissions. If the account cannot enter the final working directory,
commands cannot start there and the Build may fail; declare an
accessible WORKDIR to fix it.
With uid, the account must already exist with that UID and an existing
home directory; otherwise the Build fails. The platform does not change
UID, ownership, groups, or sudo privileges.
A non-root username without uid may be rejected with HTTP 422
(Template.ProviderNotSupported); supply uid to avoid this. root may omit uid.
Invalid username, out-of-range uid, or root with a nonzero uid returns
HTTP 400 (Parameter.Invalid).
A Build from a base template keeps the base template's user and working
directory, as Docker FROM does; set default_user on the child Build to
select another. Changing it requires a new Build.
When omitted, the template's default runtime identity is used. A Build
response reports the requested setting; an omitted uid stays omitted.
Shell command strings executed sequentially during the Build. They may
run as a non-root account with passwordless sudo: prefix privileged
commands with sudo, and set ownership of files that the runtime
account must use. To control the build identity explicitly, use a
Dockerfile source with USER instructions, as in a regular Dockerfile.
Environment variables available only during the Template Build.
They are visible to subsequent build commands/steps and are not persisted
into the resulting template artifact as sandbox runtime environment
variables. Pass runtime env when creating a Sandbox instead. Write-only:
values are never returned on Template or TemplateBuild responses.
Keys must be unique (JSON object); the server orders them
deterministically by key. Key names must match
[A-Za-z_][A-Za-z0-9_]*.
Wall-clock budget for this Build in seconds. Omit or null to use the
platform default (600). Allowed range: 60–3600. On expiry the Build
is finalized as error with failure code TemplateBuild.TimedOut,
its backing build in the selected IDC is cancelled, and its partial
artifacts are reclaimed, best-effort.
Launch command persisted with the Build and applied when Sandboxes
created from this Template start.
It runs as a boot script before the sandbox's main process, and the
sandbox only becomes ready once it returns, so the command must
terminate. A foreground long-running command (sleep infinity, a
server started in the foreground) leaves the Sandbox stuck
initializing and every exec against it rejected.
Appending & alone is not sufficient: a backgrounded process that
still holds the inherited stdout/stderr keeps boot blocked just the
same. Long-running processes must be backgrounded and detached
from those streams, e.g.
my-server > /var/log/my-server.log 2>&1 &.
Resume continues the saved processes without re-running this command.
{"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":"6ae4878f516c780aa3755d08","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":"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":"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},{"name":"approve-review-flow","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/sandboxtemplate/start-an-existing-build","slug":"/agentbox-api/sandboxtemplate/start-an-existing-build","pageMetadata":{"title":"Start an existing Build","description":"Starts a Build created by the split create flow (a `waiting` initial\nBuild). This is an action on an existing record — nothing new is\ncreated — so success is a 202 acceptance; poll the Build for the\noutcome. Starting a Build that is not in `waiting` state returns 400 `Parameter.Invalid`. Not\nsupported in every IDC; unsupported IDCs reject it with 422.\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates/{template_id}/builds/{id}","href":"/agentbox-api/sandboxtemplate/start-an-existing-build","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Starts a Build created by the split create flow (a \", _jsx(_components.code, {\n children: \"waiting\"\n }), \" initial\\nBuild). This is an action on an existing record — nothing new is\\ncreated — so success is a 202 acceptance; poll the Build for the\\noutcome. Starting a Build that is not in \", _jsx(_components.code, {\n children: \"waiting\"\n }), \" state returns 400 \", _jsx(_components.code, {\n children: \"Parameter.Invalid\"\n }), \". Not\\nsupported in every IDC; unsupported IDCs reject it with 422.\"]\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":"Start an existing Build","description":"Starts a Build created by the split create flow (a `waiting` initial\nBuild). This is an action on an existing record — nothing new is\ncreated — so success is a 202 acceptance; poll the Build for the\noutcome. Starting a Build that is not in `waiting` state returns 400 `Parameter.Invalid`. Not\nsupported in every IDC; unsupported IDCs reject it with 422.\n","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates/{template_id}/builds/{id}","href":"/agentbox-api/sandboxtemplate/start-an-existing-build","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/gmicloud/fa3784330bb16240/syft.js"],"openApiReferenceData":{"operation":{"tags":["SandboxTemplate"],"summary":"Start an existing Build","description":"Starts a Build created by the split create flow (a `waiting` initial\nBuild). This is an action on an existing record — nothing new is\ncreated — so success is a 202 acceptance; poll the Build for the\noutcome. Starting a Build that is not in `waiting` state returns 400 `Parameter.Invalid`. Not\nsupported in every IDC; unsupported IDCs reject it with 422.\n","operationId":"startTemplateBuild","parameters":["20be8353-767a-4b04-87e5-c989a3d8d374"],"requestBody":"3994b359-e75d-4713-bd59-f1569b615e94","responses":{"202":"6aa674f3-fb48-4241-986e-47428d0bd467","400":"fce13f54-e6c1-4702-bdf9-3d2ec19b96f0","401":"7fb37a19-6898-405a-8737-dd43b638e737","403":"e962db0c-ab2b-4cbe-aacc-0acb801310f8","404":"adef181e-8a75-4eff-8064-03678630ada9","409":"0a9dc740-e6e8-4e83-aa60-a2ddc83153e5","422":"f421b7cc-2a23-4a89-88fa-e7f66e5e89d3","499":"f89444c6-e84e-4233-8b19-10af2919af9b","500":"043710bb-7d55-40d1-881a-9131293cd88a","504":"671d1326-9dd7-41b5-af1a-8526da0c21e8"},"method":"post","type":"path","servers":["f4224fd0-c6e4-4efe-8420-8b23a5d9c9bb"],"security":["79078e5c-3ec2-43f2-9339-906a68febafe"],"path":"/templates/{template_id}/builds/{id}","baseUrlOptions":["https://console.gmicloud.ai/api/v2"],"title":"Start an existing Build","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"20be8353-767a-4b04-87e5-c989a3d8d374":{"name":"idc_name","in":"query","description":"Filter by data center name, e.g. us-denver-1","schema":{"type":"string","description":"Filter by data center name, e.g. us-denver-1","uniqueKey":"","typeLabel":"string"}},"c1f5c384-efda-4828-9f89-ee86b3fdd782":{"name":"template_id","in":"path","required":true,"description":"Owning GMI Template identifier.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Owning GMI Template identifier.","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"4addefb2-d3fd-413d-b893-c4305ee9f66f":{"name":"id","in":"path","required":true,"description":"GMI Template Build identifier.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"GMI Template Build identifier.","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["source"],"properties":{"source":{"oneOf":[{"type":"object","description":"Manual Build source. Sandbox sources use the snapshot endpoint.","required":["type","image"],"properties":{"type":{"type":"string","enum":["image"],"isRequired":true,"uniqueKey":"source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"image":{"type":"string","minLength":1,"description":"OCI container image reference. The following distributions have\nbeen validated: Debian/Ubuntu, Fedora/CentOS Stream/Rocky Linux/\nAlmaLinux, Arch Linux, and Alpine Linux.\n","isRequired":true,"uniqueKey":"source.oneOf.0.image","typeLabel":"string"},"registry_credential":{"type":"object","additionalProperties":false,"required":["type","username","password"],"description":"A one-time registry credential used to pull the private image named by `image`. `username` and `password` are used only for this build request: they are never persisted and never returned in any response. The Build detail's `registry_authentication` reports only whether a credential was used and of what kind, never the username or password.","properties":{"type":{"type":"string","enum":["general"],"isRequired":true,"uniqueKey":"source.oneOf.0.registry_credential.type","typeLabel":"enum\u003cstring>"},"username":{"type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.registry_credential.username","typeLabel":"string"},"password":{"type":"string","description":"Can be a password or an access token.","isRequired":true,"uniqueKey":"source.oneOf.0.registry_credential.password","typeLabel":"string"}},"uniqueKey":"source.oneOf.0.registry_credential","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"object"},{"type":"object","description":"Manual Build source. Sandbox sources use the snapshot endpoint.","required":["type","template_id"],"properties":{"type":{"type":"string","enum":["template"],"isRequired":true,"uniqueKey":"source.oneOf.1.type","typeLabel":"enum\u003cstring>"},"template_id":{"type":"string","description":"Parent GMI Template identifier in the same IDC.","isRequired":true,"uniqueKey":"source.oneOf.1.template_id","typeLabel":"string"},"build_id":{"type":"string","description":"Optional parent Build identifier. When omitted, the parent's\ncurrent successful Build is used.\n","uniqueKey":"source.oneOf.1.build_id","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"object"},{"type":"object","description":"Manual Build source. Sandbox sources use the snapshot endpoint.","required":["type","dockerfile"],"properties":{"type":{"type":"string","enum":["dockerfile"],"isRequired":true,"uniqueKey":"source.oneOf.2.type","typeLabel":"enum\u003cstring>"},"dockerfile":{"type":"string","minLength":1,"maxLength":262144,"description":"Raw Dockerfile text. Supported instructions: FROM (exactly one; no\nmulti-stage), RUN, ENV, WORKDIR, USER, COPY/ADD, CMD/ENTRYPOINT;\nEXPOSE and VOLUME are skipped; anything else is rejected with 400.\n\nA trailing backslash continues an instruction on the next line; blank\nand comment lines inside a continuation are skipped.\n\nThe Dockerfile's final USER is the runtime identity of Sandboxes unless\n`default_user` is set. A Build fails when that account cannot enter the\nfinal working directory; declare an accessible WORKDIR.\n\nCOPY/ADD sources must reference an uploaded Template file as\n`COPY {{file:\u003cfile_id>}} /dest` — local paths and URLs are\nrejected, and at most one file may be referenced per build (its\n`file_id` must also be attached via `file_context`, with\n`file_context.destination` omitted).\n\nWith a dockerfile source, the sibling `commands` and `envs` fields\nare forbidden: write RUN/ENV lines in the Dockerfile instead.\nCMD/ENTRYPOINT are extracted into the Build's start command; an\nexplicit `start_cmd` takes precedence over them.\n\nENV values are visible to subsequent build steps and are part of\nthe sandbox runtime environment, as under `docker run`; a value\npassed as `env_vars` when creating a Sandbox overrides one of the\nsame name. Do not put build-time secrets in ENV: build the Template\nfrom an image or template source and pass them in `envs`, which\nreach the build steps only.\n","isRequired":true,"uniqueKey":"source.oneOf.2.dockerfile","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"source.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"source","typeLabel":"object"},"default_user":{"type":"object","additionalProperties":false,"required":["username"],"description":"Runtime default identity for Sandboxes launched from this Build.\nWithout it, Sandboxes run as `docker run` would: as the Dockerfile's final\nUSER, else the image's USER, else root, in the final WORKDIR, else the\nimage's, else `/`.\nSandboxes run commands as a named account: an image USER given as a\nnumeric uid (or uid:gid) needs a matching /etc/passwd entry in the image,\notherwise the Build fails with a reason that names the USER. The group\npart is ignored.\nIt is applied after all build commands and overrides the final Dockerfile\nUSER at runtime; it does not change the identity of earlier build commands.\n\nRecommended setup for a custom account: create it in the Dockerfile, give\nit a working directory it can access, and pass its uid, for example\n`RUN useradd --uid 9999 --create-home --shell /bin/bash app`,\n`WORKDIR /home/app`, and `default_user: {username: app, uid: 9999}`.\n\n- default_user changes the identity only, not the working directory or its\n permissions. If the account cannot enter the final working directory,\n commands cannot start there and the Build may fail; declare an\n accessible WORKDIR to fix it.\n- With uid, the account must already exist with that UID and an existing\n home directory; otherwise the Build fails. The platform does not change\n UID, ownership, groups, or sudo privileges.\n- A non-root username without uid may be rejected with HTTP 422\n (Template.ProviderNotSupported); supply uid to avoid this. root may omit uid.\n- Invalid username, out-of-range uid, or root with a nonzero uid returns\n HTTP 400 (Parameter.Invalid).\n- A Build from a base template keeps the base template's user and working\n directory, as Docker FROM does; set default_user on the child Build to\n select another. Changing it requires a new Build.\n\nWhen omitted, the template's default runtime identity is used. A Build\nresponse reports the requested setting; an omitted uid stays omitted.\n","properties":{"username":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[a-z_][a-z0-9_-]{0,31}$","example":"app","isRequired":true,"uniqueKey":"default_user.username","typeLabel":"string"},"uid":{"type":"integer","format":"int32","minimum":0,"maximum":2147483647,"description":"UID of the account. Recommended for non-root usernames. root only accepts 0.","example":9999,"uniqueKey":"default_user.uid","typeLabel":"integer\u003cint32>"}},"uniqueKey":"default_user","typeLabel":"object"},"commands":{"type":"array","maxItems":100,"description":"Shell command strings executed sequentially during the Build. They may\nrun as a non-root account with passwordless sudo: prefix privileged\ncommands with `sudo`, and set ownership of files that the runtime\naccount must use. To control the build identity explicitly, use a\nDockerfile source with `USER` instructions, as in a regular Dockerfile.\n","items":{"type":"string","minLength":1,"maxLength":8192,"uniqueKey":"commands.items.[INDEX]","typeLabel":"string"},"uniqueKey":"commands","typeLabel":"string[]"},"envs":{"type":"object","maxProperties":256,"additionalProperties":{"type":"string","maxLength":32768,"uniqueKey":"envs.additionalProperties","typeLabel":"string"},"description":"Environment variables available only during the Template Build.\nThey are visible to subsequent build commands/steps and are not persisted\ninto the resulting template artifact as sandbox runtime environment\nvariables. Pass runtime env when creating a Sandbox instead. Write-only:\nvalues are never returned on Template or TemplateBuild responses.\nKeys must be unique (JSON object); the server orders them\ndeterministically by key. Key names must match\n`[A-Za-z_][A-Za-z0-9_]*`.\n","uniqueKey":"envs","typeLabel":"object"},"build_timeout_sec":{"type":"integer","minimum":60,"maximum":3600,"description":"Wall-clock budget for this Build in seconds. Omit or null to use the\nplatform default (600). Allowed range: 60–3600. On expiry the Build\nis finalized as `error` with failure code `TemplateBuild.TimedOut`,\nits backing build in the selected IDC is cancelled, and its partial\nartifacts are reclaimed, best-effort.\n","uniqueKey":"build_timeout_sec","typeLabel":"integer"},"start_cmd":{"type":"string","minLength":1,"maxLength":8192,"description":"Launch command persisted with the Build and applied when Sandboxes\ncreated from this Template start.\n\nIt runs as a boot script before the sandbox's main process, and the\nsandbox only becomes ready once it returns, so the command must\nterminate. A foreground long-running command (`sleep infinity`, a\nserver started in the foreground) leaves the Sandbox stuck\ninitializing and every exec against it rejected.\n\nAppending `\u0026` alone is not sufficient: a backgrounded process that\nstill holds the inherited stdout/stderr keeps boot blocked just the\nsame. Long-running processes must be backgrounded *and* detached\nfrom those streams, e.g.\n`my-server > /var/log/my-server.log 2>\u00261 \u0026`.\n\nResume continues the saved processes without re-running this command.\n","uniqueKey":"start_cmd","typeLabel":"string"},"file_context":{"type":"object","additionalProperties":false,"required":["file_id"],"properties":{"file_id":{"type":"string","format":"uuid","description":"GMI file identifier returned by the upload initialization endpoint.","isRequired":true,"uniqueKey":"file_context.file_id","typeLabel":"string\u003cuuid>"},"destination":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^/","description":"Absolute destination copied from the archive root during the Build.\nRequired for image/template sources; forbidden for a dockerfile\nsource, whose `COPY {{file:...}} /dest` lines carry their own\ndestinations.\n","uniqueKey":"file_context.destination","typeLabel":"string"}},"uniqueKey":"file_context","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"source":{"type":"image","image":"\u003cstring>"},"commands":["\u003cstring>"],"envs":{},"build_timeout_sec":1830,"start_cmd":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"6aa674f3-fb48-4241-986e-47428d0bd467":{"description":"The start instruction was accepted; the Build is now building.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["request_id","data"],"properties":{"request_id":{"type":"string","description":"HTTP request correlation identifier.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"data":{"type":"object","additionalProperties":false,"required":["id","template_id","status"],"properties":{"id":{"type":"string","description":"The Build this mutation created or started.","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"template_id":{"type":"string","description":"Owning GMI Template identifier.","isRequired":true,"uniqueKey":"data.template_id","typeLabel":"string"},"status":{"type":"string","enum":["waiting","building","ready","error"],"description":"Normalized Template Build status.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"request_id":"\u003cstring>","data":{"id":"\u003cstring>","template_id":"\u003cstring>","status":"waiting"}}}},"exampleType":"generated"}},"exampleType":"generated"},"fce13f54-e6c1-4702-bdf9-3d2ec19b96f0":{"description":"Invalid request parameters. Two code families are used: `Request.InvalidParameter` for request parsing and format validation (unknown or malformed body fields, malformed IDs, invalid enum values, out-of-range paging) and `Parameter.Invalid` for business validation (for example a template or IDC that cannot be found, or a `timeout` over the limit). Unknown or invalid fields inside the `params` of `POST /sandboxes/{id}/actions` are reported as `Parameter.Invalid`. Other 400 codes are specific to an operation, for example `Sandbox.SourceConflict` (both or neither of `template_id` and `snapshot_id`) and `Sandbox.IdempotentParameterMismatch` (an `Idempotency-Key` reused with different parameters). Both code families share the same HTTP status, so decide by the `code` value, not the status alone.","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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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"},"7fb37a19-6898-405a-8737-dd43b638e737":{"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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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"},"e962db0c-ab2b-4cbe-aacc-0acb801310f8":{"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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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","trace_id":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"adef181e-8a75-4eff-8064-03678630ada9":{"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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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"},"0a9dc740-e6e8-4e83-aa60-a2ddc83153e5":{"description":"State conflict (`Resource.StateConflict` or an operation-specific code), or the selected IDC is under maintenance (`IDC.UnderMaintenance`): write operations are rejected until the IDC is usable again. Read operations are unaffected.\n","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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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","trace_id":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"f421b7cc-2a23-4a89-88fa-e7f66e5e89d3":{"description":"The request is valid but the selected IDC does not support\nthe requested capability or resolved resource specification.\n","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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_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","trace_id":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"f89444c6-e84e-4233-8b19-10af2919af9b":{"description":"The caller canceled the current HTTP request.","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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Request.Canceled","message":"Request canceled","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Request.Canceled","message":"Request canceled","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"043710bb-7d55-40d1-881a-9131293cd88a":{"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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"System.Internal","message":"An internal server error occurred","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"System.Internal","message":"An internal server error occurred","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"},"671d1326-9dd7-41b5-af1a-8526da0c21e8":{"description":"The current HTTP request exceeded the control-plane processing deadline.","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"},"trace_id":{"type":"string","description":"Server-side trace identifier for this request; quote it when reporting a problem.","uniqueKey":"trace_id","typeLabel":"string"},"details":{"type":"object","description":"Field-level error details","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"Request.Timeout","message":"Request timed out","request_id":"req-xxxx"},"examples":{"Example":{"title":"Example","value":{"code":"Request.Timeout","message":"Request timed out","request_id":"req-xxxx"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"79078e5c-3ec2-43f2-9339-906a68febafe":{"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":{"f4224fd0-c6e4-4efe-8420-8b23a5d9c9bb":{"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":"Start an existing Build - GMI Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T12:03:44.010Z","originalFileLocation":"agentbox-api/sandboxtemplate/start-an-existing-build.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=\"Starts a Build created by the split create flow (a waiting initial Build). This is an action on an existing record — nothing new is created — so success is a 202 acceptance; poll the Build for the outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not supported in every IDC; unsupported IDCs reject it with 422.\">\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=\"Start an existing Build - GMI Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Starts a Build created by the split create flow (a waiting initial Build). This is an action on an existing record — nothing new is created — so success is a 202 acceptance; poll the Build for the outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not supported in every IDC; unsupported IDCs reject it with 422.\">\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/sandboxtemplate/start-an-existing-build\">\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=SandboxTemplate\u0026amp;title=Start+an+existing+Build\u0026amp;description=Starts+a+Build+created+by+the+split+create+flow+%28a+%60waiting%60+initial%0ABuild%29.+This+is+an+action+on+an+existing+record+%E2%80%94+nothing+new+is%0Acreated+%E2%80%94+so+success+is+a+\u0026amp;theme=9f5734c91eff055e34aea819\u0026amp;signature=02bd9fdd6d6876f3048b8fea93fcab7251036833ec5ff10d7984f4364b860ff2\">\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=\"Start an existing Build - GMI Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Starts a Build created by the split create flow (a waiting initial Build). This is an action on an existing record — nothing new is created — so success is a 202 acceptance; poll the Build for the outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not supported in every IDC; unsupported IDCs reject it with 422.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gmicloud.mintlify.app/_mintlify/api/og/v2?division=SandboxTemplate\u0026amp;title=Start+an+existing+Build\u0026amp;description=Starts+a+Build+created+by+the+split+create+flow+%28a+%60waiting%60+initial%0ABuild%29.+This+is+an+action+on+an+existing+record+%E2%80%94+nothing+new+is%0Acreated+%E2%80%94+so+success+is+a+\u0026amp;theme=9f5734c91eff055e34aea819\u0026amp;signature=02bd9fdd6d6876f3048b8fea93fcab7251036833ec5ff10d7984f4364b860ff2\">\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/sandboxtemplate/start-an-existing-build\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agentbox-api/sandboxtemplate/start-an-existing-build.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/sandboxtemplate/start-an-existing-build#webpage\",\"url\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build\",\"name\":\"Start an existing Build\",\"description\":\"Starts a Build created by the split create flow (a waiting initial Build). This is an action on an existing record — nothing new is created — so success is a 202 acceptance; poll the Build for the outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not supported in every IDC; unsupported IDCs reject it with 422.\",\"dateModified\":\"2026-10-30T12:03:44.010Z\",\"isPartOf\":{\"@id\":\"https://docs.gmicloud.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build#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\":\"SandboxTemplate\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/list-the-product-catalog-unified-tenant-facing\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Start an existing Build\",\"item\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build#apireference\",\"headline\":\"Start an existing Build\",\"name\":\"Start an existing Build\",\"description\":\"Starts a Build created by the split create flow (a waiting initial Build). This is an action on an existing record — nothing new is created — so success is a 202 acceptance; poll the Build for the outcome. Starting a Build that is not in waiting state returns 400 Parameter.Invalid. Not supported in every IDC; unsupported IDCs reject it with 422.\",\"url\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gmicloud.ai/agentbox-api/sandboxtemplate/start-an-existing-build#webpage\"},\"dateModified\":\"2026-10-30T12:03:44.010Z\",\"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 (Beta)","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","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":"Pause a sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/pause","href":"/agentbox-api/sandbox/pause-a-sandbox"},{"title":"Resume a paused sandbox","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/resume","href":"/agentbox-api/sandbox/resume-a-paused-sandbox"},{"title":"Execute a sandbox runtime action","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /sandboxes/{id}/actions","href":"/agentbox-api/sandbox/execute-a-sandbox-runtime-action"},{"title":"Set sandbox timeout","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-Shell","pages":[{"title":"Launch the sandbox interactive shell","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /shell","href":"/agentbox-api/sandbox-shell/launch-the-sandbox-interactive-shell"},{"title":"Attach to the sandbox shell (WebSocket)","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /shell/connect","href":"/agentbox-api/sandbox-shell/attach-to-the-sandbox-shell-websocket"},{"title":"Control the sandbox shell (resize / close)","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /shell/control","href":"/agentbox-api/sandbox-shell/control-the-sandbox-shell-resize-close"}]},{"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":"Initialize a Template build-context upload","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates/{template_id}/files","href":"/agentbox-api/sandboxtemplate/initialize-a-template-build-context-upload"},{"title":"Get Template build-context status","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /templates/{template_id}/files/{file_id}","href":"/agentbox-api/sandboxtemplate/get-template-build-context-status"},{"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":"Create and start a rebuild","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates/{template_id}/builds","href":"/agentbox-api/sandboxtemplate/create-and-start-a-rebuild"},{"title":"Get a Template Build","description":"Returns normalized Build status and artifact availability.","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":"Start an existing Build","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /templates/{template_id}/builds/{id}","href":"/agentbox-api/sandboxtemplate/start-an-existing-build"},{"title":"Get live Template Build logs","description":"Returns live logs for a Template Build; the platform does not persist them. \nLogs are filtered and paged server-side across upstream pages, preserving raw log offsets.\n","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"}]},{"group":"SandboxSnapshot","pages":[{"title":"List durable snapshots","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /snapshots","href":"/agentbox-api/sandboxsnapshot/list-durable-snapshots"},{"title":"Create a durable snapshot","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml post /snapshots","href":"/agentbox-api/sandboxsnapshot/create-a-durable-snapshot"},{"title":"Get a durable snapshot","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml get /snapshots/{snapshot_id}","href":"/agentbox-api/sandboxsnapshot/get-a-durable-snapshot"},{"title":"Delete a durable snapshot","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml delete /snapshots/{snapshot_id}","href":"/agentbox-api/sandboxsnapshot/delete-a-durable-snapshot"},{"title":"Update a durable snapshot","deprecated":null,"version":null,"openapi":"/api-spec/sandbox_api.yaml patch /snapshots/{snapshot_id}","href":"/agentbox-api/sandboxsnapshot/update-a-durable-snapshot"}]}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/gmi-mcp-server"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides-overview"}]}]},"title":"Start an existing Build - 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"]}