# Products

Products are the central element of the system. Product entities contain attribute data, classifications in categories and variants. The data model for products are described by product structures.

GET /products Get basic models for products

No more than 5000 products can be requested at a time. If no limit is provided, the default limit of 1000 will be used. By default, archived products are not returned

Request parameters

Property name Parameter type Data type Description
includeArchived query boolean

Include archived products

limit query integer

Number of products to return

afterId query integer

Only return products with id larger than this value

Response status OK (200)

object : ProductsResultSet
ProductsResultSet
Property name Data type Description
Products array : ProductModel

List of products 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

ProductModel
Property name Data type Description
Id integer

Unique id of the product

Name object

Display name of product (Dictionary of ISO culture code and name) Note: Available from 3.7.0

Created string

Timestamp of the product creation

CreatedBy string

Username of the user who created the product

LastModified string

Timestamp of the last product update

LastModifiedBy string

Username of the user who made the last change to the product

VariationDefinitionUid string

Variation definition reference. For more information, for more information

IsArchived boolean

Indicates whether the product is archived

ArchiveReason string

The uid of the archive reason selected when the product was archived

ProductStructureUid string

The uid of the product structure used for this product

WorkflowStateUid string

The uid of the workflow state of the product


POST /products Create new products

A maximum of 5000 products can be created in one request

Request parameters

Property name Parameter type Data type Description
products body array : CreateProductModel

Products

categoryOwnerRefKey query string

Reference keys for categories

CreateProductModel
Property name Data type Description
ProductStructureUid string

Product structure to use for product

VariationDefinitionUid string

Variation definition to use for product

CategoryIds array

Categories to place product in

PrimaryCategoryId integer

The primary category to set for the product

WorkflowStateUid string

Workflow state to set on the product

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.

Attribute type data type
Text attribute string
Number attribute decimal
Boolean attribute bool
Fixedlist attribute value/value[] (depending on whether attribute allows selecting multiple global list values). The datatype of this value model depends on the underlying attribute for the global list of the refernced global list value(s)
Media attribute string/string[] (depending on whether attribute allows selecting multiple medias)
Datetime attribute DateTimeOffset
Category attribute int/int[] (depending on whether attribute allows selecting multiple categories)
Product attribute int/int[] (depending on whether attribute allows selecting multiple products)
Variant attribute int/int[] (depending on whether attribute allows selecting multiple variants)
Collection attribute uuid/uuid[] (depending on whether attribute allows selecting multiple collections)
Attribute attribute string/string[] (depending on whether attribute allows selecting multiple attributes)
Complex attribute object (Each property of the object corresponds to each sub attribute of the complex attribute. The value of each property then corresponds to the data type of that sub attribute)
List attribute value[] (Each value in the array represents each row in the list. The model of each row corresponds to the datatype of the row template set up on the list attribute)

Response status OK (200)

array : integer

DELETE /products Delete multiple products

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products to delete

Response status OK (200)

No body message is returned

PATCH /products Update multiple products

Request parameters

Property name Parameter type Data type Description
products body array : BatchUpdateProductModel

Update model

ownerReference query string

Add a reference to the system that creates this classification to be able to distinguish the classification from classifications made by other systems

removeCategoriesWithSameOwnerReference query boolean

Set true if you want to remove existing classifications with the provided ownerReference, which is not part to the supplied classifications

BatchUpdateProductModel
Property name Data type Description
ProductId integer

Id of product to update

UpdateModel object : UpdateProductModel

Model containing updates to make on product (properties with null values are ignored and does not cause an update)

UpdateProductModel
Property name Data type Description
ProductStructureUid string

Product structure to set on product

VariationDefinitionUid string

Variation definition to set on product

IsArchived boolean

Indicate whether the product shall be archived or un-archived

ArchiveReason string

Reference to the archive reason when archiving product (if IsArchived is true)

Classifications object : AddProductClassificationsModel

Categories to add the product to

WorkflowStateUid string

Workflow state to set on the product

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.

