data-src=../../../../includes/paas-only.md
categoryList query
The categoryList query searches for categories that match the criteria specified in filters. It replaces the deprecated category query, which allowed you to search by category ID only.
data-variant=info
data-slots=text
categories query if you expect to return a large number of categories.The categoryList query supports the following types of filters. You can specify multiple filters in a query.
- Category ID
- Category name
- Parent category ID
- URL key
- URL path
If you do not provide any filter input, the query returns the root category.
The query returns a CategoryTree object. The top level of the CategoryTree object provides details about the queried category. This object includes the children attribute, which contains an array of its immediate subcategories.
data-variant=info
data-slots=text
queryDepth attribute defined in the GraphQL di.xml file. By default, this value is 20. Query security further describes query depths.Use the breadcrumbs attribute to return information about the parent categories of the queried category.
Syntax
categoryList (
filters: CategoryFilterInput
): CategoryTree
Reference
The categoryList reference provides detailed information about the types and fields defined in this query.
Example usage
Return the category tree of a top-level category
The following query returns information about category IDs 12 and 21 and two levels of subcategories. In the sample data, category IDs 11 and 20 are assigned to the Men and Women categories, respectively.
Request:
{
categoryList(
filters: {
ids: {in: ["12", "21"]}
parent_id: {in: ["2"]}
}
) {
children_count
children {
uid
level
name
path
url_path
url_key
children {
uid
level
name
path
url_path
url_key
}
}
}
}
Response:
{
"data": {
"categoryList": [
{
"children_count": "8",
"children": [
{
"uid": "MjM=",
"level": 3,
"name": "Bottoms",
"path": "1/2/21/23",
"url_path": "women/bottoms-women",
"url_key": "bottoms-women",
"children": [
{
"uid": "Mjg=",
"level": 4,
"name": "Pants",
"path": "1/2/21/23/28",
"url_path": "women/bottoms-women/pants-women",
"url_key": "pants-women"
},
{
"uid": "Mjk=",
"level": 4,
"name": "Shorts",
"path": "1/2/21/23/29",
"url_path": "women/bottoms-women/shorts-women",
"url_key": "shorts-women"
}
]
},
{
"uid": "MjI=",
"level": 3,
"name": "Tops",
"path": "1/2/21/22",
"url_path": "women/tops-women",
"url_key": "tops-women",
"children": [
{
"uid": "MjQ=",
"level": 4,
"name": "Jackets",
"path": "1/2/21/22/24",
"url_path": "women/tops-women/jackets-women",
"url_key": "jackets-women"
},
{
"uid": "MjU=",
"level": 4,
"name": "Hoodies & Sweatshirts",
"path": "1/2/21/22/25",
"url_path": "women/tops-women/hoodies-and-sweatshirts-women",
"url_key": "hoodies-and-sweatshirts-women"
},
{
"uid": "MjY=",
"level": 4,
"name": "Tees",
"path": "1/2/21/22/26",
"url_path": "women/tops-women/tees-women",
"url_key": "tees-women"
},
{
"uid": "Mjc=",
"level": 4,
"name": "Bras & Tanks",
"path": "1/2/21/22/27",
"url_path": "women/tops-women/tanks-women",
"url_key": "tanks-women"
}
]
}
]
},
{
"children_count": "8",
"children": [
{
"uid": "MTQ=",
"level": 3,
"name": "Bottoms",
"path": "1/2/12/14",
"url_path": "men/bottoms-men",
"url_key": "bottoms-men",
"children": [
{
"uid": "MTk=",
"level": 4,
"name": "Pants",
"path": "1/2/12/14/19",
"url_path": "men/bottoms-men/pants-men",
"url_key": "pants-men"
},
{
"uid": "MjA=",
"level": 4,
"name": "Shorts",
"path": "1/2/12/14/20",
"url_path": "men/bottoms-men/shorts-men",
"url_key": "shorts-men"
}
]
},
{
"uid": "MTM=",
"level": 3,
"name": "Tops",
"path": "1/2/12/13",
"url_path": "men/tops-men",
"url_key": "tops-men",
"children": [
{
"uid": "MTU=",
"level": 4,
"name": "Jackets",
"path": "1/2/12/13/15",
"url_path": "men/tops-men/jackets-men",
"url_key": "jackets-men"
},
{
"uid": "MTY=",
"level": 4,
"name": "Hoodies & Sweatshirts",
"path": "1/2/12/13/16",
"url_path": "men/tops-men/hoodies-and-sweatshirts-men",
"url_key": "hoodies-and-sweatshirts-men"
},
{
"uid": "MTc=",
"level": 4,
"name": "Tees",
"path": "1/2/12/13/17",
"url_path": "men/tops-men/tees-men",
"url_key": "tees-men"
},
{
"uid": "MTg=",
"level": 4,
"name": "Tanks",
"path": "1/2/12/13/18",
"url_path": "men/tops-men/tanks-men",
"url_key": "tanks-men"
}
]
}
]
}
]
}
}
Return breadcrumb information
The following query returns breadcrumb information about categories that have the name Tops.
Request:
{
categoryList(filters: {name: {match: "Tops"}}) {
uid
level
name
breadcrumbs {
category_uid
category_name
category_level
category_url_key
}
}
}
Response:
{
"data": {
"categoryList": [
{
"uid": "MjI=",
"level": 3,
"name": "Tops",
"breadcrumbs": [
{
"category_uid": "MjE=",
"category_name": "Women",
"category_level": 2,
"category_url_key": "women"
}
]
},
{
"uid": "MTM=",
"level": 3,
"name": "Tops",
"breadcrumbs": [
{
"category_uid": "MTI=",
"category_name": "Men",
"category_level": 2,
"category_url_key": "men"
}
]
}
]
}
}