Streams the progress of a deploy or update job so you do not have to poll. With an API key the scope is templates:deploy. Only the account that started the job can follow it; any other job ID is TEMPLATE_DEPLOY_NOT_FOUND.The response is a Server-Sent Events stream (text/event-stream), not JSON. It starts with the current state of the job and then sends a progress event every time the job changes. A heartbeat event arrives every 15 seconds while nothing changes, to keep the connection open. When the job reaches succeeded or failed, an end event closes the stream. Because the state comes from stored data, you can reconnect at any time and get the current state again.
The job is over and the stream closes. The data is { "deploy_id": "..." }.
Events never carry outputs, resources or variable values. When you receive end, read the job with Get Deploy Job to get the outputs. A secret output marked once is returned on that first read of the finished job.
The error code indicating the reason for the failure. Possible values:
VALIDATION_ERROR: deploy_id is not a valid ID (400).
API_KEY_SCOPE_DENIED: The API key does not have the templates:deploy scope (403).
TEMPLATE_DEPLOY_NOT_FOUND: The job does not exist or belongs to another account (404).
INTERNAL_SERVER_ERROR: Unexpected failure (500).
{ "code": "TEMPLATE_DEPLOY_NOT_FOUND"}
Last modified on October 28, 2026
{"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/deploy-events","slug":"/api-reference/endpoint/templates/deploy-events","pageMetadata":{"title":"Stream Template Deploy Events","sidebarTitle":"Deploy Events","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}/events","authMethod":"bearer","description":"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.","href":"/api-reference/endpoint/templates/deploy-events"},"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: \"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\"\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`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField,ResponseField}=_components;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:[`Streams the progress of a deploy or update job so you do not have to poll. With an API key the scope is `,_jsx(_components.code,{children:`templates:deploy`}),`. Only the account that started the job can follow it; any other job ID is `,_jsx(_components.code,{children:`TEMPLATE_DEPLOY_NOT_FOUND`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response is a `,_jsx(_components.strong,{children:`Server-Sent Events`}),` stream (`,_jsx(_components.code,{children:`text/event-stream`}),`), not JSON. It starts with the current state of the job and then sends a `,_jsx(_components.code,{children:`progress`}),` event every time the job changes. A `,_jsx(_components.code,{children:`heartbeat`}),` event arrives every 15 seconds while nothing changes, to keep the connection open. When the job reaches `,_jsx(_components.code,{children:`succeeded`}),` or `,_jsx(_components.code,{children:`failed`}),`, an `,_jsx(_components.code,{children:`end`}),` event closes the stream. Because the state comes from stored data, you can reconnect at any time and get the current state again.`]}),`\n`,_jsx(ParamField,{path:`deploy_id`,type:`string`,required:true,id:`param-deploy-id`,children:_jsx(_components.p,{children:`The ID of the job.`})}),`\n`,_jsx(Heading,{level:`3`,id:`events`,children:`Events`}),`\n`,_jsxs(ResponseField,{name:`progress`,type:`event`,id:`param-progress`,children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`data`}),` is one JSON object with the state of the job.`]}),_jsxs(Expandable,{title:`Toggle object`,children:[_jsx(ResponseField,{name:`deploy_id`,type:`string`,id:`param-deploy-id-1`,children:_jsx(_components.p,{children:`The job ID.`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`queued`}),`, `,_jsx(_components.code,{children:`running`}),`, `,_jsx(_components.code,{children:`undoing`}),`, `,_jsx(_components.code,{children:`succeeded`}),` or `,_jsx(_components.code,{children:`failed`}),`.`]})}),_jsx(ResponseField,{name:`current_step`,type:`string | null`,id:`param-current-step`,children:_jsxs(_components.p,{children:[`The step running now, or `,_jsx(_components.code,{children:`null`}),`.`]})}),_jsx(ResponseField,{name:`steps`,type:`object[]`,id:`param-steps`,children:_jsxs(_components.p,{children:[`The steps of the job with `,_jsx(_components.code,{children:`step`}),`, `,_jsx(_components.code,{children:`status`}),`, `,_jsx(_components.code,{children:`started_at`}),` and `,_jsx(_components.code,{children:`finished_at`}),`, as in `,_jsx(_components.a,{href:`/api-reference/endpoint/templates/deploy-status`,children:`Get Deploy Job`}),`.`]})}),_jsx(ResponseField,{name:`error`,type:`object | null`,id:`param-error`,children:_jsxs(_components.p,{children:[`The readable error (`,_jsx(_components.code,{children:`code`}),`, `,_jsx(_components.code,{children:`message`}),`, `,_jsx(_components.code,{children:`step`}),`) of a failed job, or `,_jsx(_components.code,{children:`null`}),`.`]})})]})]}),`\n`,_jsx(ResponseField,{name:`heartbeat`,type:`event`,id:`param-heartbeat`,children:_jsxs(_components.p,{children:[`A keep-alive. The `,_jsx(_components.code,{children:`data`}),` is an empty object (`,_jsx(_components.code,{children:`{}`}),`).`]})}),`\n`,_jsx(ResponseField,{name:`end`,type:`event`,id:`param-end`,children:_jsxs(_components.p,{children:[`The job is over and the stream closes. The `,_jsx(_components.code,{children:`data`}),` is `,_jsx(_components.code,{children:`{ \"deploy_id\": \"...\" }`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Events never carry outputs, resources or variable values. When you receive `,_jsx(_components.code,{children:`end`}),`, read the job with `,_jsx(_components.a,{href:`/api-reference/endpoint/templates/deploy-status`,children:`Get Deploy Job`}),` to get the outputs. A secret output marked `,_jsx(_components.code,{children:`once`}),` is returned on that first read of the finished job.`]}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`3`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsx(_components.p,{children:`Errors are returned before the stream opens, as JSON.`}),`\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:`VALIDATION_ERROR`}),`: `,_jsx(_components.code,{children:`deploy_id`}),` is not a valid ID (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: The API key does not have the `,_jsx(_components.code,{children:`templates:deploy`}),` scope (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_DEPLOY_NOT_FOUND`}),`: The job does not exist or belongs to another account (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`: Unexpected failure (`,_jsx(_components.code,{children:`500`}),`).`]}),`\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":"Stream Template Deploy Events","sidebarTitle":"Deploy Events","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}/events","authMethod":"bearer","description":"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.","href":"/api-reference/endpoint/templates/deploy-events"}}},"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`,strong:`strong`,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:[`Streams the progress of a deploy or update job so you do not have to poll. With an API key the scope is `,_jsx(_components.code,{children:`templates:deploy`}),`. Only the account that started the job can follow it; any other job ID is `,_jsx(_components.code,{children:`TEMPLATE_DEPLOY_NOT_FOUND`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response is a `,_jsx(_components.strong,{children:`Server-Sent Events`}),` stream (`,_jsx(_components.code,{children:`text/event-stream`}),`), not JSON. It starts with the current state of the job and then sends a `,_jsx(_components.code,{children:`progress`}),` event every time the job changes. A `,_jsx(_components.code,{children:`heartbeat`}),` event arrives every 15 seconds while nothing changes, to keep the connection open. When the job reaches `,_jsx(_components.code,{children:`succeeded`}),` or `,_jsx(_components.code,{children:`failed`}),`, an `,_jsx(_components.code,{children:`end`}),` event closes the stream. Because the state comes from stored data, you can reconnect at any time and get the current state again.`]}),`\n`,_jsx(ParamField,{path:`deploy_id`,type:`string`,required:true,id:`param-deploy-id`,children:_jsx(_components.p,{children:`The ID of the job.`})}),`\n`,_jsx(Heading,{level:`3`,id:`events`,children:`Events`}),`\n`,_jsxs(ResponseField,{name:`progress`,type:`event`,id:`param-progress`,children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`data`}),` is one JSON object with the state of the job.`]}),_jsxs(Expandable,{title:`Toggle object`,children:[_jsx(ResponseField,{name:`deploy_id`,type:`string`,id:`param-deploy-id-1`,children:_jsx(_components.p,{children:`The job ID.`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`queued`}),`, `,_jsx(_components.code,{children:`running`}),`, `,_jsx(_components.code,{children:`undoing`}),`, `,_jsx(_components.code,{children:`succeeded`}),` or `,_jsx(_components.code,{children:`failed`}),`.`]})}),_jsx(ResponseField,{name:`current_step`,type:`string | null`,id:`param-current-step`,children:_jsxs(_components.p,{children:[`The step running now, or `,_jsx(_components.code,{children:`null`}),`.`]})}),_jsx(ResponseField,{name:`steps`,type:`object[]`,id:`param-steps`,children:_jsxs(_components.p,{children:[`The steps of the job with `,_jsx(_components.code,{children:`step`}),`, `,_jsx(_components.code,{children:`status`}),`, `,_jsx(_components.code,{children:`started_at`}),` and `,_jsx(_components.code,{children:`finished_at`}),`, as in `,_jsx(_components.a,{href:`/api-reference/endpoint/templates/deploy-status`,children:`Get Deploy Job`}),`.`]})}),_jsx(ResponseField,{name:`error`,type:`object | null`,id:`param-error`,children:_jsxs(_components.p,{children:[`The readable error (`,_jsx(_components.code,{children:`code`}),`, `,_jsx(_components.code,{children:`message`}),`, `,_jsx(_components.code,{children:`step`}),`) of a failed job, or `,_jsx(_components.code,{children:`null`}),`.`]})})]})]}),`\n`,_jsx(ResponseField,{name:`heartbeat`,type:`event`,id:`param-heartbeat`,children:_jsxs(_components.p,{children:[`A keep-alive. The `,_jsx(_components.code,{children:`data`}),` is an empty object (`,_jsx(_components.code,{children:`{}`}),`).`]})}),`\n`,_jsx(ResponseField,{name:`end`,type:`event`,id:`param-end`,children:_jsxs(_components.p,{children:[`The job is over and the stream closes. The `,_jsx(_components.code,{children:`data`}),` is `,_jsx(_components.code,{children:`{ \"deploy_id\": \"...\" }`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Events never carry outputs, resources or variable values. When you receive `,_jsx(_components.code,{children:`end`}),`, read the job with `,_jsx(_components.a,{href:`/api-reference/endpoint/templates/deploy-status`,children:`Get Deploy Job`}),` to get the outputs. A secret output marked `,_jsx(_components.code,{children:`once`}),` is returned on that first read of the finished job.`]}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`3`,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:`3`,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:` -N`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.vertracloud.app/v1/template-deploys/3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63/events`}),_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:` \"Accept: text/event-stream\"`})]}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response`,numberOfLines:`12`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: progress`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\",\"status\":\"running\",\"current_step\":\"apps\",\"steps\":[{\"step\":\"validate\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:01Z\",\"finished_at\":\"2026-10-28T14:00:02Z\"},{\"step\":\"apps\",\"status\":\"running\",\"started_at\":\"2026-10-28T14:00:02Z\",\"finished_at\":null},{\"step\":\"start\",\"status\":\"pending\",\"started_at\":null,\"finished_at\":null}],\"error\":null}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: heartbeat`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: progress`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\",\"status\":\"succeeded\",\"current_step\":null,\"steps\":[{\"step\":\"validate\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:01Z\",\"finished_at\":\"2026-10-28T14:00:02Z\"},{\"step\":\"apps\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:02Z\",\"finished_at\":\"2026-10-28T14:00:20Z\"},{\"step\":\"start\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:21Z\",\"finished_at\":\"2026-10-28T14:00:30Z\"}],\"error\":null}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: end`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsx(_components.p,{children:`Errors are returned before the stream opens, as JSON.`}),`\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:`VALIDATION_ERROR`}),`: `,_jsx(_components.code,{children:`deploy_id`}),` is not a valid ID (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: The API key does not have the `,_jsx(_components.code,{children:`templates:deploy`}),` scope (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`TEMPLATE_DEPLOY_NOT_FOUND`}),`: The job does not exist or belongs to another account (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`: Unexpected failure (`,_jsx(_components.code,{children:`500`}),`).`]}),`\n`]})]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Error Response`,numberOfLines:`3`,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:`3`,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_DEPLOY_NOT_FOUND\"`})]}),`\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":"Stream Template Deploy Events","sidebarTitle":"Deploy Events","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}/events","authMethod":"bearer","description":"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.","href":"/api-reference/endpoint/templates/deploy-events"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Events","slug":"events","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=\"3\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -N\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://api.vertracloud.app/v1/template-deploys/3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63/events\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>\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\"> \"Accept: text/event-stream\"\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=\"text\">\u003ccode language=\"text\" numberOfLines=\"12\">\u003cspan class=\"line\">\u003cspan>event: progress\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\",\"status\":\"running\",\"current_step\":\"apps\",\"steps\":[{\"step\":\"validate\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:01Z\",\"finished_at\":\"2026-10-28T14:00:02Z\"},{\"step\":\"apps\",\"status\":\"running\",\"started_at\":\"2026-10-28T14:00:02Z\",\"finished_at\":null},{\"step\":\"start\",\"status\":\"pending\",\"started_at\":null,\"finished_at\":null}],\"error\":null}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>event: heartbeat\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>data: {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>event: progress\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\",\"status\":\"succeeded\",\"current_step\":null,\"steps\":[{\"step\":\"validate\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:01Z\",\"finished_at\":\"2026-10-28T14:00:02Z\"},{\"step\":\"apps\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:02Z\",\"finished_at\":\"2026-10-28T14:00:20Z\"},{\"step\":\"start\",\"status\":\"done\",\"started_at\":\"2026-10-28T14:00:21Z\",\"finished_at\":\"2026-10-28T14:00:30Z\"}],\"error\":null}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>event: end\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>data: {\"deploy_id\":\"3f6a9c12-7e4b-4d58-a1c0-5b8e2d9f7a63\"}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan>\u003c/span>\u003c/span>\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Stream Template Deploy Events","path":"/v1/template-deploys/{deploy_id}/events","servers":[{"url":"https://api.vertracloud.app"}],"method":"get","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":{},"header":{},"cookie":{},"path":{"deploy_id":{"schema":[{"type":"string","description":"The ID of the job.","required":true}]}}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"progress":[{"type":"object","properties":{"deploy_id":[{"type":"string","description":"The job ID."}],"status":[{"type":"string","description":"`queued` , `running` , `undoing` , `succeeded` or `failed` ."}],"current_step":[{"type":"object","properties":{},"description":"The step running now, or `null` ."}],"steps":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"The steps of the job with `step` , `status` , `started_at` and `finished_at` , as in Get Deploy Job ."}],"error":[{"type":"object","properties":{},"description":"The readable error ( `code` , `message` , `step` ) of a failed job, or `null` ."}]},"description":"The `data` is one JSON object with the state of the job."}],"heartbeat":[{"type":"object","properties":{},"description":"A keep-alive. The `data` is an empty object ( `{}` )."}],"end":[{"type":"object","properties":{},"description":"The job is over and the stream closes. The `data` is `{ \"deploy_id\": \"...\" }` ."}],"code":[{"type":"string","description":"The error code indicating the reason for the failure. Possible values: `VALIDATION_ERROR` : `deploy_id` is not a valid ID ( `400` ). `API_KEY_SCOPE_DENIED` : The API key does not have the `templates:deploy` scope ( `403` ). `TEMPLATE_DEPLOY_NOT_FOUND` : The job does not exist or belongs to another account ( `404` ). `INTERNAL_SERVER_ERROR` : Unexpected failure ( `500` )."}]}}],"examples":{"example":{"value":{"progress":{"deploy_id":"\u003cstring>","status":"\u003cstring>","current_step":{},"steps":[{}],"error":{}},"heartbeat":{},"end":{},"code":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"vertracloud","siteName":"Vertra Cloud","title":"Stream Template Deploy Events - Vertra Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/endpoint/templates/deploy-events","matchLevel":0},"pt-BR":{"href":"/pt-br/api-reference/endpoint/templates/deploy-events","matchLevel":1},"es":{"href":"/es-es","matchLevel":4}}},"lastModified":"2026-10-30T22:45:18.891Z","gitLastModified":"2026-10-28T22:06:31.000Z","originalFileLocation":"api-reference/endpoint/templates/deploy-events.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=\"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\">\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=\"Stream Template Deploy Events - Vertra Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\">\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/deploy-events\">\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=\"Stream Template Deploy Events - Vertra Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\">\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/deploy-events\">\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/deploy-events.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/templates/deploy-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events\">\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/deploy-events#webpage\",\"url\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events\",\"name\":\"Stream Template Deploy Events\",\"description\":\"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events#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\":\"Stream Template Deploy Events\",\"item\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events#apireference\",\"headline\":\"Stream Template Deploy Events\",\"name\":\"Stream Template Deploy Events\",\"description\":\"Streams the progress of a template deploy or update job as Server-Sent Events, one event per change of step, until the job ends.\",\"url\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vertracloud.app/api-reference/endpoint/templates/deploy-events#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}","description":"Returns the state of a template deploy or update job, with its steps, the resources it created, the error if it failed and the outputs of a finished job.","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","description":"Shows what updating an application or stack to the latest version of its template would do, and whether anything blocks it, without changing anything.","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","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}","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/deploy-events"}]},{"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":"Stream Template Deploy Events - 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"]}