Categories & brands
How products are organised. Categories nest; brands do not.
GET
/catalog/categories/List categories. Categories nest, so each may have a parent.
Filters
parentis_activesearchCombine any of these as query parameters. Also accepts cursor and page_size.
Fields on each result
FieldType & description
idinteger
namestring
slugstring
parentinteger
sort_orderinteger
image_urlstring
is_activeboolean
children_countinteger
products_countinteger
created_atdatetime
updated_atdatetime
Errors
CodeWhen it happens
401The access token is missing or has expired. Refresh and retry.403Your role lacks permission, or X-Shop-Id is a shop you cannot access.429Rate limited. Wait for Retry-After seconds.Request
curl https://api.tajirpoint.com/api/v1/catalog/categories/ \
-H "Authorization: Bearer $TAJIR_TOKEN" \
-H "X-Shop-Id: 8f1c2d3e-4b5a-6c7d-8e9f-0a1b2c3d4e5f"Response · 200
{
"next": "https://api.tajirpoint.com/api/v1/catalog/categories/?cursor=cD0yMDI2LTA3LTExVDA5MTQyMlomcD00Mg",
"previous": null,
"results": [
{
"id": 42,
"name": "Nescafé Classic 200g",
"slug": "slug",
"parent": 1,
"sort_order": 1,
"image_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true,
"children_count": 1,
"products_count": 1,
"created_at": "2026-07-11T09:14:22Z",
"updated_at": "2026-07-11T09:14:22Z"
}
]
}Response · error
{
"error": {
"code": 400,
"message": "Validation failed.",
"details": {
"quantity": ["Must be greater than zero."]
}
}
}POST
/catalog/categories/Create a category.
Body parameters
FieldType & description
nameRequiredstring
parentOptionalinteger
sort_orderOptionalinteger
image_urlOptionalstring
is_activeOptionalboolean
Response fields
FieldType & description
idinteger
namestring
slugstring
parentinteger
sort_orderinteger
image_urlstring
is_activeboolean
children_countinteger
products_countinteger
created_atdatetime
updated_atdatetime
Errors
CodeWhen it happens
400Validation failed. `details` names the offending fields.401The access token is missing or has expired. Refresh and retry.403Your role lacks permission, or X-Shop-Id is a shop you cannot access.429Rate limited. Wait for Retry-After seconds.Request
curl -X POST https://api.tajirpoint.com/api/v1/catalog/categories/ \
-H "Authorization: Bearer $TAJIR_TOKEN" \
-H "X-Shop-Id: 8f1c2d3e-4b5a-6c7d-8e9f-0a1b2c3d4e5f" \
-H "Content-Type: application/json" \
-d '{
"name": "Nescafé Classic 200g",
"parent": 1,
"sort_order": 1,
"image_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true
}'Response · 200
{
"id": 42,
"name": "Nescafé Classic 200g",
"slug": "slug",
"parent": 1,
"sort_order": 1,
"image_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true,
"children_count": 1,
"products_count": 1,
"created_at": "2026-07-11T09:14:22Z",
"updated_at": "2026-07-11T09:14:22Z"
}Response · error
{
"error": {
"code": 400,
"message": "Validation failed.",
"details": {
"quantity": ["Must be greater than zero."]
}
}
}GET
/catalog/brands/List brands.
Filters
parentis_activesearchCombine any of these as query parameters. Also accepts cursor and page_size.
Fields on each result
FieldType & description
idinteger
namestring
slugstring
logo_urlstring
is_activeboolean
products_countinteger
created_atdatetime
updated_atdatetime
Errors
CodeWhen it happens
401The access token is missing or has expired. Refresh and retry.403Your role lacks permission, or X-Shop-Id is a shop you cannot access.429Rate limited. Wait for Retry-After seconds.Request
curl https://api.tajirpoint.com/api/v1/catalog/brands/ \
-H "Authorization: Bearer $TAJIR_TOKEN" \
-H "X-Shop-Id: 8f1c2d3e-4b5a-6c7d-8e9f-0a1b2c3d4e5f"Response · 200
{
"next": "https://api.tajirpoint.com/api/v1/catalog/brands/?cursor=cD0yMDI2LTA3LTExVDA5MTQyMlomcD00Mg",
"previous": null,
"results": [
{
"id": 42,
"name": "Nescafé Classic 200g",
"slug": "slug",
"logo_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true,
"products_count": 1,
"created_at": "2026-07-11T09:14:22Z",
"updated_at": "2026-07-11T09:14:22Z"
}
]
}Response · error
{
"error": {
"code": 400,
"message": "Validation failed.",
"details": {
"quantity": ["Must be greater than zero."]
}
}
}POST
/catalog/brands/Create a brand.
Body parameters
FieldType & description
nameRequiredstring
logo_urlOptionalstring
is_activeOptionalboolean
Response fields
FieldType & description
idinteger
namestring
slugstring
logo_urlstring
is_activeboolean
products_countinteger
created_atdatetime
updated_atdatetime
Errors
CodeWhen it happens
400Validation failed. `details` names the offending fields.401The access token is missing or has expired. Refresh and retry.403Your role lacks permission, or X-Shop-Id is a shop you cannot access.429Rate limited. Wait for Retry-After seconds.Request
curl -X POST https://api.tajirpoint.com/api/v1/catalog/brands/ \
-H "Authorization: Bearer $TAJIR_TOKEN" \
-H "X-Shop-Id: 8f1c2d3e-4b5a-6c7d-8e9f-0a1b2c3d4e5f" \
-H "Content-Type: application/json" \
-d '{
"name": "Nescafé Classic 200g",
"logo_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true
}'Response · 200
{
"id": 42,
"name": "Nescafé Classic 200g",
"slug": "slug",
"logo_url": "https://media.tajirpoint.com/products/nescafe.jpg",
"is_active": true,
"products_count": 1,
"created_at": "2026-07-11T09:14:22Z",
"updated_at": "2026-07-11T09:14:22Z"
}Response · error
{
"error": {
"code": 400,
"message": "Validation failed.",
"details": {
"quantity": ["Must be greater than zero."]
}
}
}