GET
/
admin
/
product-categories
import Medusa from "@medusajs/js-sdk"

export const sdk = new Medusa({
  baseUrl: import.meta.env.VITE_BACKEND_URL || "/",
  debug: import.meta.env.DEV,
  auth: {
    type: "session",
  },
})

sdk.admin.productCategory.list()
.then(({ product_categories, count, limit, offset }) => {
  console.log(product_categories)
})
{
"limit": 123,
"offset": 123,
"count": 123,
"product_categories": [
{
"category_children": [
{}
],
"parent_category": {},
"products": [
{}
],
"name": "<string>",
"description": "<string>",
"id": "<string>",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"handle": "<string>",
"deleted_at": "2023-11-07T05:31:56Z",
"is_active": true,
"is_internal": true,
"rank": 123,
"parent_category_id": "<string>"
}
],
"estimate_count": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

fields
string

Comma-separated fields that should be included in the returned data. if a field is prefixed with + it will be added to the default fields, using - will remove it from the default fields. without prefix it will replace the entire default fields. This API route restricts the fields that can be selected. Learn how to override the retrievable fields in the Retrieve Custom Links documentation.

offset
number

The number of items to skip when retrieving a list.

limit
number

Limit the number of items returned in the list.

order
string

The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with -.

q
string

Search term to filter on the product category's searchable properties.

id

Filter by a product category's ID.

description

Filter by the category's description. This performs a full-text search. To do keyword search, use the q parameter instead.

handle

Filter by a category's handle.

parent_category_id

Filter by a parent category's ID to retrieve its child categories.

include_ancestors_tree
boolean

Whether to include the parent category of each category. If you enable this, add to the fields query parameter parent_category to set the parent of a category in this field. You can either pass *parent_category to retreieve the fields of all parent categories, or select specific fields to make the response size smaller. For example, fields=parent_category.id,parent_category.name.

include_descendants_tree
boolean

Whether to include the child categories of each category. If you enable this, add to the fields query parameter category_children to set the children of a category in this field. You can either pass *category_children to retreieve the fields of all child categories, or select specific fields to make the response size smaller. For example, fields=category_children.id,category_children.name.

is_internal
boolean

Filter by whether the category is internal.

is_active
boolean

Filter by whether the category is active.

created_at
object

Filter by the category's creation date.

updated_at
object

Filter by the category's update date.

deleted_at
object

Filter by the category's deletion date.

$and
$and · object[]

Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.

$or
$or · object[]

Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.

name

The product category's name.

with_deleted
boolean

Whether to include deleted records in the result.

Response

200
application/json

OK

The paginated list of product categories.