Skip to main content
POST
/
admin
/
product-categories
JS SDK
import Switchyard from "@switchyard/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.create({
  name: "Shirts"
})
.then(({ product_category }) => {
  console.log(product_category)
})
{
"product_category": {
"category_children": [
{}
],
"parent_category": {},
"name": "<string>",
"description": "<string>",
"id": "<string>",
"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>",
"products": [
{}
],
"metadata": {}
}
}

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.

include_ancestors_tree
boolean

Whether to retrieve the category's parent. 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 retrieve a list of child categories. If you enable this, add to the fields query parameter category_children to set the child 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.

Body

application/json

The product category's details.

name
string
required

The product category's name.

description
string

The product category's description.

handle
string

The product category's handle.

is_internal
boolean

Whether the product category is only used and seen by admin users.

is_active
boolean

Whether the product category is active.

parent_category_id
string

The ID of a category that's the parent of this one.

rank
number

The sorting order of the product category among sibling categories.

metadata
object

The product category's metadata, used to store custom key-value pairs.

Response

OK

The product category's details.

product_category
object
required

The product category's details.