> For the complete documentation index, see [llms.txt](https://docs.discloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.discloud.com/api-and-integrations/api-overview/snapshot.md).

# Snapshot

## Listar backups versionados

> Retorna todos os backups versionados do usuário autenticado. Filtre por appID ou pagine os resultados.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Snapshot","description":"Operações sobre backups versionados (snapshots)"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/snapshot":{"get":{"tags":["Snapshot"],"summary":"Listar backups versionados","description":"Retorna todos os backups versionados do usuário autenticado. Filtre por appID ou pagine os resultados.","operationId":"listSnapshots","parameters":[{"name":"page","in":"query","required":false,"description":"Número da página (deve ser >= 1)","schema":{"type":"integer","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"description":"Itens por página (1–200)","schema":{"type":"integer","default":50,"minimum":1,"maximum":200}},{"name":"summary","in":"query","required":false,"description":"Se true, retorna uma visão resumida de cada backup","schema":{"type":"boolean","default":false}},{"name":"appID","in":"query","required":false,"description":"Filtrar backups de um app específico (letras, números, hífen; máx 40 chars)","schema":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z0-9\\-]+$"}}],"responses":{"200":{"description":"Backups obtidos com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}},"400":{"description":"Parâmetro inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Nenhum backup encontrado para o appID informado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro interno do servidor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Gerar link de download do backup

> Gera uma URL temporária de download para uma versão específica de backup versionado.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Snapshot","description":"Operações sobre backups versionados (snapshots)"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/snapshot/{appID}/versions/{version}":{"get":{"tags":["Snapshot"],"summary":"Gerar link de download do backup","description":"Gera uma URL temporária de download para uma versão específica de backup versionado.","operationId":"getSnapshotDownloadUrl","parameters":[{"name":"appID","in":"path","required":true,"description":"ID do app (letras, números, hífen; máx 40 chars)","schema":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z0-9\\-]+$"}},{"name":"version","in":"path","required":true,"description":"Versão do backup no formato YYYYMMDD-HHMMSS","schema":{"type":"string","pattern":"^\\d{8}-\\d{6}$"}}],"responses":{"200":{"description":"Link de download gerado com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"app":{"type":"object","properties":{"id":{"type":"string"}}},"download":{"type":"object","properties":{"url":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"version":{"type":"string"},"size":{"type":"integer"}}}}}}}},"400":{"description":"Parâmetro inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Versão de backup não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro interno do servidor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Listar backups de um app

> Retorna todos os backups versionados de um app específico.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Snapshot","description":"Operações sobre backups versionados (snapshots)"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/snapshot/{appID}":{"get":{"tags":["Snapshot"],"summary":"Listar backups de um app","description":"Retorna todos os backups versionados de um app específico.","operationId":"listAppSnapshots","parameters":[{"name":"appID","in":"path","required":true,"description":"ID do app (letras, números, hífen; máx 40 chars)","schema":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z0-9\\-]+$"}}],"responses":{"200":{"description":"Backups carregados com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"app":{"type":"object","properties":{"id":{"type":"string"}}},"versions":{"type":"array","items":{"type":"object"}}}}}}},"400":{"description":"Formato inválido do App ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Nenhum backup encontrado para este app","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro interno do servidor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Criar backup versionado

> Cria um novo backup versionado (snapshot) para uma aplicação específica.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Snapshot","description":"Operações sobre backups versionados (snapshots)"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/snapshot/{appID}":{"post":{"tags":["Snapshot"],"summary":"Criar backup versionado","description":"Cria um novo backup versionado (snapshot) para uma aplicação específica.","operationId":"createSnapshot","parameters":[{"name":"appID","in":"path","required":true,"description":"ID do app (letras, números, hífen; máx 40 chars)","schema":{"type":"string","maxLength":40,"pattern":"^[a-zA-Z0-9\\-]+$"}}],"responses":{"200":{"description":"Backup versionado criado com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"app":{"type":"object","properties":{"id":{"type":"string"}}},"snapshot":{"type":"object","properties":{"version":{"type":"string"},"size":{"type":"string"},"url":{"type":"string"},"allVersions":{"type":"array","items":{"type":"object","properties":{"version":{"type":"string"},"size":{"type":"string"},"date":{"type":"string"}}}}}}}}}}},"400":{"description":"Formato de appID inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Não é o dono desta aplicação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Aplicação ocupada processando outra tarefa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro interno do servidor","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```
