> ## Documentation Index
> Fetch the complete documentation index at: https://redo-44af351d-docs-v3-graphql-api-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Catalog

> Products, product families, and their attributes, options, and media.

## Queries

* [`product`](/docs/api-reference/v3/reference/catalog/queries/product) — Fetch
  a single product by its id.
* [`productFamilies`](/docs/api-reference/v3/reference/catalog/queries/product-families)
  — List product families.
* [`productFamily`](/docs/api-reference/v3/reference/catalog/queries/product-family)
  — Fetch a single product family by its id.
* [`products`](/docs/api-reference/v3/reference/catalog/queries/products) — List
  products, optionally filtered by product family.

## Mutations

* [`createProductFamily`](/docs/api-reference/v3/reference/catalog/mutations/create-product-family)
  — Create a new product family.

## Objects

* [Attribute](/docs/api-reference/v3/reference/catalog/attribute) — A typed
  attribute defined by the merchant and attached to a product or product family.
* [Dimensions](/docs/api-reference/v3/reference/catalog/dimensions) — A
  product's length, width, and height expressed in a single shared unit.
* [Product](/docs/api-reference/v3/reference/catalog/product) — A specific
  sellable product (a variant under a product family).
* [ProductFamily](/docs/api-reference/v3/reference/catalog/product-family) — A
  merchant catalog item — a group of related products (variants).
* [ProductFamilyImage](/docs/api-reference/v3/reference/catalog/product-family-image)
  — An image attached to a product family.
* [ProductFamilyOption](/docs/api-reference/v3/reference/catalog/product-family-option)
  — A variant option (e.g. Size, Color) for a product family, with its allowed
  values.
* [ProductImage](/docs/api-reference/v3/reference/catalog/product-image) — An
  image attached to a specific product (variant).
* [ProductOptionValue](/docs/api-reference/v3/reference/catalog/product-option-value)
  — A variant's selected value for one of its family's options (e.g. Size: M).
* [Weight](/docs/api-reference/v3/reference/catalog/weight) — A weight as a
  `{ value, unit }` pair, e.g. `{ value: 1.5, unit: KILOGRAM }`.

## Input objects

* [CreateProductFamilyInput](/docs/api-reference/v3/reference/catalog/create-product-family-input)
  — The input for creating a new product family.
* [CreateProductInput](/docs/api-reference/v3/reference/catalog/create-product-input)
  — A product (variant) to create under the new family.
* [ProductFamilyOptionInput](/docs/api-reference/v3/reference/catalog/product-family-option-input)
  — An option (e.g. Size) to create on the new family.
* [ProductOptionValueInput](/docs/api-reference/v3/reference/catalog/product-option-value-input)
  — A variant's selected value for one of the family's options (e.g. Size: M).

## Enums

* [AttributeType](/docs/api-reference/v3/reference/catalog/attribute-type) — The
  data type of a merchant-defined attribute. Determines the JSON shape of the
  attribute's `value` (documented on each enum value).
* [DimensionUnit](/docs/api-reference/v3/reference/catalog/dimension-unit) — A
  unit of length used to express a product's dimensions.
* [ProductFamilySortKey](/docs/api-reference/v3/reference/catalog/product-family-sort-key)
  — A field this list can be ordered by; pass to the list's `orderBy` argument
  and pair with `reverse` to flip direction.
* [ProductSortKey](/docs/api-reference/v3/reference/catalog/product-sort-key) —
  A field this list can be ordered by; pass to the list's `orderBy` argument and
  pair with `reverse` to flip direction.
* [WeightUnit](/docs/api-reference/v3/reference/catalog/weight-unit) — A unit of
  mass used to express a product's weight.
