# 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"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.discloud.com/api-and-integrations/api-overview/snapshot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
