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

# Listar snapshots da aplicação

> Liste os snapshots salvos de uma aplicação com GET /v2/apps/{app_id}/snapshots, cada um com tamanho, data, URL de download e os IDs para restaurá-lo.

<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:read`.

Listar Snapshots retorna todos os snapshots armazenados de uma aplicação, cada um com seu tamanho, data da última modificação e uma `url` assinada para baixá-lo. Use-o para montar um seletor de restauração ou para confirmar que um snapshot de [Criar Snapshot](/pt-br/api-reference/endpoint/apps/snapshots/create) terminou de ser gerado após uma resposta `202 SNAPSHOT_PROCESSING`; faça polling neste endpoint em vez de repetir o `POST` de criação.

O resultado fica em cache por 30 minutos por par proprietário/aplicação, então um snapshot que acabou de terminar de ser gerado em segundo plano pode levar um instante para aparecer aqui, mesmo depois de o cluster já tê-lo gravado. Assim que você tiver o `name` e o `version_id` de um snapshot, passe-os como `snapshotId` e `versionId` para [Restaurar Snapshot](/pt-br/api-reference/endpoint/apps/snapshots/restore) para voltar a aplicação a esse ponto.

Snapshots estão disponíveis apenas com um plano ativo, e a cota diária de snapshots escala com a alocação de RAM da aplicação. Em aplicações compartilhadas em workspace, quem chama precisa da [função](/pt-br/api-reference/endpoint/workspace/members/invite#funções) `admin`.

## Parâmetros

<ParamField path="app_id" type="string" placeholder="ID da Aplicação" required>
  O ID da aplicação. Você pode encontrá-lo na URL da sua aplicação no dashboard.
</ParamField>

## Resposta

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

<ResponseField name="response" type="object">
  O conteúdo da resposta.

  <Expandable title="Alternar objeto">
    <ResponseField name="name" type="string">
      O nome do snapshot: o ID da aplicação, opcionalmente com os sufixos `_<runtime>` e `_<origin>`. Envie-o sem alterações como `snapshotId` ao restaurar.
    </ResponseField>

    <ResponseField name="size" type="number">
      Tamanho do backup em bytes.
    </ResponseField>

    <ResponseField name="modified" type="string">
      Data da última modificação do backup.
    </ResponseField>

    <ResponseField name="key" type="string">
      A query string assinada da URL de download.
    </ResponseField>

    <ResponseField name="version_id" type="string">
      A versão do snapshot. Passe-a como `versionId` ao restaurar.
    </ResponseField>

    <ResponseField name="url" type="string">
      Uma URL assinada que baixa o snapshot, válida por 30 dias.
    </ResponseField>

    <ResponseField name="runtime" type="string | null">
      Runtime de onde o snapshot foi tirado: a linguagem da aplicação (`javascript`, `python`, `rust`...) ou o motor do banco de dados (`mongo`, `mysql`, `postgres`, `redis`). `null` em snapshots tirados antes de este campo existir.
    </ResponseField>

    <ResponseField name="origin" type="string | null">
      Como o snapshot foi criado: `manual` (pedido pela API, dashboard ou CLI) ou `automatic` (o snapshot diário agendado). `null` em snapshots mais antigos.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json theme={"system"}
  {
    "status": "success",
    "response": [
      {
        "name": "1d2cdc0d6ebd435c91315c6329d12eab_javascript_manual",
        "size": 12900705,
        "modified": "2024-06-27T06:23:42.326Z",
        "key": "AWSAccessKeyId=access key",
        "version_id": "3HL4kqtJlcpXroDTDmJ.rmSpXd3dIbrHY",
        "url": "https://snapshots.squarecloud.app/applications/<account_id>/<name>.zip?<signed-query-string>",
        "runtime": "javascript",
        "origin": "manual"
      },
      {
        "name": "1d2cdc0d6ebd435c91315c6329d12eab_javascript_automatic",
        "size": 12900705,
        "modified": "2024-06-26T07:05:40.000Z",
        "key": "AWSAccessKeyId=access key",
        "version_id": "Qm8cFZ2vY1tBn4LhXw0e.KpR7sUjD9aGz",
        "url": "https://snapshots.squarecloud.app/applications/<account_id>/<name>.zip?<signed-query-string>",
        "runtime": "javascript",
        "origin": "automatic"
      },
      {
        "name": "1d2cdc0d6ebd435c91315c6329d12eab",
        "size": 12900705,
        "modified": "2024-06-25T05:15:51.533Z",
        "key": "AWSAccessKeyId=access key",
        "version_id": "yT5wN0cE3hJ.bV8mLq2XoZr6dAiK4sPf",
        "url": "https://snapshots.squarecloud.app/applications/<account_id>/<name>.zip?<signed-query-string>",
        "runtime": null,
        "origin": null
      }
    ]
  }
  ```
</ResponseExample>

<Note>Baixe um snapshot pela sua `url`. O link continua válido por 30 dias.</Note>

## Erros comuns

| Código | HTTP | Significado |
| - | - | - |
| `APP_NOT_FOUND` | 404 | Não existe nenhuma aplicação com esse ID para o proprietário resolvido. |

## Relacionados

* CLI: [`squarecloud app snapshot list`](/pt-br/cli-reference/snapshots#squarecloud-app-snapshot-list)
* SDKs: [`api.apps.snapshots.list()`](/pt-br/sdks/js/snapshots) (JavaScript), [`client.apps.snapshots.list()`](/pt-br/sdks/py/snapshots) (Python), [`c.Apps.Snapshots.List()`](/pt-br/sdks/go/snapshots) (Go)


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