API Reference > Categories & Attributes API

Categories & Attributes API

Last Updated: 2026-07-01

Browse the MallPlus product category tree and retrieve the attribute requirements for each category. Use these endpoints before creating or classifying products so you can map MallPlus categories to your own taxonomy and supply every attribute a category expects.

Categories and attributes are managed by the MallPlus operations team and cannot be created or modified through the Open Platform API.

List Categories

GET/open/v1/categoriesScope: catalog:read

Returns the list of product categories defined in the MallPlus catalog. Categories are organized in a hierarchical tree; each item exposes parent_category_id so you can reconstruct the full parent → child structure. Root categories have parent_category_id: null.

Query Parameters

ParameterDescription
pagePage number for pagination. Defaults to 1.
limitItems per page. Defaults to the standard page size.

Example Response

{
  "success": true,
  "data": [
    {
      "id": "pcat_apparel",
      "name": "Apparel",
      "handle": "apparel",
      "description": "Clothing and wearables",
      "parent_category_id": null
    },
    {
      "id": "pcat_mens_clothing",
      "name": "Men's Clothing",
      "handle": "mens-clothing",
      "parent_category_id": "pcat_apparel"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42
  }
}

handle and description are optional and only appear when set on the category.

Category Tree Structure

Reconstruct the tree by grouping categories on parent_category_id. Fetch root categories (parent_category_id: null) first, then link each child to its parent as you build a category picker or mapping tool.

Apparel
Men's Clothing
T-Shirts
Pants
Women's Clothing
Accessories
Bags
Wallets

Get Category Attributes

GET/open/v1/categories/:id/attributesScope: catalog:read

Returns the attribute definitions that apply to a single category. Use this before creating a product in that category so you supply every required attribute with a valid value. An unknown category ID returns 404 NOT_FOUND.

Response Fields

FieldDescription
attribute_idStable identifier for the attribute.
nameHuman-readable attribute name.
typeInput type (e.g. select, text). Optional.
required Whether a value must be supplied when creating a product in this category.
allowed_values Permitted values for select-type attributes. Present only when the attribute constrains its values.

Example Response

{
  "success": true,
  "data": [
    {
      "attribute_id": "attr_color",
      "name": "Color",
      "type": "select",
      "required": true,
      "allowed_values": ["Black", "White", "Red", "Blue"]
    },
    {
      "attribute_id": "attr_material",
      "name": "Material",
      "type": "text",
      "required": false
    }
  ]
}

List All Attributes

GET/open/v1/attributesScope: catalog:read

Returns the full catalogue of product attribute definitions across all categories. Use it to build a local attribute dictionary; call Get Category Attributes when you need to know which of them a specific category requires.

Query Parameters

ParameterDescription
pagePage number for pagination. Defaults to 1.
limitItems per page. Defaults to the standard page size.

Example Response

{
  "success": true,
  "data": [
    {
      "attribute_id": "attr_color",
      "name": "Color",
      "type": "select"
    },
    {
      "attribute_id": "attr_material",
      "name": "Material",
      "type": "text"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 58
  }
}

The catalogue-wide list omits required and allowed_values — those are category-specific and only returned by Get Category Attributes.