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 ids of all products in the system

get

By default, ids for archived products are not returned

Authorizations
AuthorizationstringRequired
Query parameters
includeArchivedbooleanOptional

Include archived products

Default: false
Responses
chevron-right
200

OK

application/json
integer · int32[]Optional
get
/v1/products/ids
200

OK

Get basic model for a product

get
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product to return

Responses
chevron-right
200

OK

application/json

Represents the root information always present on a product

Idinteger · int32Optional

Unique id of the product

Createdstring · date-timeOptional

Timestamp of the product creation

CreatedBystring · nullableOptional

Username of the user who created the product

LastModifiedstring · date-timeOptional

Timestamp of the last product update

LastModifiedBystring · nullableOptional

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

VariationDefinitionUidstring · uuid · nullableOptional

Variation definition reference. For more information, Struct.App.Api.Models.ProductStructure.VariationDefinition for more information

IsArchivedbooleanOptional

Indicates whether the product is archived

ArchiveReasonstring · uuid · nullableOptional

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

ProductStructureUidstring · uuidOptional

The uid of the product structure used for this product

WorkflowStateUidstring · uuid · nullableOptional

The uid of the workflow state of the product

get
/v1/products/{id}
200

OK

Delete a product

delete
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product to delete

Responses
chevron-right
200

OK

No content

delete
/v1/products/{id}
200

OK

No content

Update a product

patch
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Body

Update model containing the updates to make on a product. Note that properties with null values will be ignored and will not cause an update. This means you should only set properties that shall be updated on the product

ProductStructureUidstring · uuid · nullableOptional

Product structure to set on product

VariationDefinitionUidstring · uuid · nullableOptional

Variation definition to set on product

IsArchivedboolean · nullableOptional

Indicate whether the product shall be archived or un-archived

ArchiveReasonstring · uuid · nullableOptional

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

WorkflowStateUidstring · uuid · nullableOptional

Workflow state to set on the product

Responses
chevron-right
200

OK

No content

patch
/v1/products/{id}
200

OK

No content

Get basic model for a range of products

post
Authorizations
AuthorizationstringRequired
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json

Represents the root information always present on a product

Idinteger · int32Optional

Unique id of the product

Createdstring · date-timeOptional

Timestamp of the product creation

CreatedBystring · nullableOptional

Username of the user who created the product

LastModifiedstring · date-timeOptional

Timestamp of the last product update

LastModifiedBystring · nullableOptional

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

VariationDefinitionUidstring · uuid · nullableOptional

Variation definition reference. For more information, Struct.App.Api.Models.ProductStructure.VariationDefinition for more information

IsArchivedbooleanOptional

Indicates whether the product is archived

ArchiveReasonstring · uuid · nullableOptional

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

ProductStructureUidstring · uuidOptional

The uid of the product structure used for this product

WorkflowStateUidstring · uuid · nullableOptional

The uid of the workflow state of the product

post
/v1/products/batch
200

OK

Get basic models for products

get

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

Authorizations
AuthorizationstringRequired
Query parameters
includeArchivedbooleanOptional

Include archived products

Default: false
limitinteger · int32Optional

Number of products to return

Default: 1000
afterIdinteger · int32Optional

Only return products with id larger than this value

Responses
chevron-right
200

OK

application/json

Result set of products from a product query

Totalinteger · int32Optional

The total number of items

Remaininginteger · int32Optional

The remaining items that lie after the last id of the item in this result set

LastIdinteger · int32Optional

The id of the last item in this result set

get
/v1/products
200

OK

Create new products

post

A maximum of 5000 products can be created in one request

Authorizations
AuthorizationstringRequired
Bodyobject[]

Model used to create a new product

ProductStructureUidstring · uuidOptional

Product structure to use for product

VariationDefinitionUidstring · uuid · nullableOptional

Variation definition to use for product

WorkflowStateUidstring · uuid · nullableOptional

Workflow state to set on the product

Responses
chevron-right
200

OK

application/json
integer · int32[]Optional
post
/v1/products
200

OK

Delete multiple products

delete
Authorizations
AuthorizationstringRequired
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

No content

delete
/v1/products
200

OK

No content

Update multiple products

patch
Authorizations
AuthorizationstringRequired
Bodyobject[]

Update model for a product

ProductIdinteger · int32Optional

Id of product to update

Responses
chevron-right
200

OK

No content

patch
/v1/products
200

OK

No content

Get all identifiers and their internal ids for a specific identifier type

get
Authorizations
AuthorizationstringRequired
Path parameters
identifierAliasstringRequired

Alias of identifier type

Responses
chevron-right
200

OK

application/json
Other propertiesinteger · int32Optional
get
/v1/products/identifiers/{identifierAlias}
200

OK

Get the internal id of a product based on its identifier

get
Authorizations
AuthorizationstringRequired
Path parameters
identifierAliasstringRequired

Alias of identifier type

identifierstringRequired

Identifier value

Responses
chevron-right
200

OK

application/json
integer · int32Optional
get
/v1/products/identifiers/{identifierAlias}/{identifier}
200

OK

Get internal ids of multiple products from their identifier

post
Authorizations
AuthorizationstringRequired
Body

Provide an identifier alias along with an array of identifiers to get the internal entity ids matching those identifiers

IdentifierAliasstring · nullableOptional

The alias of the identifier

Identifiersstring[] · nullableOptional

Array of identifiers to return internal ids for

Responses
chevron-right
200

OK

application/json
Other propertiesinteger · int32Optional
post
/v1/products/batch/identifiers
200

OK

Get attribute values for a product

get
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Query parameters
globalListValueReferencesOnlybooleanOptional

Indicate if only uids of referenced to global list values shall be returned instead of the materialized values

Default: false
Responses
chevron-right
200

OK

application/json

Attribute values for a product

ProductIdinteger · int32Optional

Id of product

get
/v1/products/{id}/attributevalues
200

OK

Get attribute values for multiple products

post

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

Authorizations
AuthorizationstringRequired
Body

Define which categories to fetch data for and what data to fetch

ProductIdsinteger · int32[] · nullableOptional

Ids of products to return

IncludeValuesinteger · enumOptional

Defines which attribute values to return

  • 1 = All: Return all attribute values
  • 2 = Scopes: Return values for scopes specified in request
  • 3 = Aliases: Return values for attribute aliases specified in request
  • 4 = ScopesAndAliases: Return values for attributes in specified scopes, plus values in the attributes specified by alias
  • 5 = Uids: Return values for attribute uids specified in request
Possible values:
Scopesstring[] · nullableOptional

If IncludeValues is Scopes, define which scopes to return values for here

Aliasesstring[] · nullableOptional

If IncludeValues is Aliases, define aliases of the attributes to include values for

Uidsstring · uuid[] · nullableOptional

If IncludeValues is Uids, define uids of the attributes to include values for

LimitToCultureCodesstring[] · nullableOptional

Only return values for specific languages

LimitToSegmentsstring[] · nullableOptional

Only return values for specific dimension segments

GlobalListValueReferencesOnlybooleanOptional

Indicate if only uids of referenced to global list values shall be returned instead of the materialized values

FromTimestampstring · date-time · nullableOptional

Get attribute values back in time

Responses
chevron-right
200

OK

application/json

Attribute values for a product

ProductIdinteger · int32Optional

Id of product

post
/v1/products/batch/attributevalues
200

OK

Get category classifications for a product

get
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Responses
chevron-right
200

OK

application/json

Holds information on products placement in categories

CategoryIdinteger · int32Optional

Id of category the product is placed in

IsPrimarybooleanOptional

Indication whether this classification is the primary classification for the product

OwnerReferencestring · nullableOptional

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

SortOrderinteger · int32 · nullableOptional

Sort order of the product in this category

IsMasterCataloguebooleanOptional

Indication whether this classification is the master catalogue for the product

CatalogueUidstring · uuidOptional

The catalogue uid of the category the product is classified in

IsDynamicCategorybooleanOptional

Indication whether this classification is a dynamic category

get
/v1/products/{id}/classifications
200

OK

Update category classifications of a product

post
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Bodyobject[]

Model for adding or updating a classification of a product

CategoryIdinteger · int32Optional

Id of category the product is placed in

IsPrimarybooleanOptional

Indication whether this classification is the primary classification for the product

OwnerReferencestring · nullableOptional

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

SortOrderinteger · int32 · nullableOptional

Sort order of the product in this category

Responses
chevron-right
200

OK

No content

post
/v1/products/{id}/classifications

No content

Remove category classifications from a product

delete
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

No content

delete
/v1/products/{id}/classifications
200

OK

No content

Get category classifications for a batch of products

post
Authorizations
AuthorizationstringRequired
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json
post
/v1/products/batch/classifications
200

OK

Add category classifications to a batch of products

post
Authorizations
AuthorizationstringRequired
Body
Responses
chevron-right
200

OK

No content

post
/v1/products/classifications
200

OK

No content

Remove category classifications from a batch of products

delete
Authorizations
AuthorizationstringRequired
Bodyobject[]

Model for removing classifications for a product

ProductIdinteger · int32Optional

Id to remove classifications from

CategoryIdsinteger · int32[] · nullableOptional

Categories to remove product from

Responses
chevron-right
200

OK

No content

delete
/v1/products/classifications
200

OK

No content

Get ids of variants of a product

get
Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Query parameters
includeArchivedbooleanOptional

Return ids of archived variants as well

Default: false
Responses
chevron-right
200

OK

application/json
integer · int32[]Optional
get
/v1/products/{id}/variants
200

OK

Get ids of variants for a batch of products

post
Authorizations
AuthorizationstringRequired
Query parameters
includeArchivedbooleanOptional

Return ids of archived variants as well

Default: false
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json
Other propertiesinteger · int32[]Optional
post
/v1/products/batch/variants
200

OK

Get ids of variant groups associated to a product

get

#Available from v.3.11.0

Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Query parameters
includeArchivedbooleanOptional

Return ids of archived variant groups as well

Default: false
Responses
chevron-right
200

OK

application/json
integer · int32[]Optional
get
/v1/products/{id}/variantgroups
200

OK

Get ids of variant groups for a batch of products

post

#Available from v.3.11.0

Authorizations
AuthorizationstringRequired
Query parameters
includeArchivedbooleanOptional

Return ids of archived variant groups as well

Default: false
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json
Other propertiesinteger · int32[]Optional
post
/v1/products/batch/variantgroups
200

OK

Get references to a product

get

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

Responses
chevron-right
200

OK

application/json

Model holding references from other entities to a product

ProductIdinteger · int32Optional

Id of the referenced product

ReferencingGlobalListValuesstring · uuid[] · nullableOptional

List of global list values referencing this product

get
/v1/products/{id}/references
200

OK

Get references to a batch of products

post

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

Authorizations
AuthorizationstringRequired
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json

Model holding references from other entities to a product

ProductIdinteger · int32Optional

Id of the referenced product

ReferencingGlobalListValuesstring · uuid[] · nullableOptional

List of global list values referencing this product

post
/v1/products/batch/references
200

OK

Get ids of products matching certain criteria

post
Authorizations
AuthorizationstringRequired
Body

Search model used for searching products or variants in PIM

IncludeArchivedbooleanOptional

Include archived items in result

Responses
chevron-right
200

OK

application/json
integer · int32[]Optional
post
/v1/products/search
200

OK

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

post
Authorizations
AuthorizationstringRequired
Body

Extended search model used for searching products or variants in PIM with support for paging and sorting

Pageinteger · int32Optional
PageSizeinteger · int32 · nullableOptional
FieldUidsstring[] · nullableOptional
SortByFieldUidstring · nullableOptional
SortDescendingboolean · nullableOptional
IncludeArchivedbooleanOptional

Include archived items in result

Responses
chevron-right
200

OK

application/json
TotalHitsinteger · int32Optional
Pageinteger · int32Optional
PageSizeinteger · int32Optional
TotalPagesinteger · int32Optional
post
/v1/products/search/paged
200

OK

Get all available query fields in the PIM installation

get
Authorizations
AuthorizationstringRequired
Responses
chevron-right
200

OK

application/json

Representation of a queryable field in PIM

Uidstring · nullableOptional

Unique id of field in PIM

Namestring · nullableOptional

The display name of the field

SupportsSortingbooleanOptional

If true field can be used for sorting

get
/v1/products/queryablefields
200

OK

Get Enrichment Insights for a product

get

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product to get insights for

Responses
chevron-right
200

OK

application/json

Model representing an entity's enrichment insight

EnrichmentInsightSetupUidstring · uuidOptional

Uid of enrichment insight

EntityIdinteger · int32Optional

Id of entity

Completenessinteger · int32 · nullableOptional

Completeness in percentage (0 - 100). Is null, if ignored is true

IgnoredbooleanOptional

Indicates whether the completeness is ignored for this entity and this enrichment insight

get
/v1/products/{id}/enrichmentinsights
200

OK

Get Enrichment Insights for a batch of products

post

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json

Model representing an entity's enrichment insight

EnrichmentInsightSetupUidstring · uuidOptional

Uid of enrichment insight

EntityIdinteger · int32Optional

Id of entity

Completenessinteger · int32 · nullableOptional

Completeness in percentage (0 - 100). Is null, if ignored is true

IgnoredbooleanOptional

Indicates whether the completeness is ignored for this entity and this enrichment insight

post
/v1/products/batch/enrichmentinsights
200

OK

Get insights for a batch of products and a specific Enrichment Insight

post

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Path parameters
enrichmentInsightUidstringRequired
Query parameters
enrichmentInsightUidstring · uuidOptional

Uid of enrichment insight to get for batch of products

Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

application/json

Model representing an entity's enrichment insight

EnrichmentInsightSetupUidstring · uuidOptional

Uid of enrichment insight

EntityIdinteger · int32Optional

Id of entity

Completenessinteger · int32 · nullableOptional

Completeness in percentage (0 - 100). Is null, if ignored is true

IgnoredbooleanOptional

Indicates whether the completeness is ignored for this entity and this enrichment insight

post
/v1/products/batch/enrichmentinsights/{enrichmentInsightUid}
200

OK

Enable or disable an enrichment insight for a product

patch

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Path parameters
idinteger · int32Required

Id of product

enrichmentInsightSetupUidstring · uuidRequired

Uid of enrichment insight to toggle ignore for

ignorebooleanRequired

Indicate whether to ignore the insight for the given enrichment insight and products

Responses
chevron-right
200

OK

No content

patch
/v1/products/{id}/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore}
200

OK

No content

Enable or disable an enrichment insight for a batch of products

patch

#Available from v.3.5.0

Authorizations
AuthorizationstringRequired
Path parameters
enrichmentInsightSetupUidstringRequired
ignorestringRequired
Query parameters
enrichmentInsightSetupUidstring · uuidOptional

Uid of enrichment insight to toggle ignore for

ignorebooleanOptional

Indicate whether to ignore the insight for the given enrichment insight and products

Bodyinteger · int32[]
integer · int32[]Optional
Responses
chevron-right
200

OK

No content

patch
/v1/products/batch/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore}
200

OK

No content

Last updated