**Version: 202601**

# Update menu

**PUT** `/openapi/2026-01/menus/:id`

Update a menu's name and items. Built-in menus only allow a limited set of fields to change.

## Request

**Path Parameters**

- `id` string (required)

  Menu id to update

**application/json**

**Body | Example**

**Body (required)**

- `title` string

  New title. Optional; kept unchanged when omitted
- `category` int32

  Menu category (custom menu = `3`). Optional; `0` or omitted keeps the current value
- `children` object[]

  Menu items tree. Omitted or an empty array both keep the current items

```json
{
  "title": "string",
  "category": 0,
  "children": [
    {}
  ]
}
```

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `menu` object

    Updated menu (`{id, ...}`)

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "menu": {}
  }
}
```
