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

# Collection Object

Represents a collection of products.

```graphql
type Collection 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
  seoTitle: String
  seoDescription: String
  name: String!
  description: JSONString
  slug: String!
  channel: String
  descriptionJson: JSONString @deprecated
  products(
    filter: ProductFilterInput
    where: ProductWhereInput
    search: String
    sortBy: ProductOrder
    before: String
    after: String
    first: Int
    last: Int
  ): ProductCountableConnection
  backgroundImage(
    size: Int
    format: ThumbnailFormatEnum = ORIGINAL
  ): Image
  translation(
    languageCode: LanguageCodeEnum!
  ): CollectionTranslation
  channelListings: [CollectionChannelListing!]
}
```

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

### Fields

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

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

The ID of the collection.

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

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

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

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

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

<a id="seo-title"></a>

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

SEO title of the collection.

<a id="seo-description"></a>

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

SEO description of the collection.

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

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

Name of the collection.

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

#### [`description`](#description) ● [`JSONString`](/api-reference/miscellaneous/scalars/jsonstring.md)

Description of the collection.

Rich text format. For reference see [https://editorjs.io/](https://editorjs.io/)

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

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

Slug of the collection.

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

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

Channel given to retrieve this collection. Also used by federation gateway to resolve this object in a federated query.

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

#### [`products`](#products) ● [`ProductCountableConnection`](/api-reference/products/objects/product-countable-connection.md)

List of products in this collection.

<a id="collection-products-filter"></a>

##### [`filter`](#collection-products-filter) ● [`ProductFilterInput`](/api-reference/products/inputs/product-filter-input.md)

DEPRECATED

Use `where` filter instead.

Filtering options for products.

<a id="collection-products-where"></a>

##### [`where`](#collection-products-where) ● [`ProductWhereInput`](/api-reference/products/inputs/product-where-input.md)

Where filtering options for products.

<a id="collection-products-search"></a>

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

Search products.

<a id="collection-products-sort-by"></a>

##### [`sortBy`](#collection-products-sort-by) ● [`ProductOrder`](/api-reference/products/inputs/product-order.md)

Sort products.

<a id="collection-products-before"></a>

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

Return the elements in the list that come before the specified cursor.

<a id="collection-products-after"></a>

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

Return the elements in the list that come after the specified cursor.

<a id="collection-products-first"></a>

##### [`first`](#collection-products-first) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="collection-products-last"></a>

##### [`last`](#collection-products-last) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

<a id="background-image"></a>

#### [`backgroundImage`](#background-image) ● [`Image`](/api-reference/miscellaneous/objects/image.md)

Background image of the collection.

<a id="collection-background-image-size"></a>

##### [`size`](#collection-background-image-size) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

Desired longest side the image in pixels. Defaults to 4096. Images are never cropped. Pass 0 to retrieve the original size (not recommended).

<a id="collection-background-image-format"></a>

##### [`format`](#collection-background-image-format) ● [`ThumbnailFormatEnum`](/api-reference/miscellaneous/enums/thumbnail-format-enum.md)

The format of the image. When not provided, format of the original image will be used.

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

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

Returns translated collection fields for the given language code.

<a id="collection-translation-language-code"></a>

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

A language code to return the translation for collection.

<a id="channel-listings"></a>

#### [`channelListings`](#channel-listings) ● [`[CollectionChannelListing!]`](/api-reference/products/objects/collection-channel-listing.md)

List of channels in which the collection is available.

Requires the MANAGE\_PRODUCTS permission.

Show deprecatedHide deprecated

<a id="description-json"></a>

#### [`descriptionJson`](#description-json) ● [`JSONString`](/api-reference/miscellaneous/scalars/jsonstring.md)

DEPRECATED

Use the `description` field instead.

Description of the collection.

Rich text format. For reference see [https://editorjs.io/](https://editorjs.io/)

<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

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

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

### Member Of

[`AssignedMultiCollectionReferenceAttribute`](/api-reference/attributes/objects/assigned-multi-collection-reference-attribute.md) object  ● [`AssignedSingleCollectionReferenceAttribute`](/api-reference/attributes/objects/assigned-single-collection-reference-attribute.md) object  ● [`CollectionAddProducts`](/api-reference/products/objects/collection-add-products.md) object  ● [`CollectionChannelListingUpdate`](/api-reference/products/objects/collection-channel-listing-update.md) object  ● [`CollectionCountableEdge`](/api-reference/products/objects/collection-countable-edge.md) object  ● [`CollectionCreate`](/api-reference/products/objects/collection-create.md) object  ● [`CollectionCreated`](/api-reference/products/objects/collection-created.md) object  ● [`CollectionDelete`](/api-reference/products/objects/collection-delete.md) object  ● [`CollectionDeleted`](/api-reference/products/objects/collection-deleted.md) object  ● [`CollectionMetadataUpdated`](/api-reference/products/objects/collection-metadata-updated.md) object  ● [`CollectionRemoveProducts`](/api-reference/products/objects/collection-remove-products.md) object  ● [`CollectionReorderProducts`](/api-reference/products/objects/collection-reorder-products.md) object  ● [`CollectionTranslatableContent`](/api-reference/products/objects/collection-translatable-content.md) object  ● [`CollectionTranslate`](/api-reference/products/objects/collection-translate.md) object  ● [`CollectionUpdate`](/api-reference/products/objects/collection-update.md) object  ● [`CollectionUpdated`](/api-reference/products/objects/collection-updated.md) object  ● [`MenuItem`](/api-reference/menu/objects/menu-item.md) object  ● [`Product`](/api-reference/products/objects/product.md) object

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

### Implemented By

[`_Entity`](/api-reference/miscellaneous/unions/entity.md) union