Attribute type data type
Text attribute string
Number attribute decimal
Boolean attribute bool
Fixedlist attribute value/value[] (depending on whether attribute allows selecting multiple global list values). The datatype of this value model depends on the underlying attribute for the global list of the refernced global list value(s)
Media attribute string/string[] (depending on whether attribute allows selecting multiple medias)
Datetime attribute DateTimeOffset
Category attribute int/int[] (depending on whether attribute allows selecting multiple categories)
Product attribute int/int[] (depending on whether attribute allows selecting multiple products)
Variant attribute int/int[] (depending on whether attribute allows selecting multiple variants)
Collection attribute uuid/uuid[] (depending on whether attribute allows selecting multiple collections)
Attribute attribute string/string[] (depending on whether attribute allows selecting multiple attributes)
Complex attribute object (Each property of the object corresponds to each sub attribute of the complex attribute. The value of each property then corresponds to the data type of that sub attribute)
List attribute value[] (Each value in the array represents each row in the list. The model of each row corresponds to the datatype of the row template set up on the list attribute)
AddProductClassificationsModel
Property name Data type Description
CategoryIds array

Ids of categories to add product to

CategoryIdsSorted array : CategoryIdSorted

Ids of categories to add product to

Primary integer

Category to set as primary category. Leave empty, to make nochange to primary category (if product does not currently have a primary category and this is null, the first category in CategoryIds will be set as primary category)

CategoryIdSorted
Property name Data type Description
CategoryId integer

Id of category to add product to

SortOrder integer

The presented sortorder of the categories

Response status OK (200)

No body message is returned

GET /products/{id} Get basic model for a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product to return

Response status OK (200)

object : ProductModel
ProductModel
Property name Data type Description
Id integer

Unique id of the product

Name object

Display name of product (Dictionary of ISO culture code and name) Note: Available from 3.7.0

Created string

Timestamp of the product creation

CreatedBy string

Username of the user who created the product

LastModified string

Timestamp of the last product update

LastModifiedBy string

Username of the user who made the last change to the product

VariationDefinitionUid string

Variation definition reference. For more information, for more information

IsArchived boolean

Indicates whether the product is archived

ArchiveReason string

The uid of the archive reason selected when the product was archived

ProductStructureUid string

The uid of the product structure used for this product

WorkflowStateUid string

The uid of the workflow state of the product


DELETE /products/{id} Delete a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product to delete

Response status OK (200)

No body message is returned

PATCH /products/{id} Update a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

model body object : UpdateProductModel

Update model

ownerReference query string

Add a reference to the system that creates this classification to be able to distinguish the classification from classifications made by other systems

removeCategoriesWithSameOwnerReference query boolean

Set true if you want to remove existing classifications with the provided ownerReference, which is not part to the supplied classifications

UpdateProductModel
Property name Data type Description
ProductStructureUid string

Product structure to set on product

VariationDefinitionUid string

Variation definition to set on product

IsArchived boolean

Indicate whether the product shall be archived or un-archived

ArchiveReason string

Reference to the archive reason when archiving product (if IsArchived is true)

Classifications object : AddProductClassificationsModel

Categories to add the product to

WorkflowStateUid string

Workflow state to set on the product

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.

Attribute type data type
Text attribute string
Number attribute decimal
Boolean attribute bool
Fixedlist attribute value/value[] (depending on whether attribute allows selecting multiple global list values). The datatype of this value model depends on the underlying attribute for the global list of the refernced global list value(s)
Media attribute string/string[] (depending on whether attribute allows selecting multiple medias)
Datetime attribute DateTimeOffset
Category attribute int/int[] (depending on whether attribute allows selecting multiple categories)
Product attribute int/int[] (depending on whether attribute allows selecting multiple products)
Variant attribute int/int[] (depending on whether attribute allows selecting multiple variants)
Collection attribute uuid/uuid[] (depending on whether attribute allows selecting multiple collections)
Attribute attribute string/string[] (depending on whether attribute allows selecting multiple attributes)
Complex attribute object (Each property of the object corresponds to each sub attribute of the complex attribute. The value of each property then corresponds to the data type of that sub attribute)
List attribute value[] (Each value in the array represents each row in the list. The model of each row corresponds to the datatype of the row template set up on the list attribute)
AddProductClassificationsModel
Property name Data type Description
CategoryIds array

