---
title: "Invoke Reports Generate"
method: POST
path: "/v1/op/reports.generate"
tags: ["kernel"]
---

# Invoke Reports Generate

`POST /v1/op/reports.generate`

Render + export a report. reports.generate is a raw_response op: it returns a
ready binary-file Response (Content-Disposition), so we return invoke()'s result
AS-IS rather than model_dump()-ing it — the kernel ran auth/scope/input-validation
on the way in.

## Headers

- `x-api-key` string, nullable

## Request body

- object, nullable

## Response `200`

Binary payload

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.dev/geopera/apis/geopera-data-platform.md) · [All operations](https://skmtc.dev/geopera/apis/geopera-data-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/geopera/geopera-data-platform/revisions/cb0130b2a40a/schema)
