---
title: "Export a raw report"
method: POST
path: "/gdc/app/projects/{project_id}/execute/raw"
tags: ["export-reports"]
---

# Export a raw report

`POST /gdc/app/projects/{project_id}/execute/raw`

## Request

- Base URL: `https://secure.gooddata.com`
- URL: `https://secure.gooddata.com/gdc/app/projects/{project_id}/execute/raw`
- Auth: none declared

Use this resource to export reports that are too large to be computed on the UI. A report is exported to raw CSV.

The maximum report size for raw exports is 1 GB. Exporting a report of this size may take up to 20 minutes.

You can export a report based on:

* The URI of the report (the latest report definition will be used)

* The URI of a report definition

**How it works**
1. You make an API call to export a report.
2. The API returns the URL to poll on the export progress. Depending on whether the report is still calculating or not, various HTTP codes are returned.
3. When the report is calculated, the response returns `200` and the exported report as raw CSV. If the exported report is empty, the response returns `204`.

**Filtering out report data to be exported**

You can add a dynamic filter definition to the request body to filter out data to be exported.
To do so, add the `context` parameter and define the filters.
For example:

```
{
  "report_req": {
    "report": "/gdc/md/{project_id}/obj/{report_object_id}",
    "context": {
      "filters": [
        {
          "uri": "/gdc/md/{project_id}/obj/{filter_id}",
          "constraint": {
            "type": "list",
            "elements": [
              "/gdc/md/{project_id}/obj/{attribute}/elements?id={displayForm_1_id}",
              "/gdc/md/{project_id}/obj/{attribute}/elements?id={displayForm_2_id}"
            ]
          }
        },
        {
          "uri": "/gdc/md/{project_id}/obj/{filter_id}",
          "constraint": {
            "type": "floating",
            "from": -1,
            "to": -1
          }
        },
        {
          "uri": "/gdc/md/{project_id}/obj/{filter_id}",
          "constraint": {
            "type": "interval",
            "from": "2015-07-01",
            "to": "2015-07-10"
          }
        }
      ]
    }
  }
}
```

where:

* **List filters** can be used for filtering attribute items.

* **Floating filters** can be used for filtering date attributes (previous period, next period). The `from` and `to` properties respect filter granularity.

* **Interval filters** can be used for filtering date attributes for a specific interval. The `from` and `to` properties respect filter granularity.

## Path parameters

- `project_id` string, required

## Request body

- ReportReq
  - `report_req` union, required
    - ReportUri
      - `report` string, uri, required
    - ReportDefinitionUri
      - `reportDefinition` string, uri, required

## Response `200`

`200` returns the exported report as raw CSV.

- string: `200` returns the exported report as raw CSV.

## Other responses

- `201`: `201` returns the URI to poll on. Polling returns various HTTP codes depending on whether the report is still calculating or not. When the report is calculated, the response returns `200` and the exported report as raw CSV.
- `204`: `204` indicates that the exported report or report definition is empty.

---

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