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

# Menu Object

Represents a single menu - an object that is used to help navigate through the store.

```graphql
type Menu 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!
  slug: String!
  items: [MenuItem!]
}
```

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

### Fields

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

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

The ID of the menu.

<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-private-metafield-key"></a>

##### [`key`](#menu-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-private-metafields-keys"></a>

##### [`keys`](#menu-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-metafield-key"></a>

##### [`key`](#menu-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-metafields-keys"></a>

##### [`keys`](#menu-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.

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

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

Slug of the menu.

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

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

Menu items associated with this menu.

<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

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

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

### Member Of

[`AssignNavigation`](/api-reference/menu/objects/assign-navigation.md) object  ● [`MenuCountableEdge`](/api-reference/menu/objects/menu-countable-edge.md) object  ● [`MenuCreate`](/api-reference/menu/objects/menu-create.md) object  ● [`MenuCreated`](/api-reference/menu/objects/menu-created.md) object  ● [`MenuDelete`](/api-reference/menu/objects/menu-delete.md) object  ● [`MenuDeleted`](/api-reference/menu/objects/menu-deleted.md) object  ● [`MenuItem`](/api-reference/menu/objects/menu-item.md) object  ● [`MenuItemMove`](/api-reference/menu/objects/menu-item-move.md) object  ● [`MenuUpdate`](/api-reference/menu/objects/menu-update.md) object  ● [`MenuUpdated`](/api-reference/menu/objects/menu-updated.md) object
