Detaching makes an application or a stack an ordinary one: it keeps running as it is, but it no longer sees new versions of the template and cannot be updated from it. It cannot be undone. This page covers the two detach routes and the confirm_detach rule that detaches an application when you change its code.There are two routes: POST /v1/apps/{id}/template/detach for an application and POST /v1/stacks/{stack_id}/template/detach for a stack. Detaching a stack detaches all its applications from the template. The call is idempotent. For an application that did not come from a template, or a stack assembled by hand, it answers 404 with TEMPLATE_NOT_FOUND.An application or stack of a closed template cannot be detached: the call fails with TEMPLATE_CLOSED, with details.action set to detach. A stack with one closed service cannot be detached either.The application route needs the apps:write scope and the stack route needs stacks:write, when called with an API key.
An application of an open template (one whose permissions let you edit code) is detached when you change its code. The routes that do it ask you to confirm first. Without confirm_detach set to true, the request changes nothing and fails with 409 and TEMPLATE_DETACH_CONFIRMATION_REQUIRED; with it, the change is made and, when it succeeds, the application is detached. The field is ignored for an application that did not come from a template.The routes are the ones that write files (PUT, PATCH and DELETE on /v1/apps/{id}/files), the file upload, the GitHub link of the application and the commit of the container to an image. Send confirm_detach as a boolean in the JSON body, as a text part of a multipart body, or as the query confirm_detach=true on any of them.The details of the error say which action asked for the confirmation:
An application of a closed template does not ask: the same routes are refused with TEMPLATE_CLOSED, and the code stays out of reach. Read the details in Closed templates.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vertra Cloud","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension.","colors":{"primary":"#ff6100","light":"#ff7a24","dark":"#e65700"},"logo":{"light":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e","dark":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e"},"favicon":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/favicon.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=1bab95e4f8e35419e5901e69c7caa4b2","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python","go"]},"mdx":{"auth":{"method":"bearer"},"server":"https://api.vertracloud.app"}},"background":{"color":{"light":"#f7f7f6","dark":"#121212"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"footer":{"socials":{"github":"https://github.com/vertracloud","instagram":"https://instagram.com/vertracloud","x":"https://x.com/vertracloud","youtube":"https://www.youtube.com/@vertracloud","discord":"https://discord.gg/vertracloud"}},"seo":{"metatags":{"og:site_name":"Vertra Cloud Docs","og:type":"website","og:image":"https://docs.vertracloud.app/images/og.png","twitter:card":"summary_large_image","twitter:image":"https://docs.vertracloud.app/images/og.png","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension."},"indexing":"navigable"},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":""},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"href":"pt-br"},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"href":"es-es"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vertracloud","hasAudioNarration":false,"actualSubdomain":"vertracloud","customDomains":["docs.vertracloud.app"],"gitSource":{"type":"github","owner":"vertracloud","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adfccf1a2bef6f7629a5c5c","collectionId":"d2809f99-d115-4a9b-850f-551c23e42657","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adfccf1a2bef6f7629a5c5c"},"entitlements":{},"buildId":"6ae51f8fceb92005b37aba26","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"API Reference","count":159},{"language":"es","tag":"Referencia de la API","count":159},{"language":"pt-BR","tag":"Referência da API","count":159},{"language":"en","tag":"Endpoints","count":156},{"language":"es","tag":"Endpoints","count":156},{"language":"pt-BR","tag":"Endpoints","count":156},{"language":"en","tag":"Templates","count":64},{"language":"es","tag":"Plantillas","count":64},{"language":"pt-BR","tag":"Templates","count":64},{"language":"es","tag":"Blob Storage","count":58},{"language":"pt-BR","tag":"Blob Storage","count":58},{"language":"en","tag":"Blob Storage","count":56},{"language":"en","tag":"Applications","count":46},{"language":"en","tag":"Changelog","count":46},{"language":"es","tag":"Aplicaciones","count":46},{"language":"es","tag":"Changelog","count":46},{"language":"pt-BR","tag":"Aplicações","count":46},{"language":"pt-BR","tag":"Changelog","count":46},{"language":"en","tag":"v26","count":35},{"language":"es","tag":"v26","count":35},{"language":"pt-BR","tag":"v26","count":35},{"language":"en","tag":"Blob API reference","count":30},{"language":"es","tag":"Referencia de la API de Blob","count":30},{"language":"pt-BR","tag":"Referência da API do Blob","count":30},{"language":"en","tag":"Workspaces","count":26},{"language":"en","tag":"Tutorials","count":26},{"language":"es","tag":"Workspaces","count":26},{"language":"es","tag":"Tutoriales","count":26},{"language":"pt-BR","tag":"Workspaces","count":26},{"language":"pt-BR","tag":"Tutoriais","count":26}]},"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":"full-page-search","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":"turbopuffer-dual-write","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":true},"customCss":[{"filePath":"style.css","content":":root{--gray-50:247 247 246;--gray-100:241 241 240;--gray-200:230 230 228;--gray-300:211 211 209;--gray-400:162 162 162;--gray-500:115 115 115;--gray-600:83 83 83;--gray-700:61 61 61;--gray-800:42 42 42;--gray-900:26 26 26;--gray-950:13 13 13}.vc-home{--vc-orange:#ff6100;--vc-orange-strong:#e65700;--vc-paper:#f7f7f6;--vc-surface:#ffffff;--vc-ink:#141414;--vc-ink-2:#3d3d3d;--vc-muted:#737373;--vc-line:#e6e6e4;color:var(--vc-ink)}.dark .vc-home{--vc-orange-strong:#ff7a24;--vc-paper:#121212;--vc-surface:#1a1a1a;--vc-ink:#f4f4f4;--vc-ink-2:#c6c6c6;--vc-muted:#8e8e8e;--vc-line:#2a2a2a}.vc-hero,.vc-hero-inner{display:flex;flex-direction:column;box-sizing:border-box;margin:0}.vc-hero{min-height:calc(100dvh - 120px);overflow:hidden;border-bottom:1px solid var(--vc-line);background-color:var(--vc-paper)}.vc-hero-inner{flex:0 0 auto;justify-content:center;max-width:40rem;padding:2.75rem 1.25rem 1.75rem;text-align:left}.vc-hero h1{margin:0;color:var(--vc-ink);font-size:clamp(2.15rem,.85rem + 1.9vw,3.15rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.vc-hero-copy{max-width:36rem;margin:1.15rem 0 0;color:var(--vc-ink-2);font-size:1.05rem;line-height:1.55;text-wrap:pretty}.vc-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.75rem;margin-top:1.75rem}.vc-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0 1.15rem;border-radius:.5rem;font-size:.92rem;font-weight:500;line-height:1;text-decoration:none!important;border:1px solid transparent;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.vc-btn:focus-visible{outline:2px solid var(--vc-orange);outline-offset:2px}.vc-btn-primary{background:var(--vc-orange);color:#fff!important}.vc-btn-primary:hover{background:var(--vc-orange-strong)}.vc-btn-ghost{background:0 0;border-color:var(--vc-line);color:var(--vc-ink)!important}.vc-btn-ghost:hover{border-color:var(--vc-ink)}.vc-hero-art{flex:1 1 auto;min-height:240px;border-top:1px solid var(--vc-line);background:#f4efe4 url(/images/hero-pillar.webp) 70% 68%/cover no-repeat}@media (min-width:1024px){.vc-hero{flex-direction:row;align-items:stretch;min-height:calc(100dvh - 112px)}.vc-hero-inner{flex:.78 1 0;max-width:none;padding:4rem clamp(1.75rem,4vw,4.5rem)}.vc-hero-art{flex:1.22 1 0;min-height:0;border-top:0;border-left:1px solid var(--vc-line);background-position:72% 50%}}.vc-section{max-width:1040px;margin:0 auto;padding:4.5rem 1.5rem 0}.vc-section:last-of-type{padding-bottom:4.5rem}.vc-heading{max-width:620px;margin-bottom:1.75rem}.vc-kicker{color:var(--vc-orange);font:600 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.vc-heading h2{margin:.5rem 0 .6rem;color:var(--vc-ink);font-size:clamp(1.55rem,3vw,2.05rem);font-weight:700;letter-spacing:-.03em;text-wrap:balance}.vc-heading p{margin:0;color:var(--vc-muted);line-height:1.65}.vc-home .card{border-radius:.85rem;transition:border-color .18s ease,transform .18s ease}.vc-home a.card:hover{border-color:rgba(255,97,0,.6)!important;transform:translateY(-2px)}.vc-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.vc-chip{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--vc-line);border-radius:.7rem;background:var(--vc-chip);color:var(--vc-ink)!important;font-size:.9rem;font-weight:500;text-decoration:none!important;transition:border-color .15s ease,transform .15s ease}.vc-chip:hover{border-color:rgba(255,97,0,.6);transform:translateY(-1px)}.vc-chip svg{flex-shrink:0}.vc-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.vc-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;max-width:1040px;margin:4.5rem auto 0;padding:1.5rem 1.5rem 3rem;border-top:1px solid var(--vc-line);color:var(--vc-muted);font:.72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.vc-footer a{color:var(--vc-ink)!important;text-decoration:none!important}.vc-footer a:hover{color:var(--vc-orange)!important}@media (max-width:760px){.vc-section{padding:3.25rem 1rem 0}}[data-component-part=language-switcher] [data-language=en] a::before{content:'🇺🇸 '}[data-component-part=language-switcher] [data-language=pt-BR] a::before{content:'🇧🇷 '}[data-component-part=language-switcher] [data-language=es] a::before{content:'🇪🇸 '}"}],"page":{"pagePath":"api-reference/endpoint/templates/detach","slug":"/api-reference/endpoint/templates/detach","pageMetadata":{"title":"Detach an Application or Stack from a Template","sidebarTitle":"Detach","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/detach","authMethod":"bearer","description":"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.","href":"/api-reference/endpoint/templates/detach"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Detaching makes an application or a stack an ordinary one: it keeps running as it is, but it no longer sees new versions of the template and cannot be updated from it. It cannot be undone. This page covers the two detach routes and the `,_jsx(_components.code,{children:`confirm_detach`}),` rule that detaches an application when you change its code.`]}),`\n`,_jsxs(_components.p,{children:[`There are two routes: `,_jsx(_components.code,{children:`POST /v1/apps/{id}/template/detach`}),` for an application and `,_jsx(_components.code,{children:`POST /v1/stacks/{stack_id}/template/detach`}),` for a stack. Detaching a stack detaches all its applications from the template. The call is idempotent. For an application that did not come from a template, or a stack assembled by hand, it answers `,_jsx(_components.code,{children:`404`}),` with `,_jsx(_components.code,{children:`TEMPLATE_NOT_FOUND`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`An application or stack of a `,_jsx(_components.a,{href:`/templates/use/closed-templates`,children:`closed template`}),` cannot be detached: the call fails with `,_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`, with `,_jsx(_components.code,{children:`details.action`}),` set to `,_jsx(_components.code,{children:`detach`}),`. A stack with one closed service cannot be detached either.`]}),`\n`,_jsxs(_components.p,{children:[`The application route needs the `,_jsx(_components.code,{children:`apps:write`}),` scope and the stack route needs `,_jsx(_components.code,{children:`stacks:write`}),`, when called with an API key.`]}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`The application ID, on the application route.`})}),`\n`,_jsx(ParamField,{path:`stack_id`,type:`string`,required:true,id:`param-stack-id`,children:_jsx(_components.p,{children:`The stack ID, on the stack route.`})}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsx(_components.p,{children:`If the application or stack belongs to a workspace, the workspace’s ID.`})}),`\n`,`\n`,_jsx(Heading,{level:`3`,id:`response`,children:`Response`}),`\n`,_jsxs(ResponseField,{name:`response`,type:`object`,id:`param-response`,children:[_jsxs(_components.p,{children:[`The application (see `,_jsx(_components.a,{href:`/api-reference/endpoint/apps/get`,children:`Get Application`}),`) or the stack. The origin of the resource is in `,_jsx(_components.code,{children:`template`}),`, and it now has `,_jsx(_components.code,{children:`detached: true`}),`.`]}),_jsxs(Expandable,{title:`template object`,children:[_jsx(ResponseField,{name:`template_id`,type:`string`,id:`param-template-id`,children:_jsx(_components.p,{children:`The template ID.`})}),_jsx(ResponseField,{name:`slug`,type:`string`,id:`param-slug`,children:_jsx(_components.p,{children:`The template slug.`})}),_jsx(ResponseField,{name:`name`,type:`object`,id:`param-name`,children:_jsx(_components.p,{children:`The template name by language.`})}),_jsx(ResponseField,{name:`origin`,type:`string`,id:`param-origin`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`vertra`}),`, `,_jsx(_components.code,{children:`community`}),` or `,_jsx(_components.code,{children:`private`}),`.`]})}),_jsx(ResponseField,{name:`version_id`,type:`string`,id:`param-version-id`,children:_jsx(_components.p,{children:`The ID of the version the resource was created from or last updated to.`})}),_jsx(ResponseField,{name:`version`,type:`string`,id:`param-version`,children:_jsx(_components.p,{children:`That version number.`})}),_jsx(ResponseField,{name:`closed`,type:`boolean`,id:`param-closed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` for an application of a closed template.`]})}),_jsx(ResponseField,{name:`detached`,type:`boolean`,id:`param-detached`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` after this call.`]})}),_jsx(ResponseField,{name:`update_available`,type:`boolean`,id:`param-update-available`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when there is a newer version the resource can update to.`]})}),_jsx(ResponseField,{name:`latest_version`,type:`string | null`,id:`param-latest-version`,children:_jsxs(_components.p,{children:[`The latest version, or `,_jsx(_components.code,{children:`null`}),`.`]})}),_jsx(ResponseField,{name:`removed`,type:`boolean`,id:`param-removed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when the author deleted the template.`]})}),_jsx(ResponseField,{name:`icon_url`,type:`string | null`,id:`param-icon-url`,children:_jsxs(_components.p,{children:[`The stable URL of the template icon, or `,_jsx(_components.code,{children:`null`}),` when there is none.`]})}),_jsx(ResponseField,{name:`via_share_link`,type:`boolean`,id:`param-via-share-link`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when the resource was created from a share link.`]})})]})]}),`\n`,`\n`,_jsx(Heading,{level:`3`,id:`changing-the-code-detaches-the-application`,children:`Changing the code detaches the application`}),`\n`,_jsxs(_components.p,{children:[`An application of an open template (one whose permissions let you edit code) is detached when you change its code. The routes that do it ask you to confirm first. Without `,_jsx(_components.code,{children:`confirm_detach`}),` set to `,_jsx(_components.code,{children:`true`}),`, the request changes nothing and fails with `,_jsx(_components.code,{children:`409`}),` and `,_jsx(_components.code,{children:`TEMPLATE_DETACH_CONFIRMATION_REQUIRED`}),`; with it, the change is made and, when it succeeds, the application is detached. The field is ignored for an application that did not come from a template.`]}),`\n`,_jsxs(_components.p,{children:[`The routes are the ones that write files (`,_jsx(_components.code,{children:`PUT`}),`, `,_jsx(_components.code,{children:`PATCH`}),` and `,_jsx(_components.code,{children:`DELETE`}),` on `,_jsx(_components.code,{children:`/v1/apps/{id}/files`}),`), the file upload, the GitHub link of the application and the commit of the container to an image. Send `,_jsx(_components.code,{children:`confirm_detach`}),` as a boolean in the JSON body, as a text part of a multipart body, or as the query `,_jsx(_components.code,{children:`confirm_detach=true`}),` on any of them.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`details`}),` of the error say which action asked for the confirmation:`]}),`\n`,_jsx(ResponseField,{name:`details.action`,type:`string`,id:`param-details-action`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`files.write`}),` (changing files), `,_jsx(_components.code,{children:`deploy.code`}),` (uploading code), `,_jsx(_components.code,{children:`deploy.github`}),` (linking a repository) or `,_jsx(_components.code,{children:`commit`}),` (committing the container to an image).`]})}),`\n`,_jsx(CodeBlock,{filename:`Confirming a file change`,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.vertracloud.app/v1/apps/app-abc123def456/files?confirm_detach=true\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERTRA_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"path\": \"src/index.js\", \"content\": \"...\" }'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`An application of a closed template does not ask: the same routes are refused with `,_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`, and the code stays out of reach. Read the details in `,_jsx(_components.a,{href:`/templates/use/closed-templates`,children:`Closed templates`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`The error code indicating the reason for the failure. Possible values:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: The API key does not have the `,_jsx(_components.code,{children:`apps:write`}),` scope (application route) or `,_jsx(_components.code,{children:`stacks:write`}),` (stack route) (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_NOT_FOUND`}),`: The application or stack did not come from a template (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_FOUND`}),` or `,_jsx(_components.code,{children:`STACK_NOT_FOUND`}),`: The application or stack does not exist or is not yours.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`: The template is closed, so it cannot be detached (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_DETACH_CONFIRMATION_REQUIRED`}),`: A route that changes code was called without `,_jsx(_components.code,{children:`confirm_detach`}),` (`,_jsx(_components.code,{children:`409`}),`). Nothing was changed.`]}),`\n`]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Detach an Application or Stack from a Template","sidebarTitle":"Detach","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/detach","authMethod":"bearer","description":"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.","href":"/api-reference/endpoint/templates/detach"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Detaching makes an application or a stack an ordinary one: it keeps running as it is, but it no longer sees new versions of the template and cannot be updated from it. It cannot be undone. This page covers the two detach routes and the `,_jsx(_components.code,{children:`confirm_detach`}),` rule that detaches an application when you change its code.`]}),`\n`,_jsxs(_components.p,{children:[`There are two routes: `,_jsx(_components.code,{children:`POST /v1/apps/{id}/template/detach`}),` for an application and `,_jsx(_components.code,{children:`POST /v1/stacks/{stack_id}/template/detach`}),` for a stack. Detaching a stack detaches all its applications from the template. The call is idempotent. For an application that did not come from a template, or a stack assembled by hand, it answers `,_jsx(_components.code,{children:`404`}),` with `,_jsx(_components.code,{children:`TEMPLATE_NOT_FOUND`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`An application or stack of a `,_jsx(_components.a,{href:`/templates/use/closed-templates`,children:`closed template`}),` cannot be detached: the call fails with `,_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`, with `,_jsx(_components.code,{children:`details.action`}),` set to `,_jsx(_components.code,{children:`detach`}),`. A stack with one closed service cannot be detached either.`]}),`\n`,_jsxs(_components.p,{children:[`The application route needs the `,_jsx(_components.code,{children:`apps:write`}),` scope and the stack route needs `,_jsx(_components.code,{children:`stacks:write`}),`, when called with an API key.`]}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`The application ID, on the application route.`})}),`\n`,_jsx(ParamField,{path:`stack_id`,type:`string`,required:true,id:`param-stack-id`,children:_jsx(_components.p,{children:`The stack ID, on the stack route.`})}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsx(_components.p,{children:`If the application or stack belongs to a workspace, the workspace’s ID.`})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.vertracloud.app/v1/apps/app-abc123def456/template/detach`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERTRA_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`response`,children:`Response`}),`\n`,_jsxs(ResponseField,{name:`response`,type:`object`,id:`param-response`,children:[_jsxs(_components.p,{children:[`The application (see `,_jsx(_components.a,{href:`/api-reference/endpoint/apps/get`,children:`Get Application`}),`) or the stack. The origin of the resource is in `,_jsx(_components.code,{children:`template`}),`, and it now has `,_jsx(_components.code,{children:`detached: true`}),`.`]}),_jsxs(Expandable,{title:`template object`,children:[_jsx(ResponseField,{name:`template_id`,type:`string`,id:`param-template-id`,children:_jsx(_components.p,{children:`The template ID.`})}),_jsx(ResponseField,{name:`slug`,type:`string`,id:`param-slug`,children:_jsx(_components.p,{children:`The template slug.`})}),_jsx(ResponseField,{name:`name`,type:`object`,id:`param-name`,children:_jsx(_components.p,{children:`The template name by language.`})}),_jsx(ResponseField,{name:`origin`,type:`string`,id:`param-origin`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`vertra`}),`, `,_jsx(_components.code,{children:`community`}),` or `,_jsx(_components.code,{children:`private`}),`.`]})}),_jsx(ResponseField,{name:`version_id`,type:`string`,id:`param-version-id`,children:_jsx(_components.p,{children:`The ID of the version the resource was created from or last updated to.`})}),_jsx(ResponseField,{name:`version`,type:`string`,id:`param-version`,children:_jsx(_components.p,{children:`That version number.`})}),_jsx(ResponseField,{name:`closed`,type:`boolean`,id:`param-closed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` for an application of a closed template.`]})}),_jsx(ResponseField,{name:`detached`,type:`boolean`,id:`param-detached`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` after this call.`]})}),_jsx(ResponseField,{name:`update_available`,type:`boolean`,id:`param-update-available`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when there is a newer version the resource can update to.`]})}),_jsx(ResponseField,{name:`latest_version`,type:`string | null`,id:`param-latest-version`,children:_jsxs(_components.p,{children:[`The latest version, or `,_jsx(_components.code,{children:`null`}),`.`]})}),_jsx(ResponseField,{name:`removed`,type:`boolean`,id:`param-removed`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when the author deleted the template.`]})}),_jsx(ResponseField,{name:`icon_url`,type:`string | null`,id:`param-icon-url`,children:_jsxs(_components.p,{children:[`The stable URL of the template icon, or `,_jsx(_components.code,{children:`null`}),` when there is none.`]})}),_jsx(ResponseField,{name:`via_share_link`,type:`boolean`,id:`param-via-share-link`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when the resource was created from a share link.`]})})]})]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response`,numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"response\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"app-abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"support-bot\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tpl-abc123def456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"slug\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"support-bot\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"pt-br\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bot de suporte\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Support bot\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"origin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"private\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"version_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"tplv-111222333444\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.0.0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"closed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"detached\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"update_available\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"latest_version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"removed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"via_share_link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`changing-the-code-detaches-the-application`,children:`Changing the code detaches the application`}),`\n`,_jsxs(_components.p,{children:[`An application of an open template (one whose permissions let you edit code) is detached when you change its code. The routes that do it ask you to confirm first. Without `,_jsx(_components.code,{children:`confirm_detach`}),` set to `,_jsx(_components.code,{children:`true`}),`, the request changes nothing and fails with `,_jsx(_components.code,{children:`409`}),` and `,_jsx(_components.code,{children:`TEMPLATE_DETACH_CONFIRMATION_REQUIRED`}),`; with it, the change is made and, when it succeeds, the application is detached. The field is ignored for an application that did not come from a template.`]}),`\n`,_jsxs(_components.p,{children:[`The routes are the ones that write files (`,_jsx(_components.code,{children:`PUT`}),`, `,_jsx(_components.code,{children:`PATCH`}),` and `,_jsx(_components.code,{children:`DELETE`}),` on `,_jsx(_components.code,{children:`/v1/apps/{id}/files`}),`), the file upload, the GitHub link of the application and the commit of the container to an image. Send `,_jsx(_components.code,{children:`confirm_detach`}),` as a boolean in the JSON body, as a text part of a multipart body, or as the query `,_jsx(_components.code,{children:`confirm_detach=true`}),` on any of them.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`details`}),` of the error say which action asked for the confirmation:`]}),`\n`,_jsx(ResponseField,{name:`details.action`,type:`string`,id:`param-details-action`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`files.write`}),` (changing files), `,_jsx(_components.code,{children:`deploy.code`}),` (uploading code), `,_jsx(_components.code,{children:`deploy.github`}),` (linking a repository) or `,_jsx(_components.code,{children:`commit`}),` (committing the container to an image).`]})}),`\n`,_jsx(CodeBlock,{filename:`Confirming a file change`,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.vertracloud.app/v1/apps/app-abc123def456/files?confirm_detach=true\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERTRA_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"path\": \"src/index.js\", \"content\": \"...\" }'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`An application of a closed template does not ask: the same routes are refused with `,_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`, and the code stays out of reach. Read the details in `,_jsx(_components.a,{href:`/templates/use/closed-templates`,children:`Closed templates`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`The error code indicating the reason for the failure. Possible values:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: The API key does not have the `,_jsx(_components.code,{children:`apps:write`}),` scope (application route) or `,_jsx(_components.code,{children:`stacks:write`}),` (stack route) (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_NOT_FOUND`}),`: The application or stack did not come from a template (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_FOUND`}),` or `,_jsx(_components.code,{children:`STACK_NOT_FOUND`}),`: The application or stack does not exist or is not yours.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_CLOSED`}),`: The template is closed, so it cannot be detached (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_DETACH_CONFIRMATION_REQUIRED`}),`: A route that changes code was called without `,_jsx(_components.code,{children:`confirm_detach`}),` (`,_jsx(_components.code,{children:`409`}),`). Nothing was changed.`]}),`\n`]})]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Error Response`,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TEMPLATE_DETACH_CONFIRMATION_REQUIRED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"files.write\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Detach an Application or Stack from a Template","sidebarTitle":"Detach","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/detach","authMethod":"bearer","description":"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.","href":"/api-reference/endpoint/templates/detach"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Response","slug":"response","depth":3,"children":[]},{"title":"Changing the code detaches the application","slug":"changing-the-code-detaches-the-application","depth":3,"children":[]},{"title":"Error Responses","slug":"error-responses","depth":3,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"2\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://api.vertracloud.app/v1/apps/app-abc123def456/template/detach\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$VERTRA_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Response","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"20\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"response\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"app-abc123def456\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"support-bot\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"template\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"template_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"tpl-abc123def456\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"slug\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"support-bot\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"pt-br\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Bot de suporte\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"en\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Support bot\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"origin\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"private\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"version_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"tplv-111222333444\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"version\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"1.0.0\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"closed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"detached\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"update_available\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"latest_version\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"removed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"via_share_link\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Detach an Application or Stack from a Template","path":"/v1/apps/{id}/template/detach","servers":[{"url":"https://api.vertracloud.app"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{"workspace_id":{"schema":[{"type":"string","description":"If the application or stack belongs to a workspace, the workspace’s ID."}]}},"header":{},"cookie":{},"path":{"id":{"schema":[{"type":"string","description":"The application ID, on the application route.","required":true}]},"stack_id":{"schema":[{"type":"string","description":"The stack ID, on the stack route.","required":true}]}}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"response":[{"type":"object","properties":{"template_id":[{"type":"string","description":"The template ID."}],"slug":[{"type":"string","description":"The template slug."}],"name":[{"type":"object","properties":{},"description":"The template name by language."}],"origin":[{"type":"string","description":"`vertra` , `community` or `private` ."}],"version_id":[{"type":"string","description":"The ID of the version the resource was created from or last updated to."}],"version":[{"type":"string","description":"That version number."}],"closed":[{"type":"boolean","description":"`true` for an application of a closed template."}],"detached":[{"type":"boolean","description":"`true` after this call."}],"update_available":[{"type":"boolean","description":"`true` when there is a newer version the resource can update to."}],"latest_version":[{"type":"object","properties":{},"description":"The latest version, or `null` ."}],"removed":[{"type":"boolean","description":"`true` when the author deleted the template."}],"icon_url":[{"type":"object","properties":{},"description":"The stable URL of the template icon, or `null` when there is none."}],"via_share_link":[{"type":"boolean","description":"`true` when the resource was created from a share link."}]},"description":"The application (see Get Application ) or the stack. The origin of the resource is in `template` , and it now has `detached: true` ."}],"details.action":[{"type":"string","description":"`files.write` (changing files), `deploy.code` (uploading code), `deploy.github` (linking a repository) or `commit` (committing the container to an image)."}],"code":[{"type":"string","description":"The error code indicating the reason for the failure. Possible values: `API_KEY_SCOPE_DENIED` : The API key does not have the `apps:write` scope (application route) or `stacks:write` (stack route) ( `403` ). `TEMPLATE_NOT_FOUND` : The application or stack did not come from a template ( `404` ). `APP_NOT_FOUND` or `STACK_NOT_FOUND` : The application or stack does not exist or is not yours. `TEMPLATE_CLOSED` : The template is closed, so it cannot be detached ( `403` ). `TEMPLATE_DETACH_CONFIRMATION_REQUIRED` : A route that changes code was called without `confirm_detach` ( `409` ). Nothing was changed."}]}}],"examples":{"example":{"value":{"response":{"template_id":"\u003cstring>","slug":"\u003cstring>","name":{},"origin":"\u003cstring>","version_id":"\u003cstring>","version":"\u003cstring>","closed":true,"detached":true,"update_available":true,"latest_version":{},"removed":true,"icon_url":{},"via_share_link":true},"details.action":"\u003cstring>","code":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"vertracloud","siteName":"Vertra Cloud","title":"Detach an Application or Stack from a Template - Vertra Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/endpoint/templates/detach","matchLevel":0},"pt-BR":{"href":"/pt-br/api-reference/endpoint/templates/detach","matchLevel":1},"es":{"href":"/es-es","matchLevel":4}}},"lastModified":"2026-10-30T22:45:18.890Z","gitLastModified":"2026-10-28T22:06:31.000Z","originalFileLocation":"api-reference/endpoint/templates/detach.mdx","locale":"en"},"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=\"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Detach an Application or Stack from a Template - Vertra Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vertra Cloud Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.vertracloud.app/images/og.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Detach an Application or Stack from a Template - Vertra Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.vertracloud.app/images/og.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6100\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/templates/detach.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/templates/detach\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vertracloud.app/#organization\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vertracloud.app#website\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach#webpage\",\"url\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\",\"name\":\"Detach an Application or Stack from a Template\",\"description\":\"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.vertracloud.app/api-reference/endpoint/users/me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Templates\",\"item\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/list\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Detach an Application or Stack from a Template\",\"item\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach#apireference\",\"headline\":\"Detach an Application or Stack from a Template\",\"name\":\"Detach an Application or Stack from a Template\",\"description\":\"Detaches an application or stack from its template so it stops receiving versions, and the confirm_detach rule of the routes that change code.\",\"url\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/detach#webpage\"},\"image\":\"https://docs.vertracloud.app/images/og.png\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vertra Cloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vertra Cloud","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":""}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/applications"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorials/introduction"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/custom-domain"}]},{"tab":"Tools","pages":[{"title":"Tools","href":"/cli"}]},{"tab":"Blob Storage","pages":[{"title":"Blob Storage","href":"/blob/overview"}]},{"tab":"Templates","pages":[{"title":"Templates","href":"/templates/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","icon":"book","pages":[{"title":"Vertra Cloud Public API Reference","sidebarTitle":"Public API","href":"/api-reference/introduction"},{"title":"Platform Limits and Quotas on Vertra Cloud","sidebarTitle":"Limitations","href":"/api-reference/limitations"},{"title":"Vertra Cloud API Error Codes","sidebarTitle":"Error Codes","href":"/api-reference/errors"}]},{"group":"Endpoints","icon":"plug","pages":[{"group":"Users","icon":"user","pages":[{"title":"User Information","sidebarTitle":"User Info","api":"GET https://api.vertracloud.app/v1/users/me","href":"/api-reference/endpoint/users/me"},{"title":"Update User Profile","sidebarTitle":"Update Profile","api":"PATCH https://api.vertracloud.app/v1/users/me","href":"/api-reference/endpoint/users/update-me"},{"title":"List All Snapshots of the Account","sidebarTitle":"All Snapshots","api":"GET https://api.vertracloud.app/v1/users/snapshots","href":"/api-reference/endpoint/users/snapshots"},{"title":"Personal Resource Organization","sidebarTitle":"Folders and favorites","href":"/api-reference/endpoint/users/resource-organization"},{"title":"List Sessions","sidebarTitle":"Sessions","api":"GET https://api.vertracloud.app/v1/users/me/sessions","href":"/api-reference/endpoint/users/sessions"}]},{"group":"Status","icon":"heart-pulse","pages":[{"title":"Check Infrastructure Status","sidebarTitle":"Check Status","api":"GET https://api.vertracloud.app/v1/status","href":"/api-reference/endpoint/services/status"}]},{"group":"Applications","icon":"rocket","pages":[{"title":"Application Details","sidebarTitle":"Get Application","api":"GET https://api.vertracloud.app/v1/apps/{id}","href":"/api-reference/endpoint/apps/get"},{"title":"Application Status","sidebarTitle":"Get Application Status","api":"GET https://api.vertracloud.app/v1/apps/{id}/status","href":"/api-reference/endpoint/apps/status"},{"title":"All Applications Status","sidebarTitle":"All Applications Status","api":"GET https://api.vertracloud.app/v1/apps/status","href":"/api-reference/endpoint/apps/allstatus"},{"title":"List Runtimes","sidebarTitle":"Runtimes","api":"GET https://api.vertracloud.app/v1/apps/runtimes","href":"/api-reference/endpoint/apps/runtimes"},{"title":"Application Metrics","sidebarTitle":"Application Metrics","api":"GET https://api.vertracloud.app/v1/apps/{id}/metrics","href":"/api-reference/endpoint/apps/metrics"},{"title":"Real-Time Application Logs","sidebarTitle":"Real-Time Application Logs","api":"GET https://api.vertracloud.app/v1/apps/{id}/realtime","href":"/api-reference/endpoint/apps/realtime"},{"title":"Download Application","sidebarTitle":"Download Application","api":"GET https://api.vertracloud.app/v1/apps/{id}/download","href":"/api-reference/endpoint/apps/download"},{"title":"Application Logs","sidebarTitle":"Application Logs","api":"GET https://api.vertracloud.app/v1/apps/{id}/logs","href":"/api-reference/endpoint/apps/logs"},{"title":"Create Application","sidebarTitle":"Create Application","api":"POST https://api.vertracloud.app/v1/apps","href":"/api-reference/endpoint/apps/create"},{"title":"Create Application from Image","sidebarTitle":"Create from Image","api":"POST https://api.vertracloud.app/v1/apps/image","href":"/api-reference/endpoint/apps/create-from-image"},{"title":"Start Application","sidebarTitle":"Start Application","api":"POST https://api.vertracloud.app/v1/apps/{id}/start","href":"/api-reference/endpoint/apps/start"},{"title":"Restart Application","sidebarTitle":"Restart Application","api":"POST https://api.vertracloud.app/v1/apps/{id}/restart","href":"/api-reference/endpoint/apps/restart"},{"title":"Stop Application","sidebarTitle":"Stop Application","api":"POST https://api.vertracloud.app/v1/apps/{id}/stop","href":"/api-reference/endpoint/apps/stop"},{"title":"Update Application Configuration","sidebarTitle":"Update Configuration","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/config","href":"/api-reference/endpoint/apps/updateconfig"},{"title":"Delete Application","sidebarTitle":"Delete Application","api":"DELETE https://api.vertracloud.app/v1/apps/{id}","href":"/api-reference/endpoint/apps/delete"},{"group":"Network","icon":"globe","pages":[{"title":"Publish Application on the Web","sidebarTitle":"Publish / Unpublish","api":"POST https://api.vertracloud.app/v1/apps/{id}/network/publish","href":"/api-reference/endpoint/apps/network/publish"},{"title":"Change Application Subdomain","sidebarTitle":"Change Subdomain","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/network/subdomain","href":"/api-reference/endpoint/apps/network/subdomain"},{"title":"Purge Cache","sidebarTitle":"Purge Cache","api":"POST https://api.vertracloud.app/v1/apps/{id}/network/purge-cache","href":"/api-reference/endpoint/apps/network/purgecache"}]},{"group":"Domains","icon":"link","pages":[{"title":"List Application Domains","sidebarTitle":"List Domains","api":"GET https://api.vertracloud.app/v1/apps/{id}/domains","href":"/api-reference/endpoint/apps/domains/list"},{"title":"Add Application Domain","sidebarTitle":"Add Domain","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains","href":"/api-reference/endpoint/apps/domains/create"},{"title":"Update Application Domain","sidebarTitle":"Update Domain","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}","href":"/api-reference/endpoint/apps/domains/update"},{"title":"Remove Application Domain","sidebarTitle":"Remove Domain","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}","href":"/api-reference/endpoint/apps/domains/delete"},{"title":"Domain DNS Records","sidebarTitle":"Domain DNS Records","api":"GET https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}/dns","href":"/api-reference/endpoint/apps/domains/dns"},{"title":"Configure Domain Automatically","sidebarTitle":"Configure Automatically","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}/connect","href":"/api-reference/endpoint/apps/domains/connect"}]},{"group":"File Manager","icon":"folder-open","pages":[{"title":"Get Application File Content","sidebarTitle":"Get File Content","api":"GET https://api.vertracloud.app/v1/apps/{id}/files/content","href":"/api-reference/endpoint/apps/filemanager/content"},{"title":"Get Application Files","sidebarTitle":"Get Files","api":"GET https://api.vertracloud.app/v1/apps/{id}/files","href":"/api-reference/endpoint/apps/filemanager/files"},{"title":"Get Application File Tree","sidebarTitle":"Get File Tree","api":"GET https://api.vertracloud.app/v1/apps/{id}/files/tree","href":"/api-reference/endpoint/apps/filemanager/tree"},{"title":"Upload Files to Application","sidebarTitle":"Upload Files","api":"POST https://api.vertracloud.app/v1/apps/{id}/files/upload","href":"/api-reference/endpoint/apps/filemanager/upload"},{"title":"Delete Application File or Folder","sidebarTitle":"Delete File or Folder","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/files","href":"/api-reference/endpoint/apps/filemanager/delete"},{"title":"Move Application File or Folder","sidebarTitle":"Move File or Folder","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/files","href":"/api-reference/endpoint/apps/filemanager/move"},{"title":"Create or Update Application File or Folder","sidebarTitle":"Create/Update File or Folder","api":"PUT https://api.vertracloud.app/v1/apps/{id}/files","href":"/api-reference/endpoint/apps/filemanager/save"}]},{"group":"Environments","icon":"key","pages":[{"title":"Get Application Environment Variables","sidebarTitle":"Get Environment Variables","api":"GET https://api.vertracloud.app/v1/apps/{id}/envs","href":"/api-reference/endpoint/apps/enviroments/get"},{"title":"Delete an Application Environment Variable","sidebarTitle":"Delete Environment Variable","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/envs/{envId}","href":"/api-reference/endpoint/apps/enviroments/delete"},{"title":"Create or Edit Application Environment Variables","sidebarTitle":"Create/Edit Environment Variables","api":"POST https://api.vertracloud.app/v1/apps/{id}/envs","href":"/api-reference/endpoint/apps/enviroments/createOrEdit"}]},{"group":"Snapshots","icon":"camera","pages":[{"title":"Get Application Snapshots","sidebarTitle":"Get Snapshots","api":"GET https://api.vertracloud.app/v1/users/{id}/snapshots","href":"/api-reference/endpoint/apps/snapshots/getall"},{"title":"Create Application Snapshot","sidebarTitle":"Create Snapshot","api":"POST https://api.vertracloud.app/v1/users/{id}/snapshots","href":"/api-reference/endpoint/apps/snapshots/create"},{"title":"Restore Application Snapshot","sidebarTitle":"Restore Snapshot","api":"POST https://api.vertracloud.app/v1/users/{id}/snapshots/{snapshot_id}/restore","href":"/api-reference/endpoint/apps/snapshots/restore"},{"title":"Download Application Snapshot","sidebarTitle":"Download Snapshot","api":"GET https://api.vertracloud.app/v1/users/{id}/snapshots/{snapshot_id}/download","href":"/api-reference/endpoint/apps/snapshots/download"}]},{"group":"Deploys","icon":"code-branch","pages":[{"title":"Get Deploy Webhook URL","sidebarTitle":"Get Webhook URL","api":"GET https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/api-reference/endpoint/apps/deploys/webhookurl"},{"title":"Get Recent Deployments","sidebarTitle":"Recent Deployments","api":"GET https://api.vertracloud.app/v1/apps/{app_id}/deploys","href":"/api-reference/endpoint/apps/deploys/recents"},{"title":"Delete Deploy Webhook","sidebarTitle":"Delete Webhook","api":"DELETE https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/api-reference/endpoint/apps/deploys/delete"},{"title":"Create Deploy Webhook","sidebarTitle":"Create Webhook","api":"POST https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/api-reference/endpoint/apps/deploys/create"}]},{"group":"Releases","icon":"clock-rotate-left","pages":[{"title":"List Application Releases","sidebarTitle":"List Releases","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases","href":"/api-reference/endpoint/apps/releases/list"},{"title":"Get Application Release Log","sidebarTitle":"Get Release Log","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/log","href":"/api-reference/endpoint/apps/releases/log"},{"title":"Preview Application Rollback","sidebarTitle":"Preview Rollback","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/rollback","href":"/api-reference/endpoint/apps/releases/rollback-preview"},{"title":"Roll Back Application to a Release","sidebarTitle":"Roll Back","api":"POST https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/rollback","href":"/api-reference/endpoint/apps/releases/rollback"}]}]},{"group":"Docker Images","icon":"docker","pages":[{"title":"List Images","sidebarTitle":"List Images","api":"GET https://api.vertracloud.app/v1/images","href":"/api-reference/endpoint/images/list"},{"title":"Get Image","sidebarTitle":"Get Image","api":"GET https://api.vertracloud.app/v1/images/{image_id}","href":"/api-reference/endpoint/images/get"},{"title":"Check Dockerfile","sidebarTitle":"Check Dockerfile","api":"POST https://api.vertracloud.app/v1/images/check","href":"/api-reference/endpoint/images/check"},{"title":"Create Image","sidebarTitle":"Create Image","api":"POST https://api.vertracloud.app/v1/images","href":"/api-reference/endpoint/images/create"},{"title":"Update Image","sidebarTitle":"Update Image","api":"PATCH https://api.vertracloud.app/v1/images/{image_id}","href":"/api-reference/endpoint/images/update"},{"title":"Rebuild Image","sidebarTitle":"Rebuild Image","api":"PUT https://api.vertracloud.app/v1/images/{image_id}","href":"/api-reference/endpoint/images/rebuild"},{"title":"List Image Versions","sidebarTitle":"List Versions","api":"GET https://api.vertracloud.app/v1/images/{image_id}/versions","href":"/api-reference/endpoint/images/versions"},{"title":"Image Build Logs","sidebarTitle":"Build Logs","api":"GET https://api.vertracloud.app/v1/images/{image_id}/logs","href":"/api-reference/endpoint/images/logs"},{"title":"Download Image Context","sidebarTitle":"Download Context","api":"GET https://api.vertracloud.app/v1/images/{image_id}/context","href":"/api-reference/endpoint/images/context"},{"title":"Link Image to GitHub","sidebarTitle":"Link GitHub","api":"PUT https://api.vertracloud.app/v1/images/{image_id}/github","href":"/api-reference/endpoint/images/github-link"},{"title":"Unlink Image from GitHub","sidebarTitle":"Unlink GitHub","api":"DELETE https://api.vertracloud.app/v1/images/{image_id}/github","href":"/api-reference/endpoint/images/github-unlink"},{"title":"Delete Image","sidebarTitle":"Delete Image","api":"DELETE https://api.vertracloud.app/v1/images/{image_id}","href":"/api-reference/endpoint/images/delete"}]},{"group":"Templates","icon":"shapes","pages":[{"title":"List Templates","sidebarTitle":"List Templates","api":"GET https://api.vertracloud.app/v1/templates","href":"/api-reference/endpoint/templates/list"},{"title":"List Template Categories","sidebarTitle":"List Categories","api":"GET https://api.vertracloud.app/v1/templates/categories","href":"/api-reference/endpoint/templates/categories"},{"title":"Get Template","sidebarTitle":"Get Template","api":"GET https://api.vertracloud.app/v1/templates/{template_id}","href":"/api-reference/endpoint/templates/get"},{"title":"List Template Versions","sidebarTitle":"List Versions","api":"GET https://api.vertracloud.app/v1/templates/{template_id}/versions","href":"/api-reference/endpoint/templates/versions"},{"title":"Validate Template Manifest","sidebarTitle":"Validate Manifest","api":"POST https://api.vertracloud.app/v1/templates/validate","href":"/api-reference/endpoint/templates/validate"},{"title":"Deploy Template","sidebarTitle":"Deploy Template","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/deploy","href":"/api-reference/endpoint/templates/deploy"},{"title":"Get Template Deploy Job","sidebarTitle":"Get Deploy Job","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}","href":"/api-reference/endpoint/templates/deploy-status"},{"title":"Stream Template Deploy Events","sidebarTitle":"Deploy Events","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}/events","href":"/api-reference/endpoint/templates/deploy-events"},{"title":"Get Template Update Info","sidebarTitle":"Update Info","api":"GET https://api.vertracloud.app/v1/apps/{id}/template/update","href":"/api-reference/endpoint/templates/update-info"},{"title":"Update a Template or Move an App to Its Latest Version","sidebarTitle":"Update Template","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/update","href":"/api-reference/endpoint/templates/update"},{"title":"Create a Private Template","sidebarTitle":"Create Template","api":"POST https://api.vertracloud.app/v1/templates","href":"/api-reference/endpoint/templates/create"},{"title":"Save an Application as a Template","sidebarTitle":"Create from App","api":"POST https://api.vertracloud.app/v1/templates/from-app/{app_id}","href":"/api-reference/endpoint/templates/create-from-app"},{"title":"Save a Stack as a Template","sidebarTitle":"Create from Stack","api":"POST https://api.vertracloud.app/v1/templates/from-stack/{stack_id}","href":"/api-reference/endpoint/templates/create-from-stack"},{"title":"Review the Draft of a Template from an App or Stack","sidebarTitle":"Review Draft","api":"GET https://api.vertracloud.app/v1/templates/from-app/{app_id}/draft","href":"/api-reference/endpoint/templates/draft"},{"title":"Publish a New Version of a Private Template","sidebarTitle":"New Version","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/versions","href":"/api-reference/endpoint/templates/new-version"},{"title":"Delete a Private Template","sidebarTitle":"Delete Template","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}","href":"/api-reference/endpoint/templates/delete"},{"title":"Link a Private Template to GitHub","sidebarTitle":"Link GitHub","api":"PUT https://api.vertracloud.app/v1/templates/{template_id}/github","href":"/api-reference/endpoint/templates/github-link"},{"title":"Unlink a Private Template from GitHub","sidebarTitle":"Unlink GitHub","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}/github","description":"Removes the link between a private template and its GitHub repository, so pushes no longer publish versions.","href":"/api-reference/endpoint/templates/github-unlink"},{"title":"Detach an Application or Stack from a Template","sidebarTitle":"Detach","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/detach","href":"/api-reference/endpoint/templates/detach"},{"group":"Share links","icon":"share-nodes","pages":[{"title":"Preview a Template Share Link","sidebarTitle":"Preview Link","api":"GET https://api.vertracloud.app/v1/share/templates/{token}","description":"Shows what a template share link gives before anyone uses it: services, memory, plan, questions and permissions, with the unverified notice.","href":"/api-reference/endpoint/templates/share-links/preview"},{"title":"Use a Template Share Link to Create Applications","sidebarTitle":"Use Link","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/deploy","href":"/api-reference/endpoint/templates/share-links/deploy"},{"title":"Copy a Template from a Full-Copy Share Link","sidebarTitle":"Copy from Link","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/copy","href":"/api-reference/endpoint/templates/share-links/copy"},{"title":"Report a Template","sidebarTitle":"Report Template","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/report","href":"/api-reference/endpoint/templates/share-links/report"},{"title":"Create a Share Link for a Template","sidebarTitle":"Create Link","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/share-links","href":"/api-reference/endpoint/templates/share-links/create"},{"title":"List the Share Links of a Template","sidebarTitle":"List Links","api":"GET https://api.vertracloud.app/v1/templates/{template_id}/share-links","href":"/api-reference/endpoint/templates/share-links/list"},{"title":"Revoke a Share Link","sidebarTitle":"Revoke Link","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}/share-links/{link_id}","href":"/api-reference/endpoint/templates/share-links/revoke"}]}]},{"group":"Stacks","icon":"layer-group","pages":[{"title":"List Stacks","sidebarTitle":"List Stacks","api":"GET https://api.vertracloud.app/v1/stacks","href":"/api-reference/endpoint/stacks/list"},{"title":"Get Stack","sidebarTitle":"Get Stack","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/api-reference/endpoint/stacks/get"},{"title":"Create Stack","sidebarTitle":"Create Stack","api":"POST https://api.vertracloud.app/v1/stacks","href":"/api-reference/endpoint/stacks/create"},{"title":"Update Stack","sidebarTitle":"Update Stack","api":"PATCH https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/api-reference/endpoint/stacks/update"},{"title":"Delete Stack","sidebarTitle":"Delete Stack","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/api-reference/endpoint/stacks/delete"},{"title":"Transform Folder into Stack","sidebarTitle":"Transform into Stack","api":"POST https://api.vertracloud.app/v1/stacks/transform","href":"/api-reference/endpoint/stacks/transform"},{"title":"Get Stack Connection Code","sidebarTitle":"Connection Code","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/connection","href":"/api-reference/endpoint/stacks/connection"},{"title":"Set Stack Network Mode","sidebarTitle":"Network Mode","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/network-mode","href":"/api-reference/endpoint/stacks/network-mode"},{"group":"Members","icon":"user-group","pages":[{"title":"Add Stack Member","sidebarTitle":"Add Member","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/members","href":"/api-reference/endpoint/stacks/members/add"},{"title":"Remove Stack Member","sidebarTitle":"Remove Member","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}/members/{resource_type}/{resource_id}","href":"/api-reference/endpoint/stacks/members/remove"}]},{"group":"Connections","icon":"arrows-left-right","pages":[{"title":"Create Stack Connection","sidebarTitle":"Create Connection","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/bindings","href":"/api-reference/endpoint/stacks/bindings/create"},{"title":"Delete Stack Connection","sidebarTitle":"Delete Connection","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}/bindings/{binding_id}","href":"/api-reference/endpoint/stacks/bindings/delete"},{"title":"List Stack Connections","sidebarTitle":"List Connections","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/bindings","href":"/api-reference/endpoint/stacks/bindings/list"},{"title":"Update Stack Connection","sidebarTitle":"Update Connection","api":"PATCH https://api.vertracloud.app/v1/stacks/{stack_id}/bindings/{binding_id}","href":"/api-reference/endpoint/stacks/bindings/update"}]},{"group":"Databases","icon":"database","pages":[{"title":"Add Database to Stack","sidebarTitle":"Add Database","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/databases","href":"/api-reference/endpoint/stacks/databases/create"}]},{"group":"Blob","icon":"box-archive","pages":[{"title":"Add Blob Folder to Stack","sidebarTitle":"Add Blob Folder","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/blob","href":"/api-reference/endpoint/stacks/blob/create"}]},{"group":"Snapshots","icon":"camera","pages":[{"title":"Create Stack Snapshot","sidebarTitle":"Create Snapshot","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots","href":"/api-reference/endpoint/stacks/snapshots/create"},{"title":"List Stack Snapshots","sidebarTitle":"List Snapshots","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots","href":"/api-reference/endpoint/stacks/snapshots/list"},{"title":"Restore Stack Snapshot","sidebarTitle":"Restore Snapshot","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots/{snapshot_id}/restore","href":"/api-reference/endpoint/stacks/snapshots/restore"}]}]},{"group":"Databases","icon":"database","pages":[{"title":"Create Database","sidebarTitle":"Create Database","api":"POST https://api.vertracloud.app/v1/databases","href":"/api-reference/endpoint/databases/create"},{"title":"Get Database by ID","sidebarTitle":"Get Database","api":"GET https://api.vertracloud.app/v1/databases/{id}","href":"/api-reference/endpoint/databases/get"},{"title":"List Database Versions","sidebarTitle":"Versions","api":"GET https://api.vertracloud.app/v1/databases/versions","href":"/api-reference/endpoint/databases/versions"},{"title":"Get Database Status by ID","sidebarTitle":"Get Database Status","api":"GET https://api.vertracloud.app/v1/databases/{id}/status","href":"/api-reference/endpoint/databases/status"},{"title":"Get All Databases Status","sidebarTitle":"All Databases Status","api":"GET https://api.vertracloud.app/v1/databases/status","href":"/api-reference/endpoint/databases/allstatus"},{"title":"Get Database Metrics by ID","sidebarTitle":"Get Database Metrics","api":"GET https://api.vertracloud.app/v1/databases/{id}/metrics","href":"/api-reference/endpoint/databases/metrics"},{"title":"Reset Database","sidebarTitle":"Reset Database","api":"POST https://api.vertracloud.app/v1/databases/{id}/reset","href":"/api-reference/endpoint/databases/reset"},{"title":"Start Database","sidebarTitle":"Start Database","api":"POST https://api.vertracloud.app/v1/databases/{id}/start","href":"/api-reference/endpoint/databases/start"},{"title":"Stop Database","sidebarTitle":"Stop Database","api":"POST https://api.vertracloud.app/v1/databases/{id}/stop","href":"/api-reference/endpoint/databases/stop"},{"title":"Update Database","sidebarTitle":"Update Database","api":"PUT https://api.vertracloud.app/v1/databases/{id}","href":"/api-reference/endpoint/databases/update"},{"title":"Delete Database","sidebarTitle":"Delete Database","api":"DELETE https://api.vertracloud.app/v1/databases/{id}","href":"/api-reference/endpoint/databases/delete"},{"group":"Credentials","icon":"lock","pages":[{"title":"Get Database Certificate","sidebarTitle":"Get Certificate","api":"GET https://api.vertracloud.app/v1/databases/{id}/credentials/certificate","href":"/api-reference/endpoint/databases/credentials/get"},{"title":"Reset Database Certificates","sidebarTitle":"Reset Certificates","api":"POST https://api.vertracloud.app/v1/databases/{id}/credentials/certificate/reset","href":"/api-reference/endpoint/databases/credentials/reset"},{"title":"Reset Database Password","sidebarTitle":"Reset Password","api":"POST https://api.vertracloud.app/v1/databases/{id}/credentials/reset","href":"/api-reference/endpoint/databases/credentials/resetpassword"}]}]},{"group":"Workspaces","icon":"users","pages":[{"title":"List Workspaces","sidebarTitle":"List","api":"GET https://api.vertracloud.app/v1/workspaces","href":"/api-reference/endpoint/workspaces/get-all"},{"title":"Get Workspace","sidebarTitle":"Get","api":"GET https://api.vertracloud.app/v1/workspaces/{id}","href":"/api-reference/endpoint/workspaces/get"},{"title":"Create Workspace","sidebarTitle":"Create","api":"POST https://api.vertracloud.app/v1/workspaces","href":"/api-reference/endpoint/workspaces/create"},{"title":"Update Workspace","sidebarTitle":"Update","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}","href":"/api-reference/endpoint/workspaces/update"},{"title":"Delete Workspace","sidebarTitle":"Delete","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}","href":"/api-reference/endpoint/workspaces/delete"},{"group":"Members","icon":"user-group","pages":[{"title":"List Members","sidebarTitle":"List","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/members","href":"/api-reference/endpoint/workspaces/members/list"},{"title":"Update Member","sidebarTitle":"Update","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}/members/{user_id}","href":"/api-reference/endpoint/workspaces/members/update"},{"title":"Remove Member","sidebarTitle":"Remove","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/members/{user_id}","href":"/api-reference/endpoint/workspaces/members/remove"}]},{"group":"Roles","icon":"id-badge","pages":[{"title":"List Roles","sidebarTitle":"List","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/roles","href":"/api-reference/endpoint/workspaces/roles/list"},{"title":"Create Role","sidebarTitle":"Create","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/roles","href":"/api-reference/endpoint/workspaces/roles/create"},{"title":"Update Role","sidebarTitle":"Update","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}/roles/{role_id}","href":"/api-reference/endpoint/workspaces/roles/update"},{"title":"Delete Role","sidebarTitle":"Delete","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/roles/{role_id}","href":"/api-reference/endpoint/workspaces/roles/delete"}]},{"group":"Invites","icon":"envelope","pages":[{"title":"List Invites","sidebarTitle":"List","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/invites","href":"/api-reference/endpoint/workspaces/invites/list"},{"title":"Revoke Invite","sidebarTitle":"Revoke","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/invites/{invite_id}","href":"/api-reference/endpoint/workspaces/invites/revoke"},{"title":"Preview Invite","sidebarTitle":"Preview","api":"GET https://api.vertracloud.app/v1/workspaces/invites/{token}","href":"/api-reference/endpoint/workspaces/invites/preview"},{"title":"Accept Invite","sidebarTitle":"Accept","api":"POST https://api.vertracloud.app/v1/workspaces/invites/{token}/accept","href":"/api-reference/endpoint/workspaces/invites/accept"},{"title":"Decline Invite","sidebarTitle":"Decline","api":"POST https://api.vertracloud.app/v1/workspaces/invites/{token}/decline","href":"/api-reference/endpoint/workspaces/invites/decline"}]},{"group":"Apps \u0026 Databases","icon":"window-maximize","pages":[{"title":"Link Application","sidebarTitle":"Link App","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/apps/{app_id}","href":"/api-reference/endpoint/workspaces/links/add-app"},{"title":"Unlink Application","sidebarTitle":"Unlink App","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/apps/{app_id}","href":"/api-reference/endpoint/workspaces/links/remove-app"},{"title":"Link Database","sidebarTitle":"Link Database","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/databases/{db_id}","href":"/api-reference/endpoint/workspaces/links/add-database"},{"title":"Unlink Database","sidebarTitle":"Unlink Database","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/databases/{db_id}","href":"/api-reference/endpoint/workspaces/links/remove-database"},{"title":"Link Template or Stack","sidebarTitle":"Link Template or Stack","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/templates/{template_id}","href":"/api-reference/endpoint/workspaces/links/add-template"},{"title":"Unlink Template or Stack","sidebarTitle":"Unlink Template or Stack","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/templates/{template_id}","href":"/api-reference/endpoint/workspaces/links/remove-template"}]},{"group":"Resource Organization","icon":"folder-tree","pages":[{"title":"Workspace Resource Organization","sidebarTitle":"Folders and favorites","href":"/api-reference/endpoint/workspaces/resource-organization"}]},{"group":"Action Requests","icon":"square-check","pages":[{"title":"List Action Requests","sidebarTitle":"List","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/action-requests","href":"/api-reference/endpoint/workspaces/action-requests/list"},{"title":"Create Action Request","sidebarTitle":"Create","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/action-requests","href":"/api-reference/endpoint/workspaces/action-requests/create"}]}]},{"group":"Billing","icon":"credit-card","pages":[{"title":"List Orders","sidebarTitle":"List Orders","api":"GET https://api.vertracloud.app/v1/orders","href":"/api-reference/endpoint/billing/list-orders"},{"title":"Get Order Status","sidebarTitle":"Order Status","api":"GET https://api.vertracloud.app/v1/orders/{orderId}/status","href":"/api-reference/endpoint/billing/order-status"},{"title":"Create Order","sidebarTitle":"Create Order","api":"POST https://api.vertracloud.app/v1/orders","href":"/api-reference/endpoint/billing/create-order"},{"title":"Initiate PIX Payment","sidebarTitle":"Initiate PIX","api":"POST https://api.vertracloud.app/v1/orders/{orderId}/initiate/pix","href":"/api-reference/endpoint/billing/initiate-pix"},{"title":"Get Billing Details","sidebarTitle":"Get Billing Details","api":"GET https://api.vertracloud.app/v1/users/me/billing","href":"/api-reference/endpoint/billing/get-billing-details"},{"title":"Update Billing Details","sidebarTitle":"Update Billing Details","api":"PUT https://api.vertracloud.app/v1/users/me/billing","href":"/api-reference/endpoint/billing/update-billing-details"}]},{"group":"Redeem","icon":"ticket","pages":[{"title":"Redeem Code","sidebarTitle":"Redeem Code","api":"POST https://api.vertracloud.app/v1/redeem/{code}","href":"/api-reference/endpoint/redeem/redeem"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}],"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://docs.vertracloud.app"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/vertracloud"},{"anchor":"Status","icon":"heart-pulse","href":"https://status.vertracloud.app"}]}},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"pages":[{"title":"pt-BR","href":"/pt-br/api-reference/endpoint/templates/detach"}]},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"pages":[{"title":"es","href":"/es-es"}]}]},"basePath":"","title":"Detach an Application or Stack from a Template - Vertra Cloud","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js"]}