Eliminar una imagen
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"]
}
}
Imágenes Docker
Eliminar una imagen
Elimina una imagen, sus versiones, su contexto y todas las aplicaciones creadas a partir de ella.
DELETE
/
v1
/
images
/
{image_id}
Eliminar una imagen
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"]
}
}
Eliminar una imagen también elimina todas las aplicaciones creadas a partir de ella. Cada aplicación sigue las reglas habituales para eliminar una aplicación, incluido el snapshot de seguridad en los planes que lo tienen.
images:delete cuando se llama con una clave de API; images:write no lo cubre. Cuando la imagen tiene aplicaciones, la clave también necesita el ámbito apps:delete, porque también se eliminan. Sin él, la llamada falla con API_KEY_SCOPE_DENIED y details.required con el valor apps:delete. No se permite eliminar mientras hay un build en curso, y sí está permitido en planes que ya no pueden crear imágenes.
string
requerido
El ID de la imagen.
string
Si la imagen pertenece a un workspace, el ID del workspace. Es obligatorio para los miembros del workspace que actúan sobre una imagen que no les pertenece.
string
requerido
Debe ser igual al nombre de la imagen.
Respuesta
{
"response": {
"deleted_apps": ["app-abc123def456"]
}
}
Respuestas de error
string
El código de error que indica el motivo del fallo. Valores posibles:
API_KEY_SCOPE_DENIED: La clave de API no tiene el ámbitoimages:delete, o la imagen tiene aplicaciones y la clave no tiene el ámbitoapps:delete.details.requiredindica el ámbito que falta (403).IMAGE_NOT_FOUND: La imagen no existe o no puedes acceder a ella (404).IMAGE_NAME_MISMATCH:confirm_nameno es el nombre de la imagen (400).IMAGE_BUILD_IN_PROGRESS: Hay un build en curso; espera a que termine (409).INTERNAL_SERVER_ERROR: Fallo inesperado (500).
{
"code": "IMAGE_NAME_MISMATCH"
}
Última modificación el 28 de octubre de 2026