# Catalog

> Type in domain **Catalogs**

- HTML: [Catalog.html](Catalog.html)
- Raw SDL: [Catalog.sdl](Catalog.sdl)
- Covered by: [llms.txt](../llms.txt)

Implements: `Node`

## Fields

- `id`: `ID!` _(beta)_ — `Catalog` id.
- `name`: `String!` _(beta)_ — `name` of the `Catalog`.
- `createdAt`: `DateTime!` _(beta)_ — `DateTime` of the `Catalog` creation.
- `updatedAt`: `DateTime` _(beta)_ — `DateTime` of the `Catalog` last update.
- `rows` (`limit`: `Int`, `page`: `Int`): `CatalogRowItems!` _(beta)_ — `rows` of the `Catalog`.
- `columns` (`limit`: `Int`, `page`: `Int`): `CatalogColumnItems!` _(beta)_ — `columns` of the `Catalog`.
- `window` (`columns`: `CatalogWindowPaginationInput!`, `rows`: `CatalogWindowPaginationInput!`): `CatalogWindow!` _(beta)_ — A rectangular page of catalog data whose cells correspond to the selected columns. One catalog window can contain at most 2,500 cell coordinates.
- `primaryColumn`: `CatalogColumn` _(beta)_ — Primary `CatalogColumn` of the `Catalog`.
- `cellsByPrimaryKey` (`primaryKey`: `String!`, `columnIds`: `[ID!]!`): `[CatalogCell!]!` _(beta)_ — Fetch cells for a row identified by its primary key value.
- `columnFilter` (`columnId`: `ID!`, `activeFilters`: `[ColumnFilterInput!]`, `query`: `String`, `columnQuery`: `String`, `limit`: `Int`, `page`: `Int`): `ColumnFilter` _(beta)_ — Get a paginated page of filter values (with counts) for one column. Returns null when the column does not belong to the catalog. Items are ordered by `count DESC, value ASC`.
- `usageReasons`: `[CatalogUsageReason!]!` _(beta)_ — Why this `Catalog` is currently in use, as reason codes. Empty when it is not in use.
- `searchCells` (`query`: `String!`, `columnFilters`: `[ColumnFilterInput!]`, `columnIds`: `[ID!]!`): `[CatalogCell!]!` _(beta)_ — Search catalog cells by query and column filters. Query is split by whitespace; each part must match (case-insensitive) in at least one cell per row. Column filters match entire cell values; multiple values for the same column are OR'd, cross-column is AND'd. Results limited to 100 rows.

## Related mutations

- [`createCatalog`](../mutation/createCatalog.md)
- [`removeCatalog`](../mutation/removeCatalog.md)
- [`updateCatalog`](../mutation/updateCatalog.md)

## Reach via

Example queries that can return this type from the root `Query`.

### `catalog`

```graphql
query Catalog {
  catalog(id: "…") {
    __typename
    columns {
      total
      page
      limit
      hasNextPage
      items {
        __typename
        name
        id
        position
      }
    }
    createdAt
    id
    name
    primaryColumn {
      __typename
      name
      id
      position
    }
    rows {
      total
      page
      limit
      hasNextPage
      items {
        id
        position
        catalog { id }
      }
    }
    updatedAt
    usageReasons
    window {
      columns {
        total
        page
        limit
        hasNextPage
        items { id }
      }
      rows {
        total
        page
        limit
        hasNextPage
        items { __typename }
      }
    }
  }
}
```

Raw: [`Catalog.sdl`](../examples/Catalog.sdl)

### `account › catalogs`

```graphql
query AccountCatalogs {
  account {
    catalogs(limit: 25, page: 1) {
      items {
        __typename
        columns {
          total
          page
          limit
          hasNextPage
          items {
            __typename
            name
            id
            position
          }
        }
        createdAt
        id
        name
        primaryColumn {
          __typename
          name
          id
          position
        }
        rows {
          total
          page
          limit
          hasNextPage
          items {
            id
            position
            catalog { id }
          }
        }
        updatedAt
        usageReasons
        window {
          columns {
            total
            page
            limit
            hasNextPage
            items { id }
          }
          rows {
            total
            page
            limit
            hasNextPage
            items { __typename }
          }
        }
      }
    }
  }
}
```

Raw: [`AccountCatalogs.sdl`](../examples/AccountCatalogs.sdl)

### `catalogSelection › entries › row › catalog`

```graphql
query CatalogSelectionEntriesRowCatalog {
  catalogSelection(id: "…") {
    entries {
      row {
        catalog {
          __typename
          columns {
            total
            page
            limit
            hasNextPage
            items {
              __typename
              name
              id
              position
            }
          }
          createdAt
          id
          name
          primaryColumn {
            __typename
            name
            id
            position
          }
          rows {
            total
            page
            limit
            hasNextPage
            items {
              id
              position
              catalog { id }
            }
          }
          updatedAt
          usageReasons
          window {
            columns {
              total
              page
              limit
              hasNextPage
              items { id }
            }
            rows {
              total
              page
              limit
              hasNextPage
              items { __typename }
            }
          }
        }
      }
    }
  }
}
```

Raw: [`CatalogSelectionEntriesRowCatalog.sdl`](../examples/CatalogSelectionEntriesRowCatalog.sdl)

### `brand › customMetadataProperties › type › catalog`

```graphql
query BrandCustomMetadataPropertiesTypeCatalog {
  brand(id: "…") {
    customMetadataProperties {
      type {
        ... on CustomMetadataPropertyTypeCatalog {
          catalog {
            __typename
            columns {
              total
              page
              limit
              hasNextPage
              items {
                __typename
                name
                id
                position
              }
            }
            createdAt
            id
            name
            primaryColumn {
              __typename
              name
              id
              position
            }
            rows {
              total
              page
              limit
              hasNextPage
              items {
                id
                position
                catalog { id }
              }
            }
            updatedAt
            usageReasons
            window {
              columns {
                total
                page
                limit
                hasNextPage
                items { id }
              }
              rows {
                total
                page
                limit
                hasNextPage
                items { __typename }
              }
            }
          }
        }
      }
    }
  }
}
```

Raw: [`BrandCustomMetadataPropertiesTypeCatalog.sdl`](../examples/BrandCustomMetadataPropertiesTypeCatalog.sdl)

### `library › customMetadataProperties › type › catalog`

```graphql
query LibraryCustomMetadataPropertiesTypeCatalog {
  library(id: "…") {
    customMetadataProperties {
      type {
        ... on CustomMetadataPropertyTypeCatalog {
          catalog {
            __typename
            columns {
              total
              page
              limit
              hasNextPage
              items {
                __typename
                name
                id
                position
              }
            }
            createdAt
            id
            name
            primaryColumn {
              __typename
              name
              id
              position
            }
            rows {
              total
              page
              limit
              hasNextPage
              items {
                id
                position
                catalog { id }
              }
            }
            updatedAt
            usageReasons
            window {
              columns {
                total
                page
                limit
                hasNextPage
                items { id }
              }
              rows {
                total
                page
                limit
                hasNextPage
                items { __typename }
              }
            }
          }
        }
      }
    }
  }
}
```

Raw: [`LibraryCustomMetadataPropertiesTypeCatalog.sdl`](../examples/LibraryCustomMetadataPropertiesTypeCatalog.sdl)

### `brands › customMetadataProperties › type › catalog`

```graphql
query BrandsCustomMetadataPropertiesTypeCatalog {
  brands {
    customMetadataProperties {
      type {
        ... on CustomMetadataPropertyTypeCatalog {
          catalog {
            __typename
            columns {
              total
              page
              limit
              hasNextPage
              items {
                __typename
                name
                id
                position
              }
            }
            createdAt
            id
            name
            primaryColumn {
              __typename
              name
              id
              position
            }
            rows {
              total
              page
              limit
              hasNextPage
              items {
                id
                position
                catalog { id }
              }
            }
            updatedAt
            usageReasons
            window {
              columns {
                total
                page
                limit
                hasNextPage
                items { id }
              }
              rows {
                total
                page
                limit
                hasNextPage
                items { __typename }
              }
            }
          }
        }
      }
    }
  }
}
```

Raw: [`BrandsCustomMetadataPropertiesTypeCatalog.sdl`](../examples/BrandsCustomMetadataPropertiesTypeCatalog.sdl)
