Organization
Download Data Export
Issues a short-lived download URL for a finished organization data export.
GET /api/organization/data-export/{exportId}/download
Returns a presigned URL for the export ZIP. The URL is valid for 5 minutes; the object key itself is never exposed and the storage bucket is not browsable, so knowing an export id is not access — an authenticated administrator of the owning organization is.
Query parameters
| Parameter | Type | Description |
|---|---|---|
redirect | 1 | Respond with 302 to the presigned URL instead of returning JSON. Convenient for curl -L and browser links. |
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
EXPORT_ID="0f0f2f6a-2b3b-4a2f-9a7c-3e5f8c1d2b44"
# Straight to the file
curl -L -o export.zip \
"$BASE_URL/api/organization/data-export/$EXPORT_ID/download?redirect=1" \
-H "Authorization: Bearer $TOKEN"Response
{
"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"
}Each call increments downloadCount and updates lastDownloadedAt on the export
record.
Common errors
400 User must belong to an organizationwhen no organization can be derived from the session or token401 Unauthorizedwhen you are not authenticated403 Forbiddenwhen your role cannot administer the organization404 Export not foundwhen the id does not belong to your organization409 Export is not downloadable(data.code: exportNotReady) while the export is queued, generating or failed410 Export download window has expired(data.code: exportExpired) after the 7-day window