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

# Restaurar snapshot do banco de dados

> Sobrescreva os dados de um banco com um snapshot usando POST /v2/databases/{database_id}/snapshots/restore. A engine do snapshot precisa ser a mesma do banco.

<Warning>Esta rota possui limite de taxa de 1 requisição a cada 60 segundos.</Warning>

<ParamField header="Authorization" type="string" placeholder="Chave da API" required>
  A chave da API para sua conta. Você pode encontrá-la nas [configurações da conta](https://squarecloud.app/pt-br/account/security).
</ParamField>

Requer uma chave de API com o [escopo](/pt-br/api-reference/authentication#escopos) `snapshots:write`.

Restaura um banco de dados no local a partir de um snapshot tirado anteriormente, identificado pelo `snapshotId` e `versionId` retornados por [Criar Snapshot](/pt-br/api-reference/endpoint/databases/snapshots/create) ou [Listar Snapshots](/pt-br/api-reference/endpoint/databases/snapshots/list). O motor do snapshot precisa corresponder ao `type` do banco de dados de destino; não é possível restaurar um snapshot Redis em um banco de dados MongoDB, por exemplo.

Isso sobrescreve os dados atuais do banco de dados com o conteúdo do snapshot; não há como desfazer além de tirar outro snapshot antes. Enquanto a restauração está em andamento, [Iniciar](/pt-br/api-reference/endpoint/databases/start), [Parar](/pt-br/api-reference/endpoint/databases/stop) e [Excluir Banco de Dados](/pt-br/api-reference/endpoint/databases/delete) são rejeitados para esse banco de dados. Limite de taxa de 1 restauração a cada 60 segundos por usuário, e 1 restauração a cada 120 segundos por banco de dados.

## Parâmetros

<ParamField path="database_id" type="string" placeholder="ID do banco de dados" required>
  O ID do banco de dados.
</ParamField>

<ParamField body="snapshotId" type="string" placeholder="ID da Snapshot" required>
  O `name` do snapshot na listagem (o ID do banco de dados com o sufixo `_<type>` e, em snapshots mais novos, `_<origin>`), enviado exatamente como retornado.
</ParamField>

<ParamField body="versionId" type="string" placeholder="Chave de versão da Snapshot" required>
  O `version_id` do snapshot, como [Listar Snapshots](/pt-br/api-reference/endpoint/databases/snapshots/list) o retorna.
</ParamField>

## Resposta

<ResponseField name="status" type="string">
  Indica se a chamada foi bem-sucedida: `success` se foi, `error` se não.
</ResponseField>

<ResponseExample>
  ```json theme={"system"}
  {
    "status":"success"
  }
  ```
</ResponseExample>

## Erros comuns

| Código | HTTP | Significado |
| - | - | - |
| `MISSING_PARAMETERS` | 400 | `snapshotId` ou `versionId` não foi fornecido. |
| `INVALID_SNAPSHOT_ID` | 400 | `snapshotId` não é um nome de snapshot como retornado pela listagem (um ID, opcionalmente com até dois sufixos `_<tag>`). |
| `INVALID_VERSION_ID` | 400 | `versionId` não corresponde ao formato esperado. |
| `SNAPSHOT_DATABASE_MISMATCH` | 400 | O motor do snapshot não corresponde ao `type` deste banco de dados. |
| `SNAPSHOT_NOT_FOUND` | 404 | Não existe snapshot para o `snapshotId` e `versionId` informados. |
| `DATABASE_NOT_FOUND` | 404 | O banco de dados não existe ou não pertence a quem fez a chamada. |
| `SNAPSHOT_RESTORE_FAILED` | 404 | A restauração falhou. Este é o único código de falha; `SNAPSHOT_NOT_FOUND` significa que o snapshot não existe. |

## Relacionados

* CLI: [`squarecloud db snapshot restore`](/pt-br/cli-reference/snapshots#squarecloud-db-snapshot-restore)
* SDKs: [`api.databases.snapshots.restore()`](/pt-br/sdks/js/databases) (JavaScript), [`client.databases.snapshots.restore()`](/pt-br/sdks/py/databases) (Python), [`c.Databases.Snapshots.Restore()`](/pt-br/sdks/go/databases) (Go)


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