> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/menu/llms.txt)
> Source: https://docs.saleor.io/api-reference/menu/objects/menu-item

# MenuItem Object

Represents a single item of the related menu. Can store categories, collection or pages.

```graphql
type MenuItem implements Node, ObjectWithMetadata {
  id: ID!
  privateMetadata: [MetadataItem!]!
  privateMetafield(
    key: String!
  ): String
  privateMetafields(
    keys: [String!]
  ): Metadata
  metadata: [MetadataItem!]!
  metafield(
    key: String!
  ): String
  metafields(
    keys: [String!]
  ): Metadata
  name: String!
  menu: Menu!
  parent: MenuItem
  category: Category
  collection: Collection
  page: Page
  level: Int!
  children: [MenuItem!]
  url: String
  translation(
    languageCode: LanguageCodeEnum!
  ): MenuItemTranslation
}
```

<a id="fields"></a>

### Fields

<a id="id"></a>

#### [`id`](#id) ● [`ID!`](/api-reference/miscellaneous/scalars/id.md)

The ID of the menu item.

<a id="private-metadata"></a>

#### [`privateMetadata`](#private-metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

List of private metadata items. Requires staff permissions to access.

<a id="private-metafield"></a>

#### [`privateMetafield`](#private-metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="menu-item-private-metafield-key"></a>

##### [`key`](#menu-item-private-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="private-metafields"></a>

#### [`privateMetafields`](#private-metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.

<a id="menu-item-private-metafields-keys"></a>

##### [`keys`](#menu-item-private-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="metadata"></a>

#### [`metadata`](#metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

List of public metadata items. Can be accessed without permissions.

<a id="metafield"></a>

#### [`metafield`](#metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="menu-item-metafield-key"></a>

##### [`key`](#menu-item-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="metafields"></a>

#### [`metafields`](#metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.

<a id="menu-item-metafields-keys"></a>

##### [`keys`](#menu-item-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="name"></a>

#### [`name`](#name) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

The name of the menu item.

<a id="menu"></a>

#### [`menu`](#menu) ● [`Menu!`](/api-reference/menu/objects/menu.md)

Represents the menu to which the menu item belongs.

<a id="parent"></a>

#### [`parent`](#parent) ● [`MenuItem`](/api-reference/menu/objects/menu-item.md)

ID of parent menu item. If empty, menu will be top level menu.

<a id="category"></a>

#### [`category`](#category) ● [`Category`](/api-reference/products/objects/category.md)

Category associated with the menu item.

<a id="collection"></a>

#### [`collection`](#collection) ● [`Collection`](/api-reference/products/objects/collection.md)

A collection associated with this menu item.

Requires one of the following permissions to include the unpublished items: MANAGE\_ORDERS MANAGE\_DISCOUNTS MANAGE\_PRODUCTS

<a id="page"></a>

#### [`page`](#page) ● [`Page`](/api-reference/pages/objects/page.md)

A page associated with this menu item.

Requires the MANAGE\_PAGES permission.

<a id="level"></a>

#### [`level`](#level) ● [`Int!`](/api-reference/miscellaneous/scalars/int.md)

Indicates the position of the menu item within the menu structure.

<a id="children"></a>

#### [`children`](#children) ● [`[MenuItem!]`](/api-reference/menu/objects/menu-item.md)

Represents the child items of the current menu item.

<a id="url"></a>

#### [`url`](#url) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

URL to the menu item.

<a id="translation"></a>

#### [`translation`](#translation) ● [`MenuItemTranslation`](/api-reference/menu/objects/menu-item-translation.md)

Returns translated menu item fields for the given language code.

<a id="menu-item-translation-language-code"></a>

##### [`languageCode`](#menu-item-translation-language-code) ● [`LanguageCodeEnum!`](/api-reference/miscellaneous/enums/language-code-enum.md)

A language code to return the translation for menu item.

<a id="interfaces"></a>

### Interfaces

<a id="node"></a>

#### [`Node`](/api-reference/miscellaneous/interfaces/node.md)

An object with an ID

<a id="objectwithmetadata"></a>

#### [`ObjectWithMetadata`](/api-reference/miscellaneous/interfaces/object-with-metadata.md)

<a id="returned-by"></a>

### Returned By

[`menuItem`](/api-reference/menu/queries/menu-item.md) query

<a id="member-of"></a>

### Member Of

[`Menu`](/api-reference/menu/objects/menu.md) object  ● [`MenuItem`](/api-reference/menu/objects/menu-item.md) object  ● [`MenuItemCountableEdge`](/api-reference/menu/objects/menu-item-countable-edge.md) object  ● [`MenuItemCreate`](/api-reference/menu/objects/menu-item-create.md) object  ● [`MenuItemCreated`](/api-reference/menu/objects/menu-item-created.md) object  ● [`MenuItemDelete`](/api-reference/menu/objects/menu-item-delete.md) object  ● [`MenuItemDeleted`](/api-reference/menu/objects/menu-item-deleted.md) object  ● [`MenuItemTranslatableContent`](/api-reference/menu/objects/menu-item-translatable-content.md) object  ● [`MenuItemTranslate`](/api-reference/menu/objects/menu-item-translate.md) object  ● [`MenuItemUpdate`](/api-reference/menu/objects/menu-item-update.md) object  ● [`MenuItemUpdated`](/api-reference/menu/objects/menu-item-updated.md) object
