# Categories
Categories are used to create hierarchical structures within a catalogue. Categories serves as a means for structuring products in meaningful classifications
GET /categories Get basic models for categories
No more than 5000 categories can be requested at a time. If no limit is provided, the default limit of 1000 will be used
{
"Categories": [
{
"Id": 10,
"SortOrder": 1,
"CatalogueUid": "bf09ab24-75da-4a44-9b0e-076f9df34ef2",
"Created": "2024-10-11T15:17:54.2145765+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2145765+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Electronics",
"da-DK": "Elektronik"
},
"Dynamic": false
},
{
"Id": 11,
"SortOrder": 2,
"CatalogueUid": "bf09ab24-75da-4a44-9b0e-076f9df34ef2",
"Created": "2024-10-11T15:17:54.2145765+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2145765+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Clothing",
"da-DK": "Tøj"
},
"Dynamic": false
},
{
"Id": 12,
"SortOrder": 3,
"CatalogueUid": "bf09ab24-75da-4a44-9b0e-076f9df34ef2",
"Created": "2024-10-11T15:17:54.2145765+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2145765+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Wine",
"da-DK": "Vin"
},
"Dynamic": false
}
],
"Total": 223,
"Remaining": 220,
"LastId": 12
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
limit | query | integer |
Number of categories to return |
afterId | query | integer |
Only get categories with id larger than this id |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Categories | array : CategoryModel |
List of categories in result set |
Total | integer |
The total number of items |
Remaining | integer |
The remaining items that lie after the last id of the item in this result set |
LastId | integer |
The id of the last item in this result set |
Property name | Data type | Description |
---|---|---|
Id | integer |
Id of category |
ParentId | integer |
Id of category's parent category. Null, if this category is placed in the root of its catalogue |
SortOrder | integer |
Sortorder of the category compared to other categories at the same level in the catalogue |
CatalogueUid | string |
The unique id of the catalogue, this category resides in |
Created | string |
Timestamp of the creation of category |
CreatedBy | string |
Username of user who created this category |
LastModified | string |
Timestamp of last modification of category |
LastModifiedBy | string |
Username of user who did the last modification |
HasChildren | boolean |
Indicates whether this category has any sub categories |
Name | object |
Display name of category (Dictionary of ISO culture code and name) |
Dynamic | boolean |
Indicates whether this category is dynamic (classification handled by PIM) |
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, DateTime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
WorkflowStateUid | string |
The uid of the workflow state of the category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
POST /categories Create new categories
A maximum of 5000 categories can be created in one request
[
{
"CatalogueUid": "4eb9a8f5-a7cc-40fe-8758-9ff329eedee9",
"SortOrder": 1,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Electronics"
},
{
"CultureCode": "da-DK",
"Data": "Elektronik"
}
],
"HeaderImage": "3013",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest electronics"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor elektronik"
}
]
}
},
{
"CatalogueUid": "4eb9a8f5-a7cc-40fe-8758-9ff329eedee9",
"SortOrder": 2,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Clothing"
},
{
"CultureCode": "da-DK",
"Data": "Tøj"
}
],
"HeaderImage": "3014",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest clothing"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor tøj"
}
]
}
},
{
"CatalogueUid": "4eb9a8f5-a7cc-40fe-8758-9ff329eedee9",
"SortOrder": 3,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Wine"
},
{
"CultureCode": "da-DK",
"Data": "Vin"
}
],
"HeaderImage": "3015",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest wine"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor vin"
}
]
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categories | body | array : CreateCategoryModel |
Categories |
Property name | Data type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CatalogueUid | string |
Uid of catalogue to add category to |
||||||||||||||||||||||||||||
ParentId | integer |
Id of parent id to place category underneath (set as null, of category shall be at root level of catalogue) |
||||||||||||||||||||||||||||
SortOrder | integer |
Sort order of category compared to other categories at the same level i the catalogue |
||||||||||||||||||||||||||||
Dynamic | boolean |
Set if products for this category is found by search query set on category |
||||||||||||||||||||||||||||
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, Datetime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
||||||||||||||||||||||||||||
WorkflowStateUid | string |
Workflow state to set on the category |
||||||||||||||||||||||||||||
Values | object |
Dictionary of attribute alias and the corresponding attribute value as an object representation The table below shows how different attributes translates to this value model.
|
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
Response status OK (200)
DELETE /categories Delete multiple categories
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Delete model |
Response status OK (200)
PATCH /categories Update multiple categories
A maximum of 5000 categories can be updated in one request
{
"10": {
"SortOrder": 1,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Wine"
},
{
"CultureCode": "da-DK",
"Data": "Vin"
}
],
"HeaderImage": "3015",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest wine"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor vin"
}
]
}
},
"11": {
"SortOrder": 2,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Clothing"
},
{
"CultureCode": "da-DK",
"Data": "Tøj"
}
],
"HeaderImage": "3014",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest clothing"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor tøj"
}
]
}
}
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categories | body | object |
Update model |
Response status OK (200)
GET /categories/{id} Get basic model for a category
{
"Id": 10,
"SortOrder": 1,
"CatalogueUid": "79592996-324b-4b0f-81fd-8919c44367be",
"Created": "2024-10-11T15:17:54.2345767+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2345767+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Electronics",
"da-DK": "Elektronik"
},
"Dynamic": true,
"QuerySetup": {
"ProductQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
},
"VariantGroupQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Id | integer |
Id of category |
ParentId | integer |
Id of category's parent category. Null, if this category is placed in the root of its catalogue |
SortOrder | integer |
Sortorder of the category compared to other categories at the same level in the catalogue |
CatalogueUid | string |
The unique id of the catalogue, this category resides in |
Created | string |
Timestamp of the creation of category |
CreatedBy | string |
Username of user who created this category |
LastModified | string |
Timestamp of last modification of category |
LastModifiedBy | string |
Username of user who did the last modification |
HasChildren | boolean |
Indicates whether this category has any sub categories |
Name | object |
Display name of category (Dictionary of ISO culture code and name) |
Dynamic | boolean |
Indicates whether this category is dynamic (classification handled by PIM) |
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, DateTime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
WorkflowStateUid | string |
The uid of the workflow state of the category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
DELETE /categories/{id} Delete a category
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to delete |
Response status OK (200)
PATCH /categories/{id} Update category
{
"SortOrder": 2,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Wine"
},
{
"CultureCode": "da-DK",
"Data": "Vin"
}
],
"HeaderImage": "3015",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest wine"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor vin"
}
]
}
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to update |
model | body | object : UpdateCategoryModel |
Update model |
Property name | Data type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SortOrder | integer |
Set to update sort order of category compared to other categories at the same level in the catalogue (set as null if you do not want to update this) |
||||||||||||||||||||||||||||
MoveCommand | object : CategoryMoveModel |
Set to update the categories placement in a catalogue (set as null if you do not want to update this) #Available from 3.8.0 |
||||||||||||||||||||||||||||
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. This property only applies to dynamic categories. Only Text, Boolean, Number, Datetime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
||||||||||||||||||||||||||||
WorkflowStateUid | string |
Workflow state to set on the category |
||||||||||||||||||||||||||||
Values | object |
Dictionary of attribute alias and the corresponding attribute value as an object representation The table below shows how different attributes translates to this value model.
|
Property name | Data type | Description |
---|---|---|
ParentId | integer |
New parent id of category |
CatalogueUid | string |
New catalogue uid of category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
Response status OK (200)
GET /categories/{id}/attributevalues Get attribute values for the category
{
"CategoryId": 10,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Electronics"
},
{
"CultureCode": "da-DK",
"Data": "Elektronik"
}
],
"HeaderImage": "3013",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest electronics"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor elektronik"
}
]
}
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category |
globalListValueReferencesOnly | query | boolean |
Indicate if only uids of referenced to global list values shall be returned instead of the materialized values |
Response status OK (200)
Property name | Data type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CategoryId | integer |
Id of category |
||||||||||||||||||||||||||||
Values | object |
Dictionary of attribute alias and the corresponding attribute value as an object representation The table below shows how different attributes translates to this value model.
|
PATCH /categories/{id}/attributevalues
{
"Name": [
{
"CultureCode": "en-GB",
"Data": "Electronics"
},
{
"CultureCode": "da-DK",
"Data": "Elektronik"
}
],
"HeaderImage": "3013",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest electronics"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor elektronik"
}
]
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category |
values | body | object |
Dictionary of attribute values to update |
Response status OK (200)
GET /categories/{id}/children Get child categories of a specific category
[
{
"Id": 10,
"SortOrder": 1,
"CatalogueUid": "8ecffe4e-ae75-4f4a-a82c-bf4766f00d36",
"Created": "2024-10-11T15:17:54.2405768+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2405768+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Electronics",
"da-DK": "Elektronik"
},
"Dynamic": false
},
{
"Id": 11,
"SortOrder": 2,
"CatalogueUid": "8ecffe4e-ae75-4f4a-a82c-bf4766f00d36",
"Created": "2024-10-11T15:17:54.2405768+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2405768+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Clothing",
"da-DK": "Tøj"
},
"Dynamic": false
},
{
"Id": 12,
"SortOrder": 3,
"CatalogueUid": "8ecffe4e-ae75-4f4a-a82c-bf4766f00d36",
"Created": "2024-10-11T15:17:54.241581+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.241581+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Wine",
"da-DK": "Vin"
},
"Dynamic": true,
"QuerySetup": {
"ProductQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
},
"VariantGroupQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to get children for |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Id | integer |
Id of category |
ParentId | integer |
Id of category's parent category. Null, if this category is placed in the root of its catalogue |
SortOrder | integer |
Sortorder of the category compared to other categories at the same level in the catalogue |
CatalogueUid | string |
The unique id of the catalogue, this category resides in |
Created | string |
Timestamp of the creation of category |
CreatedBy | string |
Username of user who created this category |
LastModified | string |
Timestamp of last modification of category |
LastModifiedBy | string |
Username of user who did the last modification |
HasChildren | boolean |
Indicates whether this category has any sub categories |
Name | object |
Display name of category (Dictionary of ISO culture code and name) |
Dynamic | boolean |
Indicates whether this category is dynamic (classification handled by PIM) |
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, DateTime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
WorkflowStateUid | string |
The uid of the workflow state of the category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
GET /categories/{id}/enrichmentinsights Get Enrichment Insights for a category
#Available from v.3.5.0
[
{
"EnrichmentInsightSetupUid": "b9ab083f-d622-4eba-b273-4a9bf26a3a03",
"EntityId": 1974035,
"Completeness": 50,
"MissingData": [
{
"Type": "AttributeInsightsDataReference",
"DataReference": "f9a52541-5712-406b-b4b6-04a94399e00f_9_NA"
}
],
"Ignored": false
},
{
"EnrichmentInsightSetupUid": "731a399b-f61c-48d4-b1c0-251a20d7125a",
"EntityId": 1974035,
"Completeness": 100,
"MissingData": [],
"Ignored": false
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to get insights for |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
EnrichmentInsightSetupUid | string |
Uid of enrichment insight |
EntityId | integer |
Id of entity |
Completeness | integer |
Completeness in percentage (0 - 100). Is null, if ignored is true |
MissingData | array : InsightDataReference |
List of missing data for this entity to reach 100% completeness for this enrichment insight |
Ignored | boolean |
Indicates whether the completeness is ignored for this entity and this enrichment insight |
Property name | Data type | Description |
---|---|---|
Type | string |
Type of data reference |
DataReference | string |
The data reference itself |
PATCH /categories/{id}/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} Enable or disable an enrichment insight for a category
#Available from v.3.5.0
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category |
enrichmentInsightSetupUid | path | string |
Uid of enrichment insight to toggle ignore for |
ignore | path | boolean |
Indicate whether to ignore the insight for the given enrichment insight and category |
Response status OK (200)
GET /categories/{id}/products Get ids of products in a category
[
3021,
20311,
3021,
30331,
34503,
20234,
4532,
53225
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to get products for |
includeArchived | query | boolean |
Include archived products |
Response status OK (200)
GET /categories/{id}/products/count Get the number of products in a category
233
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category to get product count for |
includeArchived | query | boolean |
Include archived products in count |
Response status OK (200)
GET /categories/{id}/references Get references to a category
#Available from v.3.5.0
{
"CategoryId": 12,
"ReferencingCategories": [
{
"EntityId": 100,
"AttributeUid": "d6f81913-7b54-4872-8bbd-fdc7cbbadec5"
},
{
"EntityId": 101,
"AttributeUid": "d6f81913-7b54-4872-8bbd-fdc7cbbadec5"
}
],
"ReferencingProducts": [
{
"EntityId": 100010,
"AttributeUid": "704046bf-62e5-4ca2-957f-489133a5c3ee"
},
{
"EntityId": 100011,
"AttributeUid": "704046bf-62e5-4ca2-957f-489133a5c3ee"
},
{
"EntityId": 102354,
"AttributeUid": "77d8d380-e5c2-4ecc-aae4-a3212901d602"
}
],
"ReferencingVariantGroups": [],
"ReferencingVariants": [
{
"EntityId": 100,
"AttributeUid": "704046bf-62e5-4ca2-957f-489133a5c3ee"
}
],
"ReferencingGlobalListValues": [
"f1fed50c-f6b2-44be-8efe-eb3181d8694c",
"57129659-1445-4e79-8ef3-b2bd1242aa70"
]
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
id | path | integer |
Id of category |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
CategoryId | integer |
Id of the referenced category |
ReferencingCategories | array : EntityReferenceDetail |
List of categories referencing this category |
ReferencingProducts | array : EntityReferenceDetail |
List of products referencing this category |
ReferencingVariantGroups | array : EntityReferenceDetail |
List of variant groups referencing this category |
ReferencingVariants | array : EntityReferenceDetail |
List of variants referencing this category |
ReferencingGlobalListValues | array |
List of global list values referencing this category |
Property name | Data type | Description |
---|---|---|
EntityId | integer |
The id of the referencing entity |
AttributeUid | string |
The attribute on the referencing entity that holds the reference |
PATCH /categories/attributevalues Update attribute values on multiple categories
A maximum of 5000 categories can be updated in one request
[
{
"CategoryId": 10,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Electronics"
},
{
"CultureCode": "da-DK",
"Data": "Elektronik"
}
],
"HeaderImage": "3013",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest electronics"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor elektronik"
}
]
}
},
{
"CategoryId": 11,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Clothing"
},
{
"CultureCode": "da-DK",
"Data": "Tøj"
}
],
"HeaderImage": "3014",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest clothing"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor tøj"
}
]
}
},
{
"CategoryId": 12,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Wine"
},
{
"CultureCode": "da-DK",
"Data": "Vin"
}
],
"HeaderImage": "3015",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest wine"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor vin"
}
]
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | array : CategoryAttributeValuesModel |
Update model |
Property name | Data type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CategoryId | integer |
Id of category |
||||||||||||||||||||||||||||
Values | object |
Dictionary of attribute alias and the corresponding attribute value as an object representation The table below shows how different attributes translates to this value model.
|
Response status OK (200)
POST /categories/batch Get basic model for a batch of categories
#Available from v.3.2.0
[
{
"Id": 10,
"SortOrder": 1,
"CatalogueUid": "d2a9d5a5-25d8-4804-9258-6622104d6682",
"Created": "2024-10-11T15:17:54.2385976+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2385976+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Electronics",
"da-DK": "Elektronik"
},
"Dynamic": false
},
{
"Id": 11,
"SortOrder": 2,
"CatalogueUid": "d2a9d5a5-25d8-4804-9258-6622104d6682",
"Created": "2024-10-11T15:17:54.2385976+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2385976+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Clothing",
"da-DK": "Tøj"
},
"Dynamic": false
},
{
"Id": 12,
"SortOrder": 3,
"CatalogueUid": "d2a9d5a5-25d8-4804-9258-6622104d6682",
"Created": "2024-10-11T15:17:54.2385976+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2385976+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Wine",
"da-DK": "Vin"
},
"Dynamic": true,
"QuerySetup": {
"ProductQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
},
"VariantGroupQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Ids of categories to return |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Id | integer |
Id of category |
ParentId | integer |
Id of category's parent category. Null, if this category is placed in the root of its catalogue |
SortOrder | integer |
Sortorder of the category compared to other categories at the same level in the catalogue |
CatalogueUid | string |
The unique id of the catalogue, this category resides in |
Created | string |
Timestamp of the creation of category |
CreatedBy | string |
Username of user who created this category |
LastModified | string |
Timestamp of last modification of category |
LastModifiedBy | string |
Username of user who did the last modification |
HasChildren | boolean |
Indicates whether this category has any sub categories |
Name | object |
Display name of category (Dictionary of ISO culture code and name) |
Dynamic | boolean |
Indicates whether this category is dynamic (classification handled by PIM) |
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, DateTime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
WorkflowStateUid | string |
The uid of the workflow state of the category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
POST /categories/batch/attributevalues Get attribute values for multiple categories
No more than 5000 categories can be requested at a time.
[
{
"CategoryId": 10,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Electronics"
},
{
"CultureCode": "da-DK",
"Data": "Elektronik"
}
],
"HeaderImage": "3013",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest electronics"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor elektronik"
}
]
}
},
{
"CategoryId": 11,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Clothing"
},
{
"CultureCode": "da-DK",
"Data": "Tøj"
}
],
"HeaderImage": "3014",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest clothing"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor tøj"
}
]
}
},
{
"CategoryId": 11,
"Values": {
"Name": [
{
"CultureCode": "en-GB",
"Data": "Wine"
},
{
"CultureCode": "da-DK",
"Data": "Vin"
}
],
"HeaderImage": "3015",
"Description": [
{
"CultureCode": "en-GB",
"Data": "See all the latest and greatest wine"
},
{
"CultureCode": "da-DK",
"Data": "Se alt det nyeste indenfor vin"
}
]
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : CategoryValueRequestModel |
Request model |
Property name | Data type | Description |
---|---|---|
CategoryIds | array |
Ids of categories to return |
IncludeValues | string |
Select if any source of values shall be returned |
Scopes | array |
If IncludeValues is Scopes, define which scopes to return values for here |
Aliases | array |
If IncludeValues is Aliases, define aliases of the attributes to include values for |
Uids | array |
If IncludeValues is Uids, define uids of the attributes to include values for |
LimitToCultureCodes | array |
Only return values for specific languages |
LimitToSegments | array |
Only return values for specific dimension segments |
GlobalListValueReferencesOnly | boolean |
Indicate if only uids of referenced to global list values shall be returned instead of the materialized values |
FromTimestamp | string |
Get attribute values back in time |
Response status OK (200)
Property name | Data type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CategoryId | integer |
Id of category |
||||||||||||||||||||||||||||
Values | object |
Dictionary of attribute alias and the corresponding attribute value as an object representation The table below shows how different attributes translates to this value model.
|
POST /categories/batch/children Get child categories for a range categories
[
{
"Id": 10,
"ParentId": 1,
"SortOrder": 1,
"CatalogueUid": "74dac6fe-a86c-456a-a4db-074814c77090",
"Created": "2024-10-11T15:17:54.2445841+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2445841+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Electronics",
"da-DK": "Elektronik"
},
"Dynamic": false
},
{
"Id": 11,
"ParentId": 1,
"SortOrder": 2,
"CatalogueUid": "74dac6fe-a86c-456a-a4db-074814c77090",
"Created": "2024-10-11T15:17:54.2445841+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2445841+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Clothing",
"da-DK": "Tøj"
},
"Dynamic": false
},
{
"Id": 12,
"ParentId": 2,
"SortOrder": 3,
"CatalogueUid": "74dac6fe-a86c-456a-a4db-074814c77090",
"Created": "2024-10-11T15:17:54.2445841+02:00",
"CreatedBy": "Struct",
"LastModified": "2024-10-11T15:17:54.2445841+02:00",
"LastModifiedBy": "Struct",
"HasChildren": true,
"Name": {
"en-GB": "Wine",
"da-DK": "Vin"
},
"Dynamic": true,
"QuerySetup": {
"ProductQuery": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "OnlineDate",
"QueryOperator": 3,
"FilterValue": ">-30d"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "d671ca19-961e-4fa5-af6b-7ab8d1b967a7"
},
{
"FieldUid": "Color.BaseColor",
"QueryOperator": 0,
"FilterValue": "c5e97e8d-687b-4bc8-86e1-3b6c1b5d9c1a"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Id | integer |
Id of category |
ParentId | integer |
Id of category's parent category. Null, if this category is placed in the root of its catalogue |
SortOrder | integer |
Sortorder of the category compared to other categories at the same level in the catalogue |
CatalogueUid | string |
The unique id of the catalogue, this category resides in |
Created | string |
Timestamp of the creation of category |
CreatedBy | string |
Username of user who created this category |
LastModified | string |
Timestamp of last modification of category |
LastModifiedBy | string |
Username of user who did the last modification |
HasChildren | boolean |
Indicates whether this category has any sub categories |
Name | object |
Display name of category (Dictionary of ISO culture code and name) |
Dynamic | boolean |
Indicates whether this category is dynamic (classification handled by PIM) |
QuerySetup | object : DynamicQueryContainer |
Query defining the entities that are placed as part of this category. Only Text, Boolean, Number, DateTime and FixedList is supported. FixedList needs to be specified by reference (Guid). |
WorkflowStateUid | string |
The uid of the workflow state of the category |
Property name | Data type | Description |
---|---|---|
ProductQuery | object : QueryModel |
Definition of the product query, which can be BooleanQueryModel or SimpleQueryModel |
VariantGroupQuery | object : QueryModel |
Definition of the variant group query, which can be BooleanQueryModel or SimpleQueryModel |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
POST /categories/batch/enrichmentinsights Get Enrichment Insights for a batch of categories
#Available from v.3.5.0
[
{
"EnrichmentInsightSetupUid": "d166ade3-4ead-451d-aab0-8e142484ec47",
"EntityId": 1974035,
"Completeness": 50,
"MissingData": [
{
"Type": "AttributeInsightsDataReference",
"DataReference": "f9a52541-5712-406b-b4b6-04a94399e00f_9_NA"
}
],
"Ignored": false
},
{
"EnrichmentInsightSetupUid": "d166ade3-4ead-451d-aab0-8e142484ec47",
"EntityId": 1974043,
"Completeness": 100,
"MissingData": [],
"Ignored": false
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Ids of categories to get insights for |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
EnrichmentInsightSetupUid | string |
Uid of enrichment insight |
EntityId | integer |
Id of entity |
Completeness | integer |
Completeness in percentage (0 - 100). Is null, if ignored is true |
MissingData | array : InsightDataReference |
List of missing data for this entity to reach 100% completeness for this enrichment insight |
Ignored | boolean |
Indicates whether the completeness is ignored for this entity and this enrichment insight |
Property name | Data type | Description |
---|---|---|
Type | string |
Type of data reference |
DataReference | string |
The data reference itself |
PATCH /categories/batch/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} Enable or disable an enrichment insight for a batch of categories
#Available from v.3.5.0
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Ids of categories to toggle ignore for |
enrichmentInsightSetupUid | path | string |
Uid of enrichment insight to toggle ignore for |
ignore | path | boolean |
Indicate whether to ignore the insight for the given enrichment insight and categories |
Response status OK (200)
POST /categories/batch/enrichmentinsights/{enrichmentInsightUid} Get insights for a batch of categories and a specific Enrichment Insight
#Available from v.3.5.0
[
{
"EnrichmentInsightSetupUid": "55807f31-a8f0-4529-b0ee-b07e04a29257",
"EntityId": 1974035,
"Completeness": 50,
"MissingData": [
{
"Type": "AttributeInsightsDataReference",
"DataReference": "f9a52541-5712-406b-b4b6-04a94399e00f_9_NA"
}
],
"Ignored": false
},
{
"EnrichmentInsightSetupUid": "55807f31-a8f0-4529-b0ee-b07e04a29257",
"EntityId": 1974043,
"Completeness": 100,
"MissingData": [],
"Ignored": false
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryIds | body | array : integer |
Ids of categories to get insights for |
enrichmentInsightUid | path | string |
Uid of enrichment insight to get for batch of categories |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
EnrichmentInsightSetupUid | string |
Uid of enrichment insight |
EntityId | integer |
Id of entity |
Completeness | integer |
Completeness in percentage (0 - 100). Is null, if ignored is true |
MissingData | array : InsightDataReference |
List of missing data for this entity to reach 100% completeness for this enrichment insight |
Ignored | boolean |
Indicates whether the completeness is ignored for this entity and this enrichment insight |
Property name | Data type | Description |
---|---|---|
Type | string |
Type of data reference |
DataReference | string |
The data reference itself |
POST /categories/batch/identifiers Get internal ids of multiple categories from their identifier
Use to get a map from an identifier to the internal id of a category in the system. Identifiers are based on attribute values that hold references to external systems. Thus, the identifier can be the id of the category in an external system. You can then use this map to know which category id to update or delete based on the id of the corresponding category in the external system
{
"AX_Electronics": 10,
"AX_Clothing": 11,
"AX_Wine": 13,
"AX_Food": null
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : IdentifierBatchModel |
Specify alias of identifier type and the identifiers to return internal ids for |
Property name | Data type | Description |
---|---|---|
IdentifierAlias | string |
The alias of the identifier |
Identifiers | array |
Array of identifiers to return internal ids for |
Response status OK (200)
POST /categories/batch/products Get ids of products in a categories
{
"10": [
3021,
20311,
3021,
30331,
34503,
20234,
4532,
53225
],
"11": [
1000,
1266,
65355
],
"12": [
1566,
6568,
6866,
668443,
4852
]
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : CategoryProductsModel |
Property name | Data type | Description |
---|---|---|
CategoryIds | array |
Category ids to request products for |
IncludeArchived | boolean |
Indicate whether archibed products shall also be included |
Response status OK (200)
POST /categories/batch/products/count Get the number of products in a batch of categories
{
"10": 233,
"11": 107,
"12": 2036
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : CategoryProductsModel |
Categories to get number of products for |
Property name | Data type | Description |
---|---|---|
CategoryIds | array |
Category ids to request products for |
IncludeArchived | boolean |
Indicate whether archibed products shall also be included |
Response status OK (200)
POST /categories/batch/references Get references to a batch of categories
#Available from v.3.5.0 No more than 5000 values can be requested at a time.
[
{
"CategoryId": 12,
"ReferencingCategories": [
{
"EntityId": 100,
"AttributeUid": "3f1e74bc-1b2a-4b7e-9e4a-e407433913e2"
},
{
"EntityId": 101,
"AttributeUid": "3f1e74bc-1b2a-4b7e-9e4a-e407433913e2"
}
],
"ReferencingProducts": [
{
"EntityId": 100010,
"AttributeUid": "859a3b24-2f25-4fbc-ac1a-fa10a57e411b"
},
{
"EntityId": 100011,
"AttributeUid": "859a3b24-2f25-4fbc-ac1a-fa10a57e411b"
},
{
"EntityId": 102354,
"AttributeUid": "149739e1-5c83-4c5b-9eb6-47b9bfe5a4d0"
}
],
"ReferencingVariantGroups": [],
"ReferencingVariants": [
{
"EntityId": 100,
"AttributeUid": "859a3b24-2f25-4fbc-ac1a-fa10a57e411b"
}
],
"ReferencingGlobalListValues": [
"3bb091c3-506b-447d-bebc-615a5d375559",
"ff8743d0-89bd-4b36-a2f1-263e1cbd9a83"
]
},
{
"CategoryId": 20,
"ReferencingCategories": [
{
"EntityId": 100,
"AttributeUid": "3f1e74bc-1b2a-4b7e-9e4a-e407433913e2"
}
],
"ReferencingProducts": [
{
"EntityId": 23553,
"AttributeUid": "859a3b24-2f25-4fbc-ac1a-fa10a57e411b"
},
{
"EntityId": 5656,
"AttributeUid": "859a3b24-2f25-4fbc-ac1a-fa10a57e411b"
}
],
"ReferencingVariantGroups": [],
"ReferencingVariants": [
{
"EntityId": 568323,
"AttributeUid": "149739e1-5c83-4c5b-9eb6-47b9bfe5a4d0"
}
],
"ReferencingGlobalListValues": [
"5289dbab-0b85-442c-87b7-9ec567dcf2ac",
"3b9b3052-e72b-4396-bde1-c043721dcaab"
]
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
ids | body | array : integer |
Ids of categories |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
CategoryId | integer |
Id of the referenced category |
ReferencingCategories | array : EntityReferenceDetail |
List of categories referencing this category |
ReferencingProducts | array : EntityReferenceDetail |
List of products referencing this category |
ReferencingVariantGroups | array : EntityReferenceDetail |
List of variant groups referencing this category |
ReferencingVariants | array : EntityReferenceDetail |
List of variants referencing this category |
ReferencingGlobalListValues | array |
List of global list values referencing this category |
Property name | Data type | Description |
---|---|---|
EntityId | integer |
The id of the referencing entity |
AttributeUid | string |
The attribute on the referencing entity that holds the reference |
GET /categories/identifiers/{identifierAlias} Get all identifiers and their internal ids for a specific identifier type
Use to get a map from an identifier to the internal id of a category in the system. Identifiers are based on attribute values that hold references to external systems. Thus, the identifier can be the id of the category in an external system. You can then use this map to know which category id to update or delete based on the id of the corresponding category in the external system
{
"AX_Electronics": 10,
"AX_Clothing": 11,
"AX_Wine": 13
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
identifierAlias | path | string |
Alias of identifier type |
Response status OK (200)
GET /categories/identifiers/{identifierAlias}/{identifier} Get the internal id of a category based on its identifier
Use to get a map from an identifier to the internal id of a category in the system. Identifiers are based on attribute values that hold references to external systems. Thus, the identifier can be the id of the category in an external system. You can then use this map to know which category id to update or delete based on the id of the corresponding category in the external system
13
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
identifierAlias | path | string |
Alias of identifier type |
identifier | path | string |
Identifier value |
Response status OK (200)
GET /categories/ids Get ids of all categories in the system
Categories are used to organize products within catalogues. Categories can be nested in a hierarchy structure of any depth. The catalogue data model defines attributes which can hold data for each category. Attributes can be attached to categories in the master catalogue to define a structure of attributes available to products depending on their category placement in the master catalogue.
[
10,
11,
12,
13,
14
]
Response status OK (200)
GET /categories/productattributes Get product attributes on category
[
{
"AttributeUid": "59768f2f-9af0-468f-90f5-7e81f76097ae",
"CategoryId": 10,
"Owner": 10,
"EditableOnEntities": "ProductAndVariant"
},
{
"AttributeUid": "cd776259-f44a-47f1-b253-089207e872d9",
"CategoryId": 10,
"Owner": 10,
"EditableOnEntities": "Variant"
},
{
"AttributeUid": "941775e6-5450-4ea4-9432-172667ba4d71",
"CategoryId": 10,
"Owner": 10,
"EditableOnEntities": "Variant"
}
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryId | query | integer |
Id of category to get attached attributes from |
Response status OK (200)
POST /categories/productattributes Attach attribute to a category, which is to be visible to products in that category
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryId | query | integer |
Id of category to attach attribute to |
attributeUid | query | string |
Uid of attribute to attach |
editableOnEntities | query | string |
Editable on product and/or variant |
Response status OK (200)
DELETE /categories/productattributes Remove a product attribute from a category
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryId | query | integer |
Id of category the attribute is attached to |
attributeUid | query | string |
Uid of attached attribute |
Response status OK (200)
PATCH /categories/productattributes Update attribute on a category
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
categoryId | query | integer |
Id of category the attribute is attached to |
attributeUid | query | string |
Uid of attached attribute |
editableOnEntities | query | string |
Editable on product and/or variant |
Response status OK (200)
GET /categories/queryablefields Get all available query fields in the PIM installation
[
{
"Uid": "PIM_CategoryIds",
"Name": "CategoryIds",
"SupportsSorting": false
},
{
"Uid": "Name_en-GB",
"Name": "Name (en-GB)",
"SupportsSorting": false
},
{
"Uid": "Name_da-DK",
"Name": "Name (da-DK)",
"SupportsSorting": false
},
{
"Uid": "Description_en-GB",
"Name": "Description (en-GB)",
"SupportsSorting": false
},
{
"Uid": "Description_da-DK",
"Name": "Description (da-DK)",
"SupportsSorting": false
}
]
Response status OK (200)
Property name | Data type | Description |
---|---|---|
Uid | string |
Unique id of field in PIM |
Name | string |
The display name of the field |
SupportsSorting | boolean |
If true field can be used for sorting |
POST /categories/search Get ids of categories matching certain criteria
{
"IncludeArchived": false,
"QueryModel": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "ReleasedInCountries_NA_NA",
"QueryOperator": 0,
"FilterValue": "DK"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
},
{
"Filters": [
{
"FieldUid": "Color.BaseColor.Name_en-GB_NA",
"QueryOperator": 0,
"FilterValue": "red"
},
{
"FieldUid": "Color.BaseColor.Name_en-GB_NA",
"QueryOperator": 0,
"FilterValue": "blue"
}
],
"BooleanOperator": 1,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
[
10021,
20311,
234032,
23134,
53451,
32433,
23481
]
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : SearchModel |
Query model |
Property name | Data type | Description |
---|---|---|
IncludeArchived | boolean |
Include archived items in result |
QueryModel | object : QueryModel |
The actual query to get result for |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
Response status OK (200)
POST /categories/search/paged Get paged result of categories matching certain criteria. Result mapped with headers and item results
{
"Page": 1,
"PageSize": 10,
"FieldUids": [
"Id",
"PIM_Name_1"
],
"SortByFieldUid": "Id",
"SortDescending": true,
"IncludeArchived": false,
"QueryModel": {
"SubQueries": [
{
"Filters": [
{
"FieldUid": "ReleasedInCountries_NA_NA",
"QueryOperator": 0,
"FilterValue": "DK"
}
],
"BooleanOperator": 0,
"QueryModelType": "SimpleQueryModel"
}
],
"BooleanOperator": 0,
"QueryModelType": "BooleanQueryModel"
}
}
{
"TotalHits": 55,
"Page": 1,
"PageSize": 3,
"TotalPages": 19,
"ItemListHeaders": [
{
"FieldUid": "Id",
"FieldName": "Internal Id",
"FieldType": "tableStringRenderer",
"SupportsSearching": true,
"SupportsSorting": true
},
{
"FieldUid": "PIM_Name_1",
"FieldName": "Internal Name (en-GB)",
"FieldType": "tableStringRenderer",
"SupportsSearching": true,
"SupportsSorting": true
}
],
"ListItems": [
{
"Id": 10021
},
{
"Id": 20311
},
{
"Id": 234032
}
]
}
Request parameters
Property name | Parameter type | Data type | Description |
---|---|---|---|
model | body | object : SearchPagedModel |
Query model |
Property name | Data type | Description |
---|---|---|
Page | integer | |
PageSize | integer | |
FieldUids | array | |
SortByFieldUid | string | |
SortDescending | boolean | |
IncludeArchived | boolean |
Include archived items in result |
QueryModel | object : QueryModel |
The actual query to get result for |
Property name | Data type | Description |
---|---|---|
Filters | array : FieldFilterModel |
List of filter conditions |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
SubQueries | array : QueryModel |
Sub queries to execute |
BooleanOperator | string |
The operator of the query. Can be any of:
|
QueryModelType | string |
The type of query model. Name matches exact name of concrete model implementation |
Property name | Data type | Description |
---|---|---|
FieldUid | string |
Uid of field to query |
QueryOperator | string |
Operator to use for query. Can be any of:
|
FilterValue | object |
Value to filter for using the QueryOperator. When QueryOperator is "InList", FilterValue must be an array of values to query for |
Response status OK (200)
Property name | Data type | Description |
---|---|---|
TotalHits | integer | |
Page | integer | |
PageSize | integer | |
TotalPages | integer | |
ItemListHeaders | array : ItemListHeader | |
ListItems | array : ListItem |
Property name | Data type | Description |
---|---|---|
FieldUid | string | |
FieldName | string | |
FieldType | string | |
SupportsSearching | boolean | |
SupportsSorting | boolean |
Property name | Data type | Description |
---|---|---|
Id | integer | |
ShownValues | array |