# charts operations

MCP tools and operation permissions for charts.

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.

## chart_list

List the saved charts, each with its encoding (mark, x, y, colour) and the id of the query it draws. Use chart_create to add one.

- **HTTP:** `GET /api/charts`
- **SDK:** `client.charts.list(input)`
- **Access:** workspace; chart / read
- **Effect annotation:** Read-only

| Input | Requirement | Description |
| --- | --- | --- |
| `projectId` | Optional | string |

## chart_create

Save a chart without running its query. For a visual flow, set queryId and spec.flowOutput to its chart node ID; read flow_catalog for the live contract. Otherwise set an encoding (mark, x, y, colour) whose fields are the query RESULT aliases, not assumed table columns. Derive them from the query definition or declared result schema; execute only if requested.

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

| Input | Requirement | Description |
| --- | --- | --- |
| `projectId` | Optional | See schema |
| `title` | Required | string |
| `queryId` | Required | string |
| `spec` | Required | object |

## chart_read

Read a saved chart, its query reference, and its renderer or flow output settings without executing the query.

- **HTTP:** `GET /api/charts/:id`
- **SDK:** `client.charts.get(input)`
- **Access:** workspace; chart / read
- **Effect annotation:** Read-only

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

## chart_update

Update a chart title, encoding, or saved flow output reference. Use chart_read first. The same chart validation as the app applies; this does not run its query.

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

| Input | Requirement | Description |
| --- | --- | --- |
| `title` | Optional | string |
| `spec` | Optional | object |
| `id` | Required | string |

## chart_delete

Delete a saved chart. Check dashboards that contain it before deleting. Its source data remains unchanged.

- **HTTP:** `DELETE /api/charts/:id`
- **SDK:** `client.charts.remove(input)`
- **Access:** workspace; chart / admin
- **Effect annotation:** May change state or run effects; destructive operation

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