Excluir imagem
curl --request DELETE \
--url https://api.vertracloud.app/v1/images/{image_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm_name": "<string>"
}
'const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm_name: '<string>'})
};
fetch('https://api.vertracloud.app/v1/images/{image_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/images/{image_id}"
payload = { "confirm_name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/images/{image_id}"
payload := strings.NewReader("{\n \"confirm_name\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", 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))
}{
"response": {
"deleted_apps": ["app-abc123def456"]
}
}
Imagens Docker
Excluir imagem
Exclui uma imagem, as suas versões, o seu contexto e todas as aplicações criadas a partir dela.
DELETE
/
v1
/
images
/
{image_id}
Excluir imagem
curl --request DELETE \
--url https://api.vertracloud.app/v1/images/{image_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm_name": "<string>"
}
'const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm_name: '<string>'})
};
fetch('https://api.vertracloud.app/v1/images/{image_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/images/{image_id}"
payload = { "confirm_name": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/images/{image_id}"
payload := strings.NewReader("{\n \"confirm_name\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", 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))
}{
"response": {
"deleted_apps": ["app-abc123def456"]
}
}
Excluir uma imagem também exclui todas as aplicações criadas a partir dela. Cada aplicação segue as regras habituais de exclusão de uma aplicação, incluindo o snapshot de segurança nos planos que o têm.
images:delete quando chamada com uma chave de API; images:write não o cobre. Quando a imagem tem aplicações, a chave também precisa do escopo apps:delete, pois elas também são excluídas. Sem ele, a chamada falha com API_KEY_SCOPE_DENIED e details.required com o valor apps:delete. A exclusão é recusada enquanto um build está em execução, e é permitida em planos que já não podem criar imagens.
string
obrigatório
O ID da imagem.
string
Se a imagem pertencer a um workspace, o ID do workspace. Obrigatório para membros do workspace que atuam sobre uma imagem que não lhes pertence.
string
obrigatório
Deve ser igual ao nome da imagem.
Resposta
{
"response": {
"deleted_apps": ["app-abc123def456"]
}
}
Respostas de erro
string
O código de erro que indica o motivo da falha. Valores possíveis:
API_KEY_SCOPE_DENIED: A chave de API não tem o escopoimages:delete, ou a imagem tem aplicações e a chave não tem o escopoapps:delete.details.requiredinforma o escopo que falta (403).IMAGE_NOT_FOUND: A imagem não existe ou você não tem acesso a ela (404).IMAGE_NAME_MISMATCH:confirm_namenão é o nome da imagem (400).IMAGE_BUILD_IN_PROGRESS: Um build está em execução; aguarde o fim dele (409).INTERNAL_SERVER_ERROR: Falha inesperada (500).
{
"code": "IMAGE_NAME_MISMATCH"
}
Última modificação em 28 de outubro de 2026