Transformar pasta em stack
curl --request POST \
--url https://api.vertracloud.app/v1/stacks/transform \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"folder_id": "<string>",
"inject_variables": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({folder_id: '<string>', inject_variables: true})
};
fetch('https://api.vertracloud.app/v1/stacks/transform', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/stacks/transform"
payload = {
"folder_id": "<string>",
"inject_variables": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/stacks/transform"
payload := strings.NewReader("{\n \"folder_id\": \"<string>\",\n \"inject_variables\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Stacks
Transformar pasta em stack
Transforma os apps e bancos de dados de uma pasta em uma stack, injetando opcionalmente as variáveis de conexão.
POST
/
v1
/
stacks
/
transform
Transformar pasta em stack
curl --request POST \
--url https://api.vertracloud.app/v1/stacks/transform \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"folder_id": "<string>",
"inject_variables": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({folder_id: '<string>', inject_variables: true})
};
fetch('https://api.vertracloud.app/v1/stacks/transform', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/stacks/transform"
payload = {
"folder_id": "<string>",
"inject_variables": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/stacks/transform"
payload := strings.NewReader("{\n \"folder_id\": \"<string>\",\n \"inject_variables\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Cria uma stack com cada app e banco de dados de uma pasta. A pasta permanece. Com
inject_variables: true, a plataforma adiciona as variáveis de conexão e os certificados aos apps; com false, presume-se que os apps se conectam por conta própria. Precisa do escopo stacks:write quando chamado com uma chave de API.
string
obrigatório
A pasta de onde tirar os recursos.
string
O workspace da pasta. Ausente significa a sua pasta.
string
O nome da stack. Opcional.
boolean
obrigatório
Se a plataforma cria as conexões e injeta as variáveis e os certificados.
object[]
Conexões a criar quando
inject_variables é true. Cada item tem app_id, database_id e um env_map opcional (veja Criar conexão da stack).Resposta
201 com a stack, igual a Criar stack, incluindo restart_required e apps_to_restart.
Erros
| Status | Código | Quando |
|---|---|---|
| 400 | STACK_TRANSFORM_EMPTY | A pasta não tem app, nem banco de dados, para colocar em uma stack. |
| 409 | STACK_MEMBER_CONFLICT | Um recurso da pasta já está em outra stack. |
| 403 | WORKSPACE_OWNER_ONLY | Você é membro do workspace, não o dono. |
Última modificação em 28 de outubro de 2026