---
title: "Get report status"
method: GET
path: "/reports/{reportId}"
tags: ["Reports (Beta)"]
---

# Get report status

`GET /reports/{reportId}`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/reports/{reportId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/reports/:reportId/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the current status of a report job. Check the `status` field to determine the outcome.

When `status` is `COMPLETED`, the response includes a fresh pre-signed download URL in
`links.downloadUrl` (TTL ~1 hour). Re-poll this endpoint to obtain a new URL after expiry.

When `status` is `FAILED`, the `failedAt` timestamp indicates when the failure occurred.

**Note:** These endpoints are currently in beta and might be subject to changes.

Endpoint Permission: Viewer and above.

## Path parameters

- `reportId` string, required

## Response `200`

Report job details

- ReportJobResponse: A report job. Optional fields are status-dependent: `completedAt`, `rowCount`, `fileSizeBytes`, and `links` are present only when `status` is `COMPLETED`; `failedAt` is present only when `status` is `FAILED`.
  - `id` string, required: Unique identifier of the report job
  - `status` 'QUEUED' | 'PROCESSING' | 'COMPLETED' | 'FAILED', required: The current lifecycle state of a report job
  - `reportType` 'ADDRESSES', required: The type of report to generate
  - `outputFormat` 'CSV', required: The output file format of the report
  - `compress` boolean, required: Whether the output file is gzip-compressed
  - `requestedByUserId` string, required: ID of the user who requested the report
  - `createdAt` integer, required: Epoch milliseconds (UTC) when the job was created
  - `completedAt` integer: Epoch milliseconds (UTC) when the report completed. Only present when `status` is `COMPLETED`.
  - `failedAt` integer: Epoch milliseconds (UTC) when the report failed. Only present when `status` is `FAILED`.
  - `rowCount` integer: Number of rows in the report file. Only present when `status` is `COMPLETED`.
  - `fileSizeBytes` integer: Size of the report file in bytes (includes compression when `compress` is `true`). Only present when `status` is `COMPLETED`.
  - `links` ReportJobLinks: Download URL for the report. Present only when `status` is `COMPLETED`, and only on `GET /v1/reports/{reportId}` — not included in list responses.
    - `downloadUrl` string, required: URL to download the report file. A new URL is generated on each request to `GET /v1/reports/{reportId}` while `status` is `COMPLETED`. Re-poll to obtain a fresh URL after the previous one expires (approximately 1 hour).
    - `downloadUrlExpiresAt` integer, required: Epoch milliseconds (UTC) when the download URL expires

## Other responses

- `default`: Error Response

---

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