Baixar backups
Baixa o arquivo do banco ou o pacote de mídias de um backup concluído.
Duas rotas devolvem arquivos binários compactados (application/gzip), servidos com suporte a Range para retomar download interrompido. Só backups completed ou restored podem ser baixados. Exigem manage_backups ou manage_settings.
Baixar o banco
/api/v1/admin/backups/{id}/downloadAdminBaixa o dump do banco (.sql.gz)
Parâmetros de caminho
iduuidobrigatórioId do backup.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/backups/d216291a-0c77-4eec-9c1e-8ffe034b2474/download" \
-H "Authorization: Bearer $TOKEN" \
-o backup.sql.gzResposta
200Arquivo
json
Content-Type: application/gzip
Content-Disposition: attachment; filename="Scheduled_2026-10-09_20261009_030000.sql.gz"O corpo é o arquivo binário. O nome sugerido é <nome do backup>_<data de criação>.sql.gz, com espaços e barras trocados por _.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_backups","manage_settings"]} |
| 404 | Backup não existe. | {"error":"backup not found"} |
| 410 | O arquivo saiu do disco (apagado pela retenção ou removido por fora). | {"error":"backup file is no longer available","detail":"..."} |
| 400 | Backup ainda não está pronto (pending, running, failed...). | {"error":"backup not available for download","detail":"backup is not available for download (status=U)"} |
Baixar as mídias
/api/v1/admin/backups/{id}/download-mediaAdminBaixa o pacote de mídias (.tar.gz)
Parâmetros de caminho
iduuidobrigatórioId do backup.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/backups/d216291a-0c77-4eec-9c1e-8ffe034b2474/download-media" \
-H "Authorization: Bearer $TOKEN" \
-o media.tar.gzResposta
200Arquivo
json
Content-Type: application/gzip
Content-Disposition: attachment; filename="Scheduled_2026-10-09_media_20261009_030000.tar.gz"O corpo é o pacote binário das imagens e arquivos enviados pela loja. O nome sugerido é <nome do backup>_media_<data de criação>.tar.gz, com espaços e barras trocados por _.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_backups","manage_settings"]} |
| 404 | Backup não existe. | {"error":"backup not found"} |
| 410 | O pacote saiu do disco. | {"error":"media file is no longer available","detail":"..."} |
| 400 | O backup não tem pacote de mídias (media_file_size igual a 0) ou não está pronto. | {"error":"media not available for download","detail":"..."} |