# reports operations

MCP tools and operation permissions for reports.

Generated from the shared operation catalog. Use [the JSON catalog](https://bytesmap.com/docs/reference/operations.json) for complete input schemas. Required dependency checks can be stricter than the resource permission listed below.

## report_list

List a dashboard's scheduled reports, saved delivery channels and delivery readiness. Requires dashboard Write. Does not execute queries or send a report.

- **HTTP:** `GET /api/dashboards/:id/reports`
- **SDK:** `client.reports.list(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** Read-only

| Input | Requirement | Description |
| --- | --- | --- |
| `id` | Required | string |

## report_create

Create a dashboard report schedule with explicit channels, recurrence, format, parameters and optional component IDs. Setting enabled=true authorizes future scheduled query execution and delivery; saving does not send an immediate report.

- **HTTP:** `POST /api/dashboards/:id/reports`
- **SDK:** `client.reports.create(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** May change state or run effects

| Input | Requirement | Description |
| --- | --- | --- |
| `name` | Required | string |
| `channelIds` | Required | array |
| `format` | Required | See schema |
| `panelIds` | Optional | array |
| `params` | Required | object |
| `enabled` | Required | boolean |
| `recurrence` | Required | object |
| `id` | Required | string |

## report_update

Change a saved dashboard report schedule, delivery channels, recurrence, format or parameters, or disable it with enabled=false. Enabling a schedule authorizes future scheduled execution and delivery. Does not send an immediate report.

- **HTTP:** `PATCH /api/dashboards/:id/reports/:reportId`
- **SDK:** `client.reports.update(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** May change state or run effects

See the JSON schema for this input contract.

## report_remove

Remove a dashboard report schedule and stop its future deliveries. Does not remove the dashboard or alter source database records.

- **HTTP:** `DELETE /api/dashboards/:id/reports/:reportId`
- **SDK:** `client.reports.remove(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** May change state or run effects; destructive operation

| Input | Requirement | Description |
| --- | --- | --- |
| `id` | Required | string |
| `reportId` | Required | string |

## report_runs

Read recent delivery runs and outcomes for a dashboard report schedule. Requires dashboard Write. Does not execute queries or send another report.

- **HTTP:** `GET /api/dashboards/:id/reports/:reportId/runs`
- **SDK:** `client.reports.runs(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** Read-only

| Input | Requirement | Description |
| --- | --- | --- |
| `id` | Required | string |
| `reportId` | Required | string |

## report_send

Explicitly queue an immediate run of a saved dashboard report using its configured channels, format and parameters. Executes its queries and sends the result externally; requires dashboard Write and normal report dependency checks.

- **HTTP:** `POST /api/dashboards/:id/reports/:reportId/send`
- **SDK:** `client.reports.send(input)`
- **Access:** workspace; dashboard / write
- **Effect annotation:** May change state or run effects

| Input | Requirement | Description |
| --- | --- | --- |
| `id` | Required | string |
| `reportId` | Required | string |

## report_export

Explicitly render a dashboard report as a PDF or CSV file using supplied parameters and optional component IDs. Executes the authorized dashboard queries and returns the report file; does not send a notification or create a schedule.

- **HTTP:** `POST /api/dashboards/:id/report-export`
- **SDK:** `client.reports.export(input)`
- **Access:** workspace; dashboard / read
- **Effect annotation:** Read-only

| Input | Requirement | Description |
| --- | --- | --- |
| `format` | Required | See schema |
| `params` | Required | object |
| `panelIds` | Optional | array |
| `id` | Required | string |
