---
title: "Create a report"
method: POST
path: "/report"
tags: ["Reports"]
---

# Create a report

`POST /report`

## Request

- Base URL: `https://api.nullplatform.com`
- URL: `https://api.nullplatform.com/report`
- Auth: HTTP bearer

Creates a new dynamic report. Only `name` is required. If `visibility` is omitted, the report is created as `user`.

## Request body

- ReportCreate
  - `name` string, required: The report's display name. This is the only required field.
  - `slug` string: A URL-friendly identifier for the report.
  - `description` string: A human-readable description of what the report shows.
  - `schema` object: A JSON Schema defining the report's input fields.
  - `ui_schema` object: A UI Schema controlling how the form renders.
  - `queries` Queries: A map of query IDs to query definitions. Each ID is a name you choose to identify the query within the report.
  - `visibility` 'user' | 'organization': Who can see the report. `user` keeps it private to its owner; `organization` shares it with the whole organization.

## Response `201`

The report was created.

- Report
  - `id` string, uuid: The unique report identifier.
  - `name` string: The report's display name.
  - `slug` string: A URL-friendly identifier for the report.
  - `description` string: A human-readable description of what the report shows.
  - `schema` object: A JSON Schema defining the report's input fields.
  - `ui_schema` object: A UI Schema controlling how the form renders.
  - `queries` Queries: A map of query IDs to query definitions. Each ID is a name you choose to identify the query within the report.
  - `visibility` 'user' | 'organization': Who can see the report. `user` keeps it private to its owner; `organization` shares it with the whole organization.
  - `created_at` string, date-time: The ISO 8601 timestamp of when the report was created.
  - `updated_at` string, date-time: The ISO 8601 timestamp of the report's last update.

## Other responses

- `4XX`: Client error responses due to invalid input or missing parameters.
- `5XX`: Internal server error due to an unexpected issue.

## Changes

- **2026-09-17** `43b3c1ecdfd8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nullplatform/apis/nullplatform-api/changes/report/post.md)

---

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