---
title: "Download a report"
method: GET
path: "/v1/reports/{report_id}/download"
tags: ["reports"]
---

# Download a report

`GET /v1/reports/{report_id}/download`

## Request

- Base URL: `https://api.ethiack.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ethiack.com/v1/reports/{report_id}/download`
- Auth: none declared

Redirect to a time-limited signed URL for a report.

The signed URL is minted per call and never persisted, so the
redirect is the response rather than a body carrying the link.
Restricted to integrators (organization, partner) with the report
feature enabled.

A report still being generated answers ``202`` and the caller polls;
one whose generation failed answers ``400``.

Args:
    report_id (int): Primary key of the report.
    db (AsyncSession): Request-scoped database session.
    context (ActiveContext): Resolved caller identity and scope.

Returns:
    Response: A ``302`` to the signed URL, or a ``202`` body while
        the artifact is pending. Returned directly rather than
        through a ``response_model`` because the two outcomes carry
        different status codes.

## Path parameters

- `report_id` integer, required

## Response `202`

The report is still being generated.

- ReportPendingResponse: Answer for a report whose artifact has not been generated yet. A download answers ``302`` once the artifact exists. Until then the request is neither an error nor a redirect, so it answers ``202`` with this body and the caller polls. Reporting a pending report as ``404`` instead would tell a poller to give up on a report still being built. Attributes: code (int): HTTP status code; always ``202``. description (str): Human-readable status. id (int): The report's identifier, echoed so a poller can key on it. success (bool | None): ``None`` — the outcome is not yet decided.
  - `id` integer, required
  - `code` integer
  - `description` string
  - `success` boolean, nullable

## Other responses

- `302`: Redirect to a short-lived signed download URL.
- `422`: Validation Error

---

[API](https://skmtc.dev/ethiack/apis/ethiack-api.md) - [All operations](https://skmtc.dev/ethiack/apis/ethiack-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ethiack/apis/ethiack-api/revisions/4eaba89bfebf?raw)
