Skip to main content

createMenu

Requires permission settings:appearance:create.

Creates a menu. A parent, when given, must exist and must be a main menu. Needs the appearance settings create permission.

Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.

Example:

mutation CreateMenu($input: CreateMenuInput!) {
createMenu(input: $input) {
id
name
createdAt
deletedAt
deletedBy
description
children {
id
name
createdAt
deletedAt
deletedBy
description
}
}
}

Variables:

{
"input": {
"isActive": true,
"isMainMenu": true,
"label": "string",
"menuType": "MAIN",
"name": "string",
"order": 0
}
}

Response:

{
"data": {
"createMenu": {
"id": "id",
"name": "string",
"createdAt": "2025-01-15T00:00:00Z",
"deletedAt": "2025-01-15T00:00:00Z",
"deletedBy": "string",
"description": "string",
"children": [
{
"id": "id",
"name": "string",
"createdAt": "2025-01-15T00:00:00Z",
"deletedAt": "2025-01-15T00:00:00Z",
"deletedBy": "string",
"description": "string"
}
]
}
}
}
createMenu(
input: CreateMenuInput!
): Menu!

Arguments​

createMenu.input ● CreateMenuInput! non-null input​

The menu's name, label, path, order, type and optional parent, icon, description and required permissions.

Type​

A menu item.