> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/miscellaneous/llms.txt)
> Source: https://docs.saleor.io/api-reference/miscellaneous/interfaces/object-with-metadata

# ObjectWithMetadata Interface

No description

```graphql
interface ObjectWithMetadata {
  privateMetadata: [MetadataItem!]!
  privateMetafield(key: String!): String
  privateMetafields(keys: [String!]): Metadata
  metadata: [MetadataItem!]!
  metafield(key: String!): String
  metafields(keys: [String!]): Metadata
}
```

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

### Fields

<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="object-with-metadata-private-metafield-key"></a>

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

##### [`keys`](#object-with-metadata-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="object-with-metadata-metafield-key"></a>

##### [`key`](#object-with-metadata-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="object-with-metadata-metafields-keys"></a>

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

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

### Member Of

[`DeleteMetadata`](/api-reference/miscellaneous/objects/delete-metadata.md) object  ● [`DeletePrivateMetadata`](/api-reference/miscellaneous/objects/delete-private-metadata.md) object  ● [`UpdateMetadata`](/api-reference/miscellaneous/objects/update-metadata.md) object  ● [`UpdatePrivateMetadata`](/api-reference/miscellaneous/objects/update-private-metadata.md) object

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

### Implemented By

[`Address`](/api-reference/users/objects/address.md) object  ● [`App`](/api-reference/apps/objects/app.md) object  ● [`Attribute`](/api-reference/attributes/objects/attribute.md) object  ● [`Category`](/api-reference/products/objects/category.md) object  ● [`Channel`](/api-reference/channels/objects/channel.md) object  ● [`Checkout`](/api-reference/checkout/objects/checkout.md) object  ● [`CheckoutLine`](/api-reference/checkout/objects/checkout-line.md) object  ● [`Collection`](/api-reference/products/objects/collection.md) object  ● [`CustomerType`](/api-reference/users/objects/customer-type.md) object  ● [`Fulfillment`](/api-reference/orders/objects/fulfillment.md) object  ● [`GiftCard`](/api-reference/gift-cards/objects/gift-card.md) object  ● [`Invoice`](/api-reference/orders/objects/invoice.md) object  ● [`Menu`](/api-reference/menu/objects/menu.md) object  ● [`MenuItem`](/api-reference/menu/objects/menu-item.md) object  ● [`Order`](/api-reference/orders/objects/order.md) object  ● [`OrderLine`](/api-reference/orders/objects/order-line.md) object  ● [`Page`](/api-reference/pages/objects/page.md) object  ● [`PageType`](/api-reference/pages/objects/page-type.md) object  ● [`Payment`](/api-reference/payments/objects/payment.md) object  ● [`Product`](/api-reference/products/objects/product.md) object  ● [`ProductMedia`](/api-reference/products/objects/product-media.md) object  ● [`ProductType`](/api-reference/products/objects/product-type.md) object  ● [`ProductVariant`](/api-reference/products/objects/product-variant.md) object  ● [`Promotion`](/api-reference/discounts/objects/promotion.md) object  ● [`Sale`](/api-reference/discounts/objects/sale.md) object  ● [`ShippingMethod`](/api-reference/shipping/objects/shipping-method.md) object  ● [`ShippingMethodType`](/api-reference/shipping/objects/shipping-method-type.md) object  ● [`ShippingZone`](/api-reference/shipping/objects/shipping-zone.md) object  ● [`Shop`](/api-reference/miscellaneous/objects/shop.md) object  ● [`TaxClass`](/api-reference/taxes/objects/tax-class.md) object  ● [`TaxConfiguration`](/api-reference/taxes/objects/tax-configuration.md) object  ● [`TransactionItem`](/api-reference/payments/objects/transaction-item.md) object  ● [`User`](/api-reference/users/objects/user.md) object  ● [`Voucher`](/api-reference/discounts/objects/voucher.md) object  ● [`Warehouse`](/api-reference/products/objects/warehouse.md) object
