---
title: "Datenexport herunterladen"
description: "Erzeugt eine kurzlebige Download-URL für einen fertigen Organisations-Datenexport."
---

`GET /api/organization/data-export/{exportId}/download`

Gibt eine vorsignierte URL für das Export-ZIP zurück. Die URL gilt 5 Minuten; der
Object-Key selbst wird nie preisgegeben und der Storage-Bucket ist nicht
durchsuchbar. Die Export-ID zu kennen ist also kein Zugriff — ein authentifizierter
Administrator der besitzenden Organisation zu sein schon.

## Query-Parameter

| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| `redirect` | `1` | Antwortet mit `302` auf die vorsignierte URL statt mit JSON. Praktisch für `curl -L` und Browser-Links. |

## Beispiel (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"
EXPORT_ID="0f0f2f6a-2b3b-4a2f-9a7c-3e5f8c1d2b44"

# Direkt in die Datei
curl -L -o export.zip \
  "$BASE_URL/api/organization/data-export/$EXPORT_ID/download?redirect=1" \
  -H "Authorization: Bearer $TOKEN"
```

## Antwort (Response)

```json
{
  "url": "https://<bucket>.<region>.your-objectstorage.com/data-exports/org-12/0f0f2f6a-...zip?X-Amz-Signature=...",
  "expiresInSeconds": 300,
  "sizeBytes": 18446721,
  "filename": "uptimeify-export-0f0f2f6a-2b3b-4a2f-9a7c-3e5f8c1d2b44.zip"
}
```

Jeder Aufruf erhöht `downloadCount` und aktualisiert `lastDownloadedAt` am
Export-Datensatz.

## Häufige Fehler

- `400 User must belong to an organization` wenn aus Session oder Token keine Organisation abgeleitet werden kann
- `401 Unauthorized` wenn du nicht authentifiziert bist
- `403 Forbidden` wenn deine Rolle die Organisation nicht verwalten darf
- `404 Export not found` wenn die ID nicht zu deiner Organisation gehört
- `409 Export is not downloadable` (`data.code: exportNotReady`) solange der Export in der Warteschlange, in Arbeit oder fehlgeschlagen ist
- `410 Export download window has expired` (`data.code: exportExpired`) nach Ablauf der 7 Tage
