Uptimeify Docs
OrganizationReports

Download Report PDF

Streams the archived PDF of a report run as the response body.

GET /api/organization/report-runs/:id/pdf

Streams the PDF archived for a report run directly in the response body. :id is the run's id (a UUID), as returned by List Report Runs. The run must belong to your organization. Available to any organization role, including read-only users.

The bytes are read from object storage server-side and returned to you; the object itself is never exposed as a URL, so the session/token check on this request is the entire access control for the file.

Only runs with format: "email_pdf" that completed successfully archive a PDF. Check hasPdf on the run before calling this endpoint. format: "email" runs, and runs that failed or were skipped, have no PDF and return 404.

Example (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
RUN_ID="9a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"

curl -X GET "$BASE_URL/api/organization/report-runs/$RUN_ID/pdf" \
  -H "Authorization: Bearer $TOKEN" \
  -o report.pdf

Response

200 OK with the PDF bytes as the response body.

Content-Type: application/pdf, Content-Disposition: attachment; filename="report-<period>.pdf" (<period> is derived from the run's own period label, e.g. report-08-2026.pdf), Cache-Control: private, max-age=300, X-Content-Type-Options: nosniff.

Common errors

  • 401 Unauthorized: not authenticated.
  • 403 Forbidden (forbidden): you do not have access to this organization.
  • 404 Not Found (reportRunNotFound): no run with this id exists for your organization.
  • 404 Not Found (reportRunNoPdf): the run has no archived PDF (it was an email-only report, or generation failed/was skipped).
  • 404 Not Found (reportPdfNotFound): the run record has a PDF path, but the object could not be read from object storage.

On this page