cURL
curl --request GET \
--url https://api-v2.production.higg.org/pm-api/v1/product/category \
--header 'x-api-key: <api-key>' \
--header 'x-developer-request-token: <api-key>'import requests
url = "https://api-v2.production.higg.org/pm-api/v1/product/category"
headers = {
"x-api-key": "<api-key>",
"x-developer-request-token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'x-developer-request-token': '<api-key>'}
};
fetch('https://api-v2.production.higg.org/pm-api/v1/product/category', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.production.higg.org/pm-api/v1/product/category",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-developer-request-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-v2.production.higg.org/pm-api/v1/product/category"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-developer-request-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-v2.production.higg.org/pm-api/v1/product/category")
.header("x-api-key", "<api-key>")
.header("x-developer-request-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.production.higg.org/pm-api/v1/product/category")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["x-developer-request-token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"type": "Apparel",
"categories": {}
}
]PM API
PM Categories
GET
/
category
cURL
curl --request GET \
--url https://api-v2.production.higg.org/pm-api/v1/product/category \
--header 'x-api-key: <api-key>' \
--header 'x-developer-request-token: <api-key>'import requests
url = "https://api-v2.production.higg.org/pm-api/v1/product/category"
headers = {
"x-api-key": "<api-key>",
"x-developer-request-token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'x-developer-request-token': '<api-key>'}
};
fetch('https://api-v2.production.higg.org/pm-api/v1/product/category', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.production.higg.org/pm-api/v1/product/category",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-developer-request-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-v2.production.higg.org/pm-api/v1/product/category"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-developer-request-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-v2.production.higg.org/pm-api/v1/product/category")
.header("x-api-key", "<api-key>")
.header("x-developer-request-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.production.higg.org/pm-api/v1/product/category")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["x-developer-request-token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"type": "Apparel",
"categories": {}
}
]Introduction
The Categories endpoint allows you to retrieve the full list of supported product categories and their nested sub-categories. These categories are required when creating or updating products in the Worldly Product Module (PM).Category types
The categories are grouped by major product types. Each entry in the response array corresponds to one of these types:ApparelFootwearHomeTextilesOther
Response structure
The response returns an array of objects. Each object contains atype and a categories object containing the hierarchical category data.
type: The top-level product classification (e.g., “Apparel”).categories: A nested object containing the specific sub-categories and options available for that product type.

