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

# Pré-visualizar rollback da aplicação

> Pré-visualiza as variáveis de ambiente que um rollback para esta release adicionaria, alteraria ou removeria, só com nomes e tipos de mudança.

Retorna quais variáveis de ambiente mudariam se você fizesse o rollback da aplicação para esta release e restaurasse as variáveis dela. Só voltam os nomes das variáveis e o tipo de mudança, nunca os valores. Nada é alterado.

O rollback não restaura variáveis a menos que você peça. Confira esta pré-visualização primeiro e então envie a requisição de [rollback](https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/releases/rollback.md) com `restore_environment: true` se as mudanças forem as que você quer.

**id** `string` *required*

O ID da aplicação. Se a aplicação pertencer a um workspace, informe o ID dele no query parameter `workspace_id`.

**release\_id** `string` *required*

O ID da release para a qual você faria o rollback, como retornado pela [lista de releases](https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/releases/list.md).

**workspace\_id** `string`

Se a aplicação pertencer a um workspace, o ID do workspace.

Cada mudança é comparada com as variáveis atuais da aplicação, incluindo as salvas mas ainda não aplicadas por um restart. Essas são as variáveis que um rollback sobrescreve:

* `added`: a release tem a variável, e as variáveis atuais não têm.
* `removed`: as variáveis atuais têm a variável, e a release não tem. Uma variável criada depois da release e ainda não aplicada por um restart aparece como `removed`.
* `modified`: ambas têm a variável, com valores diferentes.

A lista é ordenada pela chave. Ela fica vazia quando a release não tem variáveis salvas, ou quando restaurá-las não mudaria nada.

Exige o escopo `apps:envs` quando chamado com uma chave de API. Para um membro do workspace, exige a permissão `apps:envs`.

### Resposta

**response** `object`

As mudanças de variáveis que um rollback faria.

**Mostrar objeto**

**environment\_changes** `object[]`

As variáveis que mudariam. Cada item tem:

**Mostrar objeto**

**key** `string`

O nome da variável. O valor nunca é retornado.

**change** `string`

`added`, `modified` ou `removed`.

```json Response theme={null}
{
  "response": {
    "environment_changes": [
      { "key": "DISCORD_TOKEN", "change": "modified" },
      { "key": "NEW_FEATURE", "change": "removed" }
    ]
  }
}
```

```json Response (nothing to change) theme={null}
{
  "response": {
    "environment_changes": []
  }
}
```

### Respostas de erro

**code** `string`

Códigos de erro possíveis:

* `AUTH_TOKEN_MISSING`, `API_KEY_INVALID`, `SESSION_REVOKED`: o header `Authorization` está ausente, a chave de API é inválida ou a sessão do painel foi revogada (`401`).
* `API_KEY_IP_DENIED`: a chave de API é usada a partir de um IP fora da sua allowlist (`403`).
* `APP_NOT_FOUND`: a aplicação não existe, ou não pertence a esta conta ou workspace (`404`).
* `RELEASE_NOT_FOUND`: a release não existe, ou pertence a outra aplicação (`404`).
* `PLAN_DOES_NOT_SUPPORT_ROLLBACK`: o seu plano não inclui fazer rollback para releases anteriores (`403`). O rollback começa no Pro.
* `API_KEY_SCOPE_DENIED`: a chave de API não tem o escopo `apps:envs` (`403`).

**message** `string`

Uma mensagem descritiva com detalhes adicionais sobre o erro.

```json theme={null}
{
  "code": "RELEASE_NOT_FOUND"
}
```

> [!NOTE]
>
> Uma release guarda as variáveis com as quais a aplicação foi iniciada. Releases criadas antes do lançamento deste recurso não têm nenhuma salva, então a pré-visualização delas é sempre vazia.


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