> ## 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 imagem

> Reconstrói uma imagem substituindo todo o contexto de build por um novo arquivo ZIP.

A requisição é `multipart/form-data`. A reconstrução mantém o mesmo ID da imagem e, quando dá certo, adiciona uma nova [versão](https://docs.vertracloud.app/pt-br/api-reference/endpoint/images/versions.md). **Uma reconstrução nunca reinicia apps**: cada app passa para a nova versão no próximo restart ou deploy que você pedir. Uma reconstrução que falha mantém a versão atual. Reconstruções não contam no limite de imagens. Planos sem imagens personalizadas não podem reconstruir, mas ainda podem apagar.

Precisa do escopo `images:write` quando chamado com uma chave de API.

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

O ID da imagem.

**workspace\_id** `string`

Se a imagem pertencer a um workspace, o ID do workspace. Obrigatório para membros do workspace que agem sobre uma imagem que não é deles.

**file** `file` *required*

O novo contexto de build: um arquivo ZIP, de até 100 MB, com um `Dockerfile` na raiz.

### Resposta

**response** `object`

A imagem. A resposta é `202 Accepted` com `status: "building"`.

**Mostrar objeto**

**id** `string`

O ID da imagem.

**name** `string`

O nome da imagem.

**description** `string | null`

A descrição da imagem (texto livre, até 128 caracteres), ou `null` quando ela não tem uma.

**owner** `string`

`account` para as suas imagens, `system` para imagens fornecidas pela plataforma (estas não podem ser alteradas nem apagadas).

**status** `string`

Estado do build mais recente: `building`, `success` ou `failed`. Uma reconstrução que falha não muda a versão atual: os apps continuam rodando a última versão que deu certo.

**error** `string | null`

Motivo legível do último build que falhou, ou `null`.

**digest** `string | null`

Digest (`sha256:...`) da versão atual, ou `null` enquanto nenhum build tiver dado certo.

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

Tamanho da versão atual, descompactada, em bytes.

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

Número de camadas da versão atual.

**apps** `object[]`

Os apps criados a partir desta imagem. Cada um tem `id`, `name`, `version_id` (a versão da imagem que ele executa, ou `null`) e `outdated` (`true` quando a imagem tem uma versão mais nova; o app passa para ela no próximo restart ou deploy que você pedir).

**github** `object | null`

O repositório e a branch do GitHub vinculados (`repository` no formato `owner/name`, `branch`), ou `null` quando a imagem não está vinculada.

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

A versão atual da imagem, ou `null` enquanto nenhum build tiver dado certo.

**created\_at** `string`

Quando a imagem foi criada.

**updated\_at** `string`

Quando a imagem foi atualizada pela última vez.

```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"
  }
}
```

### Respostas de erro

**code** `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 escopo necessário (`403`).
* `IMAGE_NOT_FOUND`: A imagem não existe ou você não tem acesso a ela (`404`).
* `PLAN_DOES_NOT_SUPPORT_CUSTOM_IMAGES`: O plano não inclui imagens Docker personalizadas (`403`).
* `IMAGE_BUILD_IN_PROGRESS`: A imagem já tem um build em execução (`409`).
* `DOCKERFILE_NOT_FOUND`: Não existe um arquivo com o nome exato `Dockerfile` na raiz do contexto (`400`).
* `DOCKERFILE_REFUSED`: O `Dockerfile` tem uma instrução recusada; `details` lista os achados (`400`).
* `IMAGE_CONTEXT_TOO_LARGE`: O contexto de build passou de um limite: mais de 100 MB compactado, mais de 512 MB descompactado, mais de 50.000 entradas, ou um `Dockerfile` maior que 1 MB (`413`).
* `IMAGE_BUILDER_UNAVAILABLE`: Nenhum host consegue construir imagens agora; tente de novo mais tarde (`503`).
* `INTERNAL_SERVER_ERROR`: Falha inesperada (`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.