> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Reconstruir imagen

> Reconstruye una imagen sustituyendo todo el contexto de build por un nuevo archivo ZIP.

La petición es `multipart/form-data`. La reconstrucción mantiene el mismo ID de imagen y, si tiene éxito, añade una nueva [versión](https://docs.vertracloud.app/es-es/api-reference/endpoint/images/versions.md). **Una reconstrucción nunca reinicia las aplicaciones**: cada aplicación pasa a la nueva versión en el siguiente reinicio o despliegue que pidas. Una reconstrucción fallida conserva la versión actual. Las reconstrucciones no cuentan contra el límite de imágenes. Los planes sin imágenes personalizadas no pueden reconstruir, pero sí eliminar.

Requiere el scope `images:write` cuando se llama con una clave de API.

**image\_id** `string` *required*

El ID de la imagen.

**workspace\_id** `string`

Si la imagen pertenece a un workspace, el ID del workspace. Es obligatorio para los miembros del workspace que actúen sobre una imagen que no les pertenece.

**file** `file` *required*

El nuevo contexto de build: un archivo ZIP, de hasta 100 MB, con un `Dockerfile` en su raíz.

### Response

**response** `object`

La imagen. La respuesta es `202 Accepted` con `status: "building"`.

**Mostrar objeto**

**id** `string`

El ID de la imagen.

**name** `string`

El nombre de la imagen.

**description** `string | null`

La descripción de la imagen (texto libre, de hasta 128 caracteres), o `null` si no tiene ninguna.

**owner** `string`

`account` para tus imágenes, `system` para las imágenes que proporciona la plataforma (estas no se pueden modificar ni eliminar).

**status** `string`

Estado del último build: `building`, `success` o `failed`. Una reconstrucción fallida no cambia la versión actual: las aplicaciones siguen ejecutando la última que funcionó.

**error** `string | null`

Motivo legible del último build fallido, o `null`.

**digest** `string | null`

Digest (`sha256:...`) de la versión actual, o `null` mientras ningún build haya tenido éxito.

**uncompressed\_bytes** `integer | null`

Tamaño de la versión actual, sin comprimir, en bytes.

**layer\_count** `integer | null`

Número de capas de la versión actual.

**apps** `object[]`

Las aplicaciones creadas a partir de esta imagen. Cada una tiene `id`, `name`, `version_id` (la versión de la imagen que ejecuta, o `null`) y `outdated` (`true` cuando la imagen tiene una versión más nueva; la aplicación pasa a ella en el siguiente reinicio o despliegue que pidas).

**github** `object | null`

El repositorio y la rama de GitHub vinculados (`repository` como `owner/name`, `branch`), o `null` si la imagen no está vinculada.

**current\_version\_id** `string | null`

La versión actual de la imagen, o `null` mientras ningún build haya tenido éxito.

**created\_at** `string`

Cuándo se creó la imagen.

**updated\_at** `string`

Cuándo se actualizó por última vez la imagen.

```json Response theme={null}
{
  "response": {
    "id": "img-abc123def456",
    "name": "my-api",
    "description": null,
    "owner": "account",
    "status": "building",
    "error": null,
    "digest": null,
    "uncompressed_bytes": null,
    "layer_count": null,
    "apps": [],
    "github": null,
    "current_version_id": null,
    "created_at": "2026-10-23T14:02:00Z",
    "updated_at": "2026-10-23T14:02:00Z"
  }
}
```

### Error Responses

**code** `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 scope necesario (`403`).
* `IMAGE_NOT_FOUND`: La imagen no existe o no puedes acceder a ella (`404`).
* `PLAN_DOES_NOT_SUPPORT_CUSTOM_IMAGES`: El plan no incluye imágenes Docker personalizadas (`403`).
* `IMAGE_BUILD_IN_PROGRESS`: La imagen ya tiene un build en curso (`409`).
* `DOCKERFILE_NOT_FOUND`: No hay ningún archivo llamado exactamente `Dockerfile` en la raíz del contexto (`400`).
* `DOCKERFILE_REFUSED`: El `Dockerfile` tiene una instrucción no admitida; `details` enumera los hallazgos (`400`).
* `IMAGE_CONTEXT_TOO_LARGE`: El contexto de build supera un límite: más de 100 MB comprimido, más de 512 MB sin comprimir, más de 50.000 entradas, o un `Dockerfile` de más de 1 MB (`413`).
* `IMAGE_BUILDER_UNAVAILABLE`: Ningún host puede construir imágenes en este momento; inténtalo más tarde (`503`).
* `INTERNAL_SERVER_ERROR`: Fallo inesperado (`500`).

```json Error Response theme={null}
{
  "code": "IMAGE_BUILD_IN_PROGRESS"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.