Skip to content
Esc
↑↓navigate↵open⌘Jpreview

v1Products

Query products with filtering, pagination, and sorting capabilities

v1Productsquery
Arguments
searchString

Full-text search over product name, description, and SKU (max 200 characters)

Nested AND/OR filter tree to narrow products by status, category, price, stock, attributes, and more

pageInt

Page number (1-based, default 1)

perPageInt

Page size (default 25, max 50)

Sort fields and directions; multiple entries apply in order

marketSlugString!required

Market slug used to resolve prices and market-specific product data. Required

storeGroupSlugString!required

Store group slug used to resolve prices and store-specific product data. Required

warehouseSlugString

Warehouse slug for stock filters and stock-based sorting. Required when filter or sort uses stock

relatedProducts[String!]

Relation type slugs to include on each product's relatedProducts field (e.g. color). Omit to return all relation types

localeString!required

Locale for translated fields (e.g. en, sv). Required

channelSlugString

When set, only products assigned to this sales channel are returned

groupFlexibleProductsBoolean

When true, returns one hit per flexible variant group instead of one per variant

Returns

Products with pagination information

Query Reference
query V1Products($search: String, $filter: ProductFilter, $page: Int, $perPage: Int, $sortBy: [ProductSortInput!], $marketSlug: String!, $storeGroupSlug: String!, $warehouseSlug: String, $relatedProducts: [String!], $locale: String!, $channelSlug: String, $groupFlexibleProducts: Boolean) {  v1Products(search: $search, filter: $filter, page: $page, perPage: $perPage, sortBy: $sortBy, marketSlug: $marketSlug, storeGroupSlug: $storeGroupSlug, warehouseSlug: $warehouseSlug, relatedProducts: $relatedProducts, locale: $locale, channelSlug: $channelSlug, groupFlexibleProducts: $groupFlexibleProducts) {    products {      id      sku      productType      slug      name      description      htmlDescription      shortDescription      htmlShortDescription      metaTitle      metaDescription      variantGroupName      variantGroupPriority      variantGroupSlug      variantGroupBaseProductID      hasActiveVariants      status      createdAt      updatedAt    }    pageInfo {      totalPages      currentPage      hasNextPage      hasPreviousPage    }  }}
input ProductFilter {
  all: [ProductFilter!]
  any: [ProductFilter!]
  none: [ProductFilter!]
  conditions: FilterCondition
}

input FilterCondition {
  status: [ProductFilterStatus!]
  brandsSlug: [String!]
  seriesSlug: [String!]
  inStock: Boolean
  priceGte: Float
  priceLte: Float
  categoryUrls: [String!]
  collectionUris: [String!]
  tagKeys: [String!]
  attributeKeys: [String!]
  customField: CustomFieldFilter
  collections: CollectionFilter
  categories: CategoryFilter
  tags: TagFilter
  skus: [String!]
  slugs: [String!]
  ids: [String!]
  hasActiveVariants: Boolean
}

enum ProductFilterStatus {
  ACTIVE
  INACTIVE
  ARCHIVED
}

input CustomFieldFilter {
  key: String!
  values: [String!]!
  operator: StringOperator
}

enum StringOperator {
  EQUALS
  CONTAINS
  STARTS_WITH
  ENDS_WITH
  NOT_EQUALS
}

input CollectionFilter {
  uris: [String!]
  statuses: [String!]
  titles: [String!]
}

input CategoryFilter {
  urls: [String!]
  statuses: [String!]
  names: [String!]
}

input TagFilter {
  keys: [String!]
  statuses: [String!]
  filterable: [Boolean!]
}

input ProductSortInput {
  rule: SortBy!
  categoryId: String
  categoryUrl: String
  collectionId: String
  collectionUri: String
  tagId: String
  tagKey: String
  storeGroupSlug: String
  marketSlug: String
}

