> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qobra.co/llms.txt
> Use this file to discover all available pages before exploring further.

# refresh_report

> Recalculate a report's data for you, as the refresh button of its page does, and get the time of the request to check when the new data has landed.

Recalculate a report's data for you, as the refresh button of its page does in
the Qobra web app.

[`get_report_data`](https://docs.qobra.co/mcp_documentation/tools/get_report_data),
[`get_report_pivot_data`](https://docs.qobra.co/mcp_documentation/tools/get_report_pivot_data) and
[`get_report_chart_data`](https://docs.qobra.co/mcp_documentation/tools/get_report_chart_data) serve
a computation of the report stored for you. Only a change to the report's
configuration invalidates it, so a deal or a statement changed since then shows
up only once the report is recalculated. Their `computed_at` says when the
stored computation was made. Call this tool when `computed_at` is older than the
data you need.

The tool returns right away, without waiting for the recalculation, with
`requested_at`: the time you asked. Read the report again later. The new data
has landed once a read returns a `computed_at` later than `requested_at`.

You need direct read access to the report, the same access
[`get_report_data`](https://docs.qobra.co/mcp_documentation/tools/get_report_data) requires. Access
through a dashboard shared with you is not enough. The report is recalculated
in the environment it lives in, live or sandbox, so the tool takes no
`sandbox_id`.

`refresh_report` changes no data and writes no audit event. Like the other write
tools, it still counts as a write call toward any MCP write limit that applies to
your company.

## Example

Call the tool with the report's id:

```json theme={null}
{ "report_id": "6650f1c2a1b2c3d4e5f60718" }
```

It returns at once:

```json theme={null}
{
  "report_id": "6650f1c2a1b2c3d4e5f60718",
  "resource_url": "<web app link to the report>",
  "requested_at": "2026-11-10T09:30:00Z"
}
```

Then call `get_report_data` again until its `computed_at` is later than
`2026-11-10T09:30:00Z`.

## Parameters

> [accordion] Body
>
> **report\_id** `string` *required*
>
> Id of the report to recompute — the id list\_reports returns. It is
> recomputed where it lives, in its sandbox or live, so there is no sandbox
> argument.

## Response

> [accordion] Body
>
> **report\_id** `string`
>
> **resource\_url** `string`
>
> Deep link to open this report in the Qobra web app.
>
> **requested\_at** `string`
>
> When you asked for the recomputation (UTC). It runs in the background, and
> has landed once a report data tool returns a computed\_at later than this.
