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

# List all account snapshots

> List the automatic snapshots of all your applications or databases with GET /v2/users/snapshots, with size, date and download URL. Needs an active plan.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  The API key for your account. You can find this in your [account settings](https://squarecloud.app/en/account/security).
</ParamField>

Requires an API key with the `snapshots:read` [scope](/en/api-reference/authentication#scopes).

List Snapshots returns the automatic backups Square Cloud keeps for your applications or databases, each entry pairing a signed download URL fragment with its size and last-modified date. Use it to build a restore picker or audit retention in your own tooling instead of checking the dashboard manually.

Results are cached per user and scope for 30 minutes; a cache miss counts against a tighter limit of 3 calls per 60 seconds, after which the caller is blocked for a short period. Listing snapshots requires an active plan, an account without one gets a 402.

Snapshots are grouped by scope, applications by default or databases via the `scope` parameter below. For application details, see [Get Application Info](/en/api-reference/endpoint/apps/info); for database details, see [Get Database Info](/en/api-reference/endpoint/databases/info).

## Parameters

<ParamField query="scope" type="string" default="applications">
  Specifies the type of snapshots to retrieve.

  * `applications` (default): Returns snapshots of applications
  * `databases`: Returns snapshots of databases
</ParamField>

## Response

<ResponseField name="status" type="string">
  Indicates whether the call was successful: `success` if it was, `error` if not.
</ResponseField>

<ResponseField name="response" type="object">
  The contents of the response.

  <Expandable title="Toggle object">
    <ResponseField name="name" type="string">
      The snapshot's name: the ID of the application or database it belongs to, optionally suffixed with `_<runtime>` and `_<origin>`. Pass it unchanged as `snapshotId` when restoring.
    </ResponseField>

    <ResponseField name="size" type="number">
      Size of the snapshot in bytes.
    </ResponseField>

    <ResponseField name="modified" type="string">
      Date of the last modification of the snapshot.
    </ResponseField>

    <ResponseField name="key" type="string">
      AWS access key for the snapshot.
    </ResponseField>

    <ResponseField name="runtime" type="string | null">
      Runtime the snapshot was taken from: the application's language (`javascript`, `python`, `rust`...) or the database engine (`mongo`, `mysql`, `postgres`, `redis`). `null` on snapshots taken before this field existed.
    </ResponseField>

    <ResponseField name="origin" type="string | null">
      How the snapshot was created: `manual` (requested through the API, dashboard or CLI) or `automatic` (the daily scheduled snapshot). `null` on older snapshots.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "status": "success",
    "response": [
      {
        "name": "1d2cdc0d6ebd435c91315c6329d12eab_javascript_manual",
        "size": 12900705,
        "modified": "2024-06-27T06:23:42.326Z",
        "key": "AWSAccessKeyId=accesskey",
        "runtime": "javascript",
        "origin": "manual"
      },
      {
        "name": "1d2cdc0d6ebd435c91315c6329d12eab_javascript_automatic",
        "size": 12900705,
        "modified": "2024-06-26T07:05:40.000Z",
        "key": "AWSAccessKeyId=accesskey",
        "runtime": "javascript",
        "origin": "automatic"
      }
    ]
  }
  ```
</ResponseExample>

<Note>The format of the URL to download the desired snapshot is: [https://snapshots.squarecloud.app/applications/\{accountID}/\{name}.zip?\{key}](https://snapshots.squarecloud.app/applications/\{accountID}/\{name}.zip?\{key})</Note>

## Common errors

| Code | HTTP | Meaning |
| - | - | - |
| `INVALID_SCOPE` | 400 | The `scope` query parameter is not `applications` or `databases`. |
| `UPGRADE_REQUIRED` | 402 | The account has no active plan; listing snapshots requires one. |
| `RATE_LIMITED` | 429 | The rate limit was reached. Wait and retry. |

## Related

* SDKs: [`api.account.snapshots()`](/en/sdks/js/snapshots) (JavaScript), [`client.account.snapshots()`](/en/sdks/py/snapshots) (Python), [`c.Account.Snapshots()`](/en/sdks/go/snapshots) (Go)


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