enum SortBy {
  NAME_ASC
  NAME_DESC
  CREATED_AT_ASC
  CREATED_AT_DESC
  UPDATED_AT_ASC
  UPDATED_AT_DESC
  CATEGORY_ORDER_ASC
  CATEGORY_ORDER_DESC
  COLLECTION_ORDER_ASC
  COLLECTION_ORDER_DESC
  PRICE_ASC
  PRICE_DESC
  TAG_ORDER_ASC
  TAG_ORDER_DESC
  RELEVANCY
  MOST_POPULAR
}
Try it
Server
Bodyapplication/json
Request
curl -X POST 'https://graphql.enad.io/{app_id}/graphql' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": "query V1Products($search: String, $filter: ProductFilter, $page: Int, $perPage: Int, $sortBy: [ProductSortInput!], $marketSlug: String!, $storeGroupSlug: String!, $warehouseSlug: String, $relatedProducts: [String!], $locale: String!, $channelSlug: String, $groupFlexibleProducts: Boolean) {\n  v1Products(search: $search, filter: $filter, page: $page, perPage: $perPage, sortBy: $sortBy, marketSlug: $marketSlug, storeGroupSlug: $storeGroupSlug, warehouseSlug: $warehouseSlug, relatedProducts: $relatedProducts, locale: $locale, channelSlug: $channelSlug, groupFlexibleProducts: $groupFlexibleProducts) {\n    products {\n      id\n      sku\n      productType\n      slug\n      name\n      description\n      htmlDescription\n      shortDescription\n      htmlShortDescription\n      metaTitle\n      metaDescription\n      variantGroupName\n      variantGroupPriority\n      variantGroupSlug\n      variantGroupBaseProductID\n      hasActiveVariants\n      status\n      createdAt\n      updatedAt\n    }\n    pageInfo {\n      totalPages\n      currentPage\n      hasNextPage\n      hasPreviousPage\n    }\n  }\n}",
  "variables": {
    "search": "string",
    "filter": {
      "all": [
        {
          "all": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "any": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "none": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "conditions": {
            "status": [
              "ACTIVE"
            ],
            "brandsSlug": [
              "string"
            ],
            "seriesSlug": [
              "string"
            ],
            "inStock": true,
            "priceGte": 0,
            "priceLte": 0,
            "categoryUrls": [
              "string"
            ],
            "collectionUris": [
              "string"
            ],
            "tagKeys": [
              "string"
            ],
            "attributeKeys": [
              "string"
            ],
            "customField": null,
            "collections": null,
            "categories": null,
            "tags": null,
            "skus": [
              "string"
            ],
            "slugs": [
              "string"
            ],
            "ids": [
              "string"
            ],
            "hasActiveVariants": true
          }
        }
      ],
      "any": [
        {
          "all": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "any": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "none": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "conditions": {
            "status": [
              "ACTIVE"
            ],
            "brandsSlug": [
              "string"
            ],
            "seriesSlug": [
              "string"
            ],
            "inStock": true,
            "priceGte": 0,
            "priceLte": 0,
            "categoryUrls": [
              "string"
            ],
            "collectionUris": [
              "string"
            ],
            "tagKeys": [
              "string"
            ],
            "attributeKeys": [
              "string"
            ],
            "customField": null,
            "collections": null,
            "categories": null,
            "tags": null,
            "skus": [
              "string"
            ],
            "slugs": [
              "string"
            ],
            "ids": [
              "string"
            ],
            "hasActiveVariants": true
          }
        }
      ],
      "none": [
        {
          "all": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "any": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "none": [
            {
              "all": [
                {}
              ],
              "any": [
                {}
              ],
              "none": [
                {}
              ],
              "conditions": null
            }
          ],
          "conditions": {
            "status": [
              "ACTIVE"
            ],
            "brandsSlug": [
              "string"
            ],
            "seriesSlug": [
              "string"
            ],
            "inStock": true,
            "priceGte": 0,
            "priceLte": 0,
            "categoryUrls": [
              "string"
            ],
            "collectionUris": [
              "string"
            ],
            "tagKeys": [
              "string"
            ],
            "attributeKeys": [
              "string"
            ],
            "customField": null,
            "collections": null,
            "categories": null,
            "tags": null,
            "skus": [
              "string"
            ],
            "slugs": [
              "string"
            ],
            "ids": [
              "string"
            ],
            "hasActiveVariants": true
          }
        }
      ],
      "conditions": {
        "status": [
          "ACTIVE"
        ],
        "brandsSlug": [
          "string"
        ],
        "seriesSlug": [
          "string"
        ],
        "inStock": true,
        "priceGte": 0,
        "priceLte": 0,
        "categoryUrls": [
          "string"
        ],
        "collectionUris": [
          "string"
        ],
        "tagKeys": [
          "string"
        ],
        "attributeKeys": [
          "string"
        ],
        "customField": {
          "key": "string",
          "values": [
            "string"
          ],
          "operator": "EQUALS"
        },
        "collections": {
          "uris": [
            "string"
          ],
          "statuses": [
            "string"
          ],
          "titles": [
            "string"
          ]
        },
        "categories": {
          "urls": [
            "string"
          ],
          "statuses": [
            "string"
          ],
          "names": [
            "string"
          ]
        },
        "tags": {
          "keys": [
            "string"
          ],
          "statuses": [
            "string"
          ],
          "filterable": [
            true
          ]
        },
        "skus": [
          "string"
        ],
        "slugs": [
          "string"
        ],
        "ids": [
          "string"
        ],
        "hasActiveVariants": true
      }
    },
    "page": 0,
    "perPage": 0,
    "sortBy": [
      {
        "rule": "NAME_ASC",
        "categoryId": "string",
        "categoryUrl": "string",
        "collectionId": "string",
        "collectionUri": "string",
        "tagId": "string",
        "tagKey": "string",
        "storeGroupSlug": "string",
        "marketSlug": "string"
      }
    ],
    "marketSlug": "string",
    "storeGroupSlug": "string",
    "warehouseSlug": "string",
    "relatedProducts": [
      "string"
    ],
    "locale": "string",
    "channelSlug": "string",
    "groupFlexibleProducts": true
  }
}'
Response
{
  "data": {
    "v1Products": {
      "products": [
        {
          "id": "string",
          "sku": "string",
          "productType": "FLEXIBLE",
          "slug": "string",
          "name": "string",
          "description": "string",
          "htmlDescription": "string",
          "shortDescription": "string",
          "htmlShortDescription": "string",
          "metaTitle": "string",
          "metaDescription": "string",
          "variantGroupName": "string",
          "variantGroupPriority": 0,
          "variantGroupSlug": "string",
          "variantGroupBaseProductID": "string",
          "hasActiveVariants": true,
          "status": "ACTIVE",
          "createdAt": "string",
          "updatedAt": null
        }
      ],
      "pageInfo": {
        "totalPages": 0,
        "currentPage": 0,
        "hasNextPage": true,
        "hasPreviousPage": true
      }
    }
  }
}