Ids of categories to add product to

CategoryIdsSorted array : CategoryIdSorted

Ids of categories to add product to

Primary integer

Category to set as primary category. Leave empty, to make nochange to primary category (if product does not currently have a primary category and this is null, the first category in CategoryIds will be set as primary category)

CategoryIdSorted
Property name Data type Description
CategoryId integer

Id of category to add product to

SortOrder integer

The presented sortorder of the categories

Response status OK (200)

No body message is returned

GET /products/{id}/attributevalues Get attribute values for a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

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)

object : ProductAttributeValuesModel
ProductAttributeValuesModel
Property name Data type Description
ProductId integer

Id of product

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.

Attribute type data type
Text attribute string
Number attribute decimal
Boolean attribute bool
Fixedlist attribute value/value[] (depending on whether attribute allows selecting multiple global list values). The datatype of this value model depends on the underlying attribute for the global list of the refernced global list value(s)
Media attribute string/string[] (depending on whether attribute allows selecting multiple medias)
Datetime attribute DateTimeOffset
Category attribute int/int[] (depending on whether attribute allows selecting multiple categories)
Product attribute int/int[] (depending on whether attribute allows selecting multiple products)
Variant attribute int/int[] (depending on whether attribute allows selecting multiple variants)
Collection attribute uuid/uuid[] (depending on whether attribute allows selecting multiple collections)
Attribute attribute string/string[] (depending on whether attribute allows selecting multiple attributes)
Complex attribute object (Each property of the object corresponds to each sub attribute of the complex attribute. The value of each property then corresponds to the data type of that sub attribute)
List attribute value[] (Each value in the array represents each row in the list. The model of each row corresponds to the datatype of the row template set up on the list attribute)

GET /products/{id}/classifications Get category classifications for a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

Response status OK (200)

array : ProductClassificationModel
ProductClassificationModel
Property name Data type Description
CategoryId integer

Id of category the product is placed in

IsPrimary boolean

Indication whether this classification is the primary classification for the product

OwnerReference string

A reference to where this classification comes from. If the classification is made in the PIM interface, this will be null. When creating or updating classifications of products through API this can be set to any value. Thus, classifications made from the API can be distinguished from those made directly in the UI

SortOrder integer

Sort order of the product in this category


POST /products/{id}/classifications Add category classifications to a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

ownerReference query string

Add a reference to the system that creates this classification to be able to distinguish the classification from classifications made by other systems

removeCategoriesWithSameOwnerReference query boolean

Set true if you want to remove existing classifications with the provided ownerReference, which is not part to the supplied classifications

classifications body object : AddProductClassificationsModel

Model with product id and categories to classify the product in

AddProductClassificationsModel
Property name Data type Description
CategoryIds array

Ids of categories to add product to

CategoryIdsSorted array : CategoryIdSorted

Ids of categories to add product to

Primary integer

Category to set as primary category. Leave empty, to make nochange to primary category (if product does not currently have a primary category and this is null, the first category in CategoryIds will be set as primary category)

CategoryIdSorted
Property name Data type Description
CategoryId integer

Id of category to add product to

SortOrder integer

The presented sortorder of the categories

Response status OK (200)

No body message is returned

DELETE /products/{id}/classifications Remove category classifications from a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

categoryIds body array : integer

category ids to remove the product from

Response status OK (200)

No body message is returned

GET /products/{id}/enrichmentinsights Get Enrichment Insights for a product

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product to get insights for

Response status OK (200)

array : EntityEnrichmentInsight
EntityEnrichmentInsight
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

InsightDataReference
Property name Data type Description
Type string

Type of data reference

DataReference string

The data reference itself


PATCH /products/{id}/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} Enable or disable an enrichment insight for a product

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

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 products

Response status OK (200)

No body message is returned

GET /products/{id}/references Get references to a product

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

Response status OK (200)

object : ProductReferences
ProductReferences
Property name Data type Description
ProductId integer

Id of the referenced product

ReferencingCategories array : EntityReferenceDetail

List of categories referencing this product

ReferencingProducts array : EntityReferenceDetail

List of products referencing this product

ReferencingVariantGroups array : EntityReferenceDetail

List of variant groups referencing this product

ReferencingVariants array : EntityReferenceDetail

List of variants referencing this product

ReferencingGlobalListValues array

List of global list values referencing this product

EntityReferenceDetail
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 /products/{id}/variantgroups Get ids of variant groups associated to a product

#Available from v.3.11.0

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

includeArchived query boolean

Return ids of archived variant groups as well

Response status OK (200)

array : integer

GET /products/{id}/variants Get ids of variants of a product

Request parameters

Property name Parameter type Data type Description
id path integer

Id of product

includeArchived query boolean

Return ids of archived variants as well

Response status OK (200)

array : integer

POST /products/batch Get basic model for a range of products

Request parameters

Property name Parameter type Data type Description
ids body array : integer

Response status OK (200)

array : ProductModel
ProductModel
Property name Data type Description
Id integer

Unique id of the product

Name object

Display name of product (Dictionary of ISO culture code and name) Note: Available from 3.7.0

Created string

Timestamp of the product creation

CreatedBy string

Username of the user who created the product

LastModified string

Timestamp of the last product update

LastModifiedBy string

Username of the user who made the last change to the product

VariationDefinitionUid string

Variation definition reference. For more information, for more information

IsArchived boolean

Indicates whether the product is archived

ArchiveReason string

The uid of the archive reason selected when the product was archived

ProductStructureUid string

The uid of the product structure used for this product

WorkflowStateUid string

The uid of the workflow state of the product


POST /products/batch/attributevalues Get attribute values for multiple products

No more than 5000 products can be requested at a time.

Request parameters

Property name Parameter type Data type Description
model body object : ProductValuesRequestModel

Request model

ProductValuesRequestModel
Property name Data type Description
ProductIds array

Ids of products 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)

array : ProductAttributeValuesModel
ProductAttributeValuesModel
Property name Data type Description
ProductId integer

Id of product

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.

Attribute type data type
Text attribute string
Number attribute decimal
Boolean attribute bool
Fixedlist attribute value/value[] (depending on whether attribute allows selecting multiple global list values). The datatype of this value model depends on the underlying attribute for the global list of the refernced global list value(s)
Media attribute string/string[] (depending on whether attribute allows selecting multiple medias)
Datetime attribute DateTimeOffset
Category attribute int/int[] (depending on whether attribute allows selecting multiple categories)
Product attribute int/int[] (depending on whether attribute allows selecting multiple products)
Variant attribute int/int[] (depending on whether attribute allows selecting multiple variants)
Collection attribute uuid/uuid[] (depending on whether attribute allows selecting multiple collections)
Attribute attribute string/string[] (depending on whether attribute allows selecting multiple attributes)
Complex attribute object (Each property of the object corresponds to each sub attribute of the complex attribute. The value of each property then corresponds to the data type of that sub attribute)
List attribute value[] (Each value in the array represents each row in the list. The model of each row corresponds to the datatype of the row template set up on the list attribute)

POST /products/batch/classifications Get category classifications for a batch of products

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Model containing batch of product ids

Response status OK (200)

object

POST /products/batch/enrichmentinsights Get Enrichment Insights for a batch of products

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products to get insights for

Response status OK (200)

array : EntityEnrichmentInsight
EntityEnrichmentInsight
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

InsightDataReference
Property name Data type Description
Type string

Type of data reference

DataReference string

The data reference itself


PATCH /products/batch/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} Enable or disable an enrichment insight for a batch of products

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products 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 products

Response status OK (200)

No body message is returned

POST /products/batch/enrichmentinsights/{enrichmentInsightUid} Get insights for a batch of products and a specific Enrichment Insight

#Available from v.3.5.0

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products to get insights for

enrichmentInsightUid path string

Uid of enrichment insight to get for batch of products

Response status OK (200)

array : EntityEnrichmentInsight
EntityEnrichmentInsight
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

InsightDataReference
Property name Data type Description
Type string

Type of data reference

DataReference string

The data reference itself


POST /products/batch/identifiers Get internal ids of multiple products from their identifier

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

IdentifierBatchModel
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)

object

POST /products/batch/references Get references to a batch of products

#Available from v.3.5.0 No more than 5000 values can be requested at a time.

Request parameters

Property name Parameter type Data type Description
ids body array : integer

Ids of products

Response status OK (200)

array : ProductReferences
ProductReferences
Property name Data type Description
ProductId integer

Id of the referenced product

ReferencingCategories array : EntityReferenceDetail

List of categories referencing this product

ReferencingProducts array : EntityReferenceDetail

List of products referencing this product

ReferencingVariantGroups array : EntityReferenceDetail

List of variant groups referencing this product

ReferencingVariants array : EntityReferenceDetail

List of variants referencing this product

ReferencingGlobalListValues array

List of global list values referencing this product

EntityReferenceDetail
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


POST /products/batch/variantgroups Get ids of variant groups for a batch of products

#Available from v.3.11.0

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products

includeArchived query boolean

Return ids of archived variant groups as well

Response status OK (200)

object

POST /products/batch/variants Get ids of variants for a batch of products

Request parameters

Property name Parameter type Data type Description
productIds body array : integer

Ids of products

includeArchived query boolean

Return ids of archived variants as well

Response status OK (200)

object

POST /products/classifications Add category classifications to a batch of products

Use ownerReference to set a tag on these classifications that are made from the API. This way you are able to distinquish these classifications from other classifications made directly in the PIM UI at a later stage. By setting the removeCategoriesWithSameOwnerReference, you can remove all classifications that has the same ownerReference as provided in the

Request parameters

Property name Parameter type Data type Description
ownerReference query string

Add a reference to the system that creates this classification to be able to distinguish the classification from classifications made by other systems

removeCategoriesWithSameOwnerReference query boolean

Set true if you want to remove existing classifications with the provided ownerReference, which is not part to the supplied classifications

classifications body array : BatchAddProductClassificationsModel

Model containing batch og products and categories to classify these in

BatchAddProductClassificationsModel
Property name Data type Description
ProductId integer

Id of product

CategoryIds array

Category ids to add products to

CategoryIdsSorted array : CategoryIdSorted

Category ids to sort order

Primary integer

Category to set as primary category. Leave empty, to make nochange to primary category (if product does not currently have a primary category and this is null, the first category in CategoryIds will be set as primary category)

CategoryIdSorted
Property name Data type Description
CategoryId integer

Id of category to add product to

SortOrder integer

The presented sortorder of the categories

Response status OK (200)

No body message is returned

DELETE /products/classifications Remove category classifications from a batch of products

Request parameters

Property name Parameter type Data type Description
model body array : RemoveClassificationsModel

Model containing batch of products and the list of categories to remove them from

RemoveClassificationsModel
Property name Data type Description
ProductId integer

Id to remove classifications from

CategoryIds array

Categories to remove product from

Response status OK (200)

No body message is returned

GET /products/identifiers/{identifierAlias} Get all identifiers and their internal ids for a specific identifier type

Request parameters

Property name Parameter type Data type Description
identifierAlias path string

Alias of identifier type

Response status OK (200)

object

GET /products/identifiers/{identifierAlias}/{identifier} Get the internal id of a product based on its identifier

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)

integer

GET /products/ids Get ids of all products in the system

By default, ids for archived products are not returned

Request parameters

Property name Parameter type Data type Description
includeArchived query boolean

Include archived products

Response status OK (200)

array : integer

GET /products/queryablefields Get all available query fields in the PIM installation

Response status OK (200)

array : QueryableField
QueryableField
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 /products/search Get ids of products matching certain criteria

Request parameters

Property name Parameter type Data type Description
model body object : SearchModel

Query model

SearchModel
Property name Data type Description
IncludeArchived boolean

Include archived items in result

QueryModel object : QueryModel

The actual query to get result for

QueryModel
This model is an abstract type and can attain any of the below concrete models. The QueryModelType property is used to define the actual model type
SimpleQueryModel
Simple query model used for querying specific fields
Property name Data type Description
Filters array : FieldFilterModel

List of filter conditions

BooleanOperator string

The operator of the query. Can be any of:

  • And / 0 (All conditions must match)
  • Or / 1 (At least one of the provided conditions must match)
QueryModelType string

The type of query model. Name matches exact name of concrete model implementation

BooleanQueryModel
Query wrapper for sub queries where the BooleanOperator operates between the sub queries. Allows for nested queries
Property name Data type Description
SubQueries array : QueryModel

Sub queries to execute

BooleanOperator string

The operator of the query. Can be any of:

  • And / 0 (All conditions must match)
  • Or / 1 (At least one of the provided conditions must match)
QueryModelType string

The type of query model. Name matches exact name of concrete model implementation

FieldFilterModel
Property name Data type Description
FieldUid string

Uid of field to query

QueryOperator string

Operator to use for query. Can be any of:

  • Equals / 0 (Value must start with FilterValue)
  • WildcardEquals / 1 (Value must be smaller than FilterValue)
  • SmallerThan / 2 (Value must be smaller than FilterValue)
  • LargerThan / 3 (Value must be larger than FilterValue)
  • IsEmpty / 4 (Value must be empty)
  • IsNotEmpty / 5 (Value must not be empty)
  • Contains / 6 (Value must contain FilterValue)
  • NotContains / 7 (Value must not contain FilterValue)
  • NotEquals / 8 (Value must not be exactly equal to FilterValue (not considering casing))
  • NotWildcardEquals / 9 (Value must not start with FilterValue)
  • InList / 10 (Item field value must match any of the in provided values in FilterList)
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)

array : integer

POST /products/search/paged Get paged result of products matching certain criteria. Result mapped with headers and item results

Request parameters

Property name Parameter type Data type Description
model body object : SearchPagedModel

Query model

SearchPagedModel
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

QueryModel
This model is an abstract type and can attain any of the below concrete models. The QueryModelType property is used to define the actual model type
SimpleQueryModel
Simple query model used for querying specific fields
Property name Data type Description
Filters array : FieldFilterModel

List of filter conditions

BooleanOperator string

The operator of the query. Can be any of:

  • And / 0 (All conditions must match)
  • Or / 1 (At least one of the provided conditions must match)
QueryModelType string

The type of query model. Name matches exact name of concrete model implementation

BooleanQueryModel
Query wrapper for sub queries where the BooleanOperator operates between the sub queries. Allows for nested queries
Property name Data type Description
SubQueries array : QueryModel

Sub queries to execute

BooleanOperator string

The operator of the query. Can be any of:

  • And / 0 (All conditions must match)
  • Or / 1 (At least one of the provided conditions must match)
QueryModelType string

The type of query model. Name matches exact name of concrete model implementation

FieldFilterModel
Property name Data type Description
FieldUid string

Uid of field to query

QueryOperator string

Operator to use for query. Can be any of:

  • Equals / 0 (Value must start with FilterValue)
  • WildcardEquals / 1 (Value must be smaller than FilterValue)
  • SmallerThan / 2 (Value must be smaller than FilterValue)
  • LargerThan / 3 (Value must be larger than FilterValue)
  • IsEmpty / 4 (Value must be empty)
  • IsNotEmpty / 5 (Value must not be empty)
  • Contains / 6 (Value must contain FilterValue)
  • NotContains / 7 (Value must not contain FilterValue)
  • NotEquals / 8 (Value must not be exactly equal to FilterValue (not considering casing))
  • NotWildcardEquals / 9 (Value must not start with FilterValue)
  • InList / 10 (Item field value must match any of the in provided values in FilterList)
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)

object : SearchResultModel
SearchResultModel
Property name Data type Description
TotalHits integer
Page integer
PageSize integer
TotalPages integer
ItemListHeaders array : ItemListHeader
ListItems array : ListItem
ItemListHeader
Property name Data type Description
FieldUid string
FieldName string
FieldType string
SupportsSearching boolean
SupportsSorting boolean
ListItem
Property name Data type Description
Id integer
ShownValues array