> ## 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.

# create_report

> Create an empty report — no metrics, fields or chart attached yet. Attach the rest from the Qobra web app or by prompting the Analyst.

Create an empty report — no metrics, fields or chart attached yet.

The report comes back with its id and a link to it; reuse that id rather than
looking it up again, which can miss a creation this recent. Attaching metrics
or data table fields, configuring a pivot table or a chart, is not something
this tool does — prompt the Analyst to fill in the report it just created, or
do it from the Qobra web app.

A record report tracks the rows of one data table, named through
`tracked_data_table_id`; a statement report tracks payout statements and takes
no data table.

Available only where the Qobra write tools beta is enabled. Every write to the
live environment is recorded in the audit trail as the `Qobra MCP` agent;
writes to a sandbox are not audited.

## Parameters

<Accordion title="Body" defaultOpen>
  <ParamField body="name" type="string" required>
    Display name of the report, as people will read it in Qobra — 'Q3
    pipeline', 'New Business deals'.
  </ParamField>

  <ParamField body="report_type" type="string" required>
    What the report is built on: `statement` (payout statements) or `record`
    (the rows of a data table, named by `tracked_data_table_id`, which is
    then required). One of: `statement`, `record`.
  </ParamField>

  <ParamField body="description" type="string">
    Optional free-text note about what the report is for.
  </ParamField>

  <ParamField body="tracked_data_table_id" type="string">
    Id of the data table this report tracks — the id list\_data\_tables
    returns. Required when `report_type` is `record`, and refused
    otherwise.
  </ParamField>

  <ParamField body="section_id" type="string">
    Id of the section to file the report under — the id a report's section
    carries in list\_reports. Omit it to leave the report unfiled. Never a
    section name.
  </ParamField>

  <ParamField body="sandbox_id" type="string">
    Id of the sandbox to create the report in — the id list\_sandboxes
    returns. Omit it to create the report in the live environment. Only a
    sandbox id is accepted here — never a sandbox name, and never the live
    environment's own id.
  </ParamField>
</Accordion>

## Response

<Accordion title="Body" defaultOpen>
  <ResponseField name="report" type="object">
    The report as it now exists — the same row list\_reports returns, so the
    id can be reused straight away. See
    [`list_reports`](/mcp_documentation/tools/list_reports) for the full
    field breakdown.
  </ResponseField>
</Accordion>
