Struct Docs
Struct.PIM 4
Struct.PIM 4
  • Struct PIM Documentation
  • API Reference
  • Latest updates from Struct HQ
  • Latest updates in Documentation
  • Fundamental concepts
    • Get familiar with Struct PIM
    • Catalogues & categories
    • Products & variants
    • Attributes
    • Product structures
    • Identifiers
    • Global lists
    • Localization & segmentation
    • Revisions & changelog
    • Publications
    • Supplier onboarding portal
  • Tutorials
    • Helpful guides
      • How to search efficiently
      • How to use Import
        • How to import products
        • How to import data into a list property on entities
        • How to import categories
        • How to import with media
        • How to use File templates
    • Example projects
      • Working with the API
  • Integration
    • Integrate with Struct PIM
    • Web API
    • Webhooks
  • Media format
  • API Reference
    • Introduction
    • Endpoints
      • AssetFolders
      • Assets
      • AssetTypes
      • AttributeGroups
      • Attributes
      • AttributeScopes
      • Browse
      • BusinessUnits
      • Catalogues
      • Categories
      • Dimensions
      • Exports
      • EnrichmentInsightSetups
      • GlobalLists
      • Languages
      • Maintenance
      • Miscellaneous
      • Messaging
      • Permissions
      • Products
      • ProductStructures
      • Publications
      • Transactions
      • UserGroup
      • UserRoles
      • Users
      • VariantGroups
      • UserTasks
      • Variants
      • Webhooks
      • Workflows
      • Models
Powered by GitBook
On this page
  1. API Reference
  2. Endpoints

Products

PreviousPermissionsNextProductStructures

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
Query parameters
includeArchivedbooleanOptional

Include archived products

Default: false
Responses
200
OK
Responseinteger · int32[]
get
GET /v1/products/ids HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  1
]

Get basic model for a product

get
Authorizations
Path parameters
idinteger · int32Required

Id of product to return

Responses
200
OK
get
GET /v1/products/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Id": 1,
  "Name": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "Created": "2025-05-09T10:35:03.549Z",
  "CreatedBy": "text",
  "LastModified": "2025-05-09T10:35:03.549Z",
  "LastModifiedBy": "text",
  "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsArchived": true,
  "ArchiveReason": "123e4567-e89b-12d3-a456-426614174000",
  "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
  "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
  "BusinessUnits": [
    {
      "AccessPolicy": "text",
      "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "Classifications": [
    {
      "CategoryId": 1,
      "IsPrimary": true,
      "OwnerReference": "text",
      "SortOrder": 1,
      "IsMasterCatalogue": true,
      "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
      "IsDynamicCategory": true
    }
  ]
}

Delete a product

delete
Authorizations
Path parameters
idinteger · int32Required

Id of product to delete

Responses
200
OK
delete
DELETE /v1/products/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

No content

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
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
200
OK
get
GET /v1/products HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Products": [
    {
      "Id": 1,
      "Name": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "Created": "2025-05-09T10:35:03.549Z",
      "CreatedBy": "text",
      "LastModified": "2025-05-09T10:35:03.549Z",
      "LastModifiedBy": "text",
      "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
      "IsArchived": true,
      "ArchiveReason": "123e4567-e89b-12d3-a456-426614174000",
      "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
      "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
      "BusinessUnits": [
        {
          "AccessPolicy": "text",
          "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
        }
      ],
      "Classifications": [
        {
          "CategoryId": 1,
          "IsPrimary": true,
          "OwnerReference": "text",
          "SortOrder": 1,
          "IsMasterCatalogue": true,
          "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
          "IsDynamicCategory": true
        }
      ]
    }
  ],
  "Total": 1,
  "Remaining": 1,
  "LastId": 1
}

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

get
Authorizations
Path parameters
identifierAliasstringRequired

Alias of identifier type

Responses
200
OK
get
GET /v1/products/identifiers/{identifierAlias} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": 1
}

Get the internal id of a product based on its identifier

get
Authorizations
Path parameters
identifierAliasstringRequired

Alias of identifier type

identifierstringRequired

Identifier value

Responses
200
OK
Responseinteger · int32
get
GET /v1/products/identifiers/{identifierAlias}/{identifier} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

1

Get attribute values for a product

get
Authorizations
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
200
OK
get
GET /v1/products/{id}/attributevalues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "ProductId": 1,
  "Values": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Get category classifications for a product

get
Authorizations
Path parameters
idinteger · int32Required

Id of product

Responses
200
OK
get
GET /v1/products/{id}/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "CategoryId": 1,
    "IsPrimary": true,
    "OwnerReference": "text",
    "SortOrder": 1,
    "IsMasterCatalogue": true,
    "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
    "IsDynamicCategory": true
  }
]

Get ids of variants of a product

get
Authorizations
Path parameters
idinteger · int32Required

Id of product

Query parameters
includeArchivedbooleanOptional

Return ids of archived variants as well

Default: false
Responses
200
OK
Responseinteger · int32[]
get
GET /v1/products/{id}/variants HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  1
]

Get ids of variant groups associated to a product

get

#Available from v.3.11.0

Authorizations
Path parameters
idinteger · int32Required

Id of product

Query parameters
includeArchivedbooleanOptional

Return ids of archived variant groups as well

Default: false
Responses
200
OK
Responseinteger · int32[]
get
GET /v1/products/{id}/variantgroups HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  1
]

Get references to a product

get

#Available from v.3.5.0

Authorizations
Path parameters
idinteger · int32Required

Id of product

Responses
200
OK
get
GET /v1/products/{id}/references HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "ProductId": 1,
  "ReferencingCategories": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingProducts": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingVariantGroups": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingVariants": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingAssets": [
    {
      "EntityId": 1,
      "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "ReferencingGlobalListValues": [
    "123e4567-e89b-12d3-a456-426614174000"
  ]
}

Get all available query fields in the PIM installation

get
Authorizations
Responses
200
OK
get
GET /v1/products/queryablefields HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "Uid": "text",
    "Name": "text",
    "SupportsSorting": true
  }
]

Get Enrichment Insights for a product

get

#Available from v.3.5.0

Authorizations
Path parameters
idinteger · int32Required

Id of product to get insights for

Responses
200
OK
get
GET /v1/products/{id}/enrichmentinsights HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "EnrichmentInsightSetupUid": "123e4567-e89b-12d3-a456-426614174000",
    "EntityId": 1,
    "Completeness": 1,
    "MissingData": [
      {
        "Type": "text",
        "DataReference": "text"
      }
    ],
    "Ignored": true
  }
]

Enable or disable an enrichment insight for a product

patch

#Available from v.3.5.0

Authorizations
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
200
OK
patch
PATCH /v1/products/{id}/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

No content

  • GETGet ids of all products in the system
  • GETGet basic model for a product
  • DELETEDelete a product
  • PATCHUpdate a product
  • POSTGet basic model for a range of products
  • GETGet basic models for products
  • POSTCreate new products
  • DELETEDelete multiple products
  • PATCHUpdate multiple products
  • GETGet all identifiers and their internal ids for a specific identifier type
  • GETGet the internal id of a product based on its identifier
  • POSTGet internal ids of multiple products from their identifier
  • GETGet attribute values for a product
  • POSTGet attribute values for multiple products
  • GETGet category classifications for a product
  • POSTUpdate category classifications of a product
  • DELETERemove category classifications from a product
  • POSTGet category classifications for a batch of products
  • POSTAdd category classifications to a batch of products
  • DELETERemove category classifications from a batch of products
  • GETGet ids of variants of a product
  • POSTGet ids of variants for a batch of products
  • GETGet ids of variant groups associated to a product
  • POSTGet ids of variant groups for a batch of products
  • GETGet references to a product
  • POSTGet references to a batch of products
  • POSTGet ids of products matching certain criteria
  • POSTGet paged result of products matching certain criteria. Result mapped with headers and item results
  • GETGet all available query fields in the PIM installation
  • GETGet Enrichment Insights for a product
  • POSTGet Enrichment Insights for a batch of products
  • POSTGet insights for a batch of products and a specific Enrichment Insight
  • PATCHEnable or disable an enrichment insight for a product
  • PATCHEnable or disable an enrichment insight for a batch of products

Update a product

patch
Authorizations
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
200
OK
patch
PATCH /v1/products/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 576

{
  "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
  "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
  "IsArchived": true,
  "ArchiveReason": "123e4567-e89b-12d3-a456-426614174000",
  "ClassificationsUpdate": {
    "Classifications": [
      {
        "CategoryId": 1,
        "IsPrimary": true,
        "OwnerReference": "text",
        "SortOrder": 1
      }
    ],
    "UpdateMethod": 0,
    "RemoveWhereOwnerReferenceIs": "text"
  },
  "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
  "BusinessUnits": [
    {
      "AccessPolicy": "text",
      "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "Values": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
200

OK

No content

Get basic model for a range of products

post
Authorizations
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

[
  {
    "Id": 1,
    "Name": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "Created": "2025-05-09T10:35:03.549Z",
    "CreatedBy": "text",
    "LastModified": "2025-05-09T10:35:03.549Z",
    "LastModifiedBy": "text",
    "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
    "IsArchived": true,
    "ArchiveReason": "123e4567-e89b-12d3-a456-426614174000",
    "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
    "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
    "BusinessUnits": [
      {
        "AccessPolicy": "text",
        "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "Classifications": [
      {
        "CategoryId": 1,
        "IsPrimary": true,
        "OwnerReference": "text",
        "SortOrder": 1,
        "IsMasterCatalogue": true,
        "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
        "IsDynamicCategory": true
      }
    ]
  }
]

Create new products

post

A maximum of 5000 products can be created in one request

Authorizations
Body

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
200
OK
Responseinteger · int32[]
post
POST /v1/products HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 425

[
  {
    "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
    "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
    "Classifications": [
      {
        "CategoryId": 1,
        "IsPrimary": true,
        "OwnerReference": "text",
        "SortOrder": 1
      }
    ],
    "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
    "BusinessUnits": [
      {
        "AccessPolicy": "text",
        "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "Values": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }
]
200

OK

[
  1
]

Delete multiple products

delete
Authorizations
Body
integer · int32[]Optional
Responses
200
OK
delete
DELETE /v1/products HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

No content

Update multiple products

patch
Authorizations
Body

Update model for a product

ProductIdinteger · int32Optional

Id of product to update

Responses
200
OK
patch
PATCH /v1/products HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 608

[
  {
    "ProductId": 1,
    "UpdateModel": {
      "ProductStructureUid": "123e4567-e89b-12d3-a456-426614174000",
      "VariationDefinitionUid": "123e4567-e89b-12d3-a456-426614174000",
      "IsArchived": true,
      "ArchiveReason": "123e4567-e89b-12d3-a456-426614174000",
      "ClassificationsUpdate": {
        "Classifications": [
          {
            "CategoryId": 1,
            "IsPrimary": true,
            "OwnerReference": "text",
            "SortOrder": 1
          }
        ],
        "UpdateMethod": 0,
        "RemoveWhereOwnerReferenceIs": "text"
      },
      "WorkflowStateUid": "123e4567-e89b-12d3-a456-426614174000",
      "BusinessUnits": [
        {
          "AccessPolicy": "text",
          "BusinessUnitUid": "123e4567-e89b-12d3-a456-426614174000"
        }
      ],
      "Values": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
]
200

OK

No content

Get internal ids of multiple products from their identifier

post
Authorizations
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
200
OK
post
POST /v1/products/batch/identifiers HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 49

{
  "IdentifierAlias": "text",
  "Identifiers": [
    "text"
  ]
}
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": 1
}

Get attribute values for multiple products

post

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

Authorizations
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

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
200
OK
post
POST /v1/products/batch/attributevalues HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 259

{
  "ProductIds": [
    1
  ],
  "IncludeValues": 1,
  "Scopes": [
    "text"
  ],
  "Aliases": [
    "text"
  ],
  "Uids": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "LimitToCultureCodes": [
    "text"
  ],
  "LimitToSegments": [
    "text"
  ],
  "GlobalListValueReferencesOnly": true,
  "FromTimestamp": "2025-05-09T10:35:03.549Z"
}
200

OK

[
  {
    "ProductId": 1,
    "Values": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }
]

Update category classifications of a product

post
Authorizations
Path parameters
idinteger · int32Required

Id of product

Body

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
200
OK
400
Bad Request
post
POST /v1/products/{id}/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 73

[
  {
    "CategoryId": 1,
    "IsPrimary": true,
    "OwnerReference": "text",
    "SortOrder": 1
  }
]

No content

Remove category classifications from a product

delete
Authorizations
Path parameters
idinteger · int32Required

Id of product

Body
integer · int32[]Optional
Responses
200
OK
delete
DELETE /v1/products/{id}/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

No content

Get category classifications for a batch of products

post
Authorizations
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": [
    {
      "CategoryId": 1,
      "IsPrimary": true,
      "OwnerReference": "text",
      "SortOrder": 1,
      "IsMasterCatalogue": true,
      "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
      "IsDynamicCategory": true
    }
  ]
}

Add category classifications to a batch of products

post
Authorizations
Body
Responses
200
OK
post
POST /v1/products/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 101

{
  "ANY_ADDITIONAL_PROPERTY": [
    {
      "CategoryId": 1,
      "IsPrimary": true,
      "OwnerReference": "text",
      "SortOrder": 1
    }
  ]
}
200

OK

No content

Remove category classifications from a batch of products

delete
Authorizations
Body

Model for removing classifications for a product

ProductIdinteger · int32Optional

Id to remove classifications from

CategoryIdsinteger · int32[] | nullableOptional

Categories to remove product from

Responses
200
OK
delete
DELETE /v1/products/classifications HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 35

[
  {
    "ProductId": 1,
    "CategoryIds": [
      1
    ]
  }
]
200

OK

No content

Get ids of variants for a batch of products

post
Authorizations
Query parameters
includeArchivedbooleanOptional

Return ids of archived variants as well

Default: false
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/variants HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": [
    1
  ]
}

Get ids of variant groups for a batch of products

post

#Available from v.3.11.0

Authorizations
Query parameters
includeArchivedbooleanOptional

Return ids of archived variant groups as well

Default: false
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/variantgroups HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

{
  "ANY_ADDITIONAL_PROPERTY": [
    1
  ]
}

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
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/references HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

[
  {
    "ProductId": 1,
    "ReferencingCategories": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingProducts": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingVariantGroups": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingVariants": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingAssets": [
      {
        "EntityId": 1,
        "AttributeUid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "ReferencingGlobalListValues": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  }
]

Get ids of products matching certain criteria

post
Authorizations
Body

Search model used for searching products or variants in PIM

IncludeArchivedbooleanOptional

Include archived items in result

Responses
200
OK
Responseinteger · int32[]
post
POST /v1/products/search HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 59

{
  "IncludeArchived": true,
  "QueryModel": {
    "BooleanOperator": 0
  }
}
200

OK

[
  1
]

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

post
Authorizations
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
200
OK
post
POST /v1/products/search/paged HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 148

{
  "Page": 1,
  "PageSize": 1,
  "FieldUids": [
    "text"
  ],
  "SortByFieldUid": "text",
  "SortDescending": true,
  "IncludeArchived": true,
  "QueryModel": {
    "BooleanOperator": 0
  }
}
200

OK

{
  "TotalHits": 1,
  "Page": 1,
  "PageSize": 1,
  "TotalPages": 1,
  "ItemListHeaders": [
    {
      "FieldUid": "text",
      "FieldName": "text",
      "FieldType": "text",
      "SupportsSearching": true,
      "SupportsSorting": true
    }
  ],
  "ListItems": [
    {
      "Id": 1,
      "ShownValues": [
        "text"
      ]
    }
  ]
}

Get Enrichment Insights for a batch of products

post

#Available from v.3.5.0

Authorizations
Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/enrichmentinsights HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

[
  {
    "EnrichmentInsightSetupUid": "123e4567-e89b-12d3-a456-426614174000",
    "EntityId": 1,
    "Completeness": 1,
    "MissingData": [
      {
        "Type": "text",
        "DataReference": "text"
      }
    ],
    "Ignored": true
  }
]

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

post

#Available from v.3.5.0

Authorizations
Path parameters
enrichmentInsightUidstringRequired
Query parameters
enrichmentInsightUidstring · uuidOptional

Uid of enrichment insight to get for batch of products

Body
integer · int32[]Optional
Responses
200
OK
post
POST /v1/products/batch/enrichmentinsights/{enrichmentInsightUid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

[
  {
    "EnrichmentInsightSetupUid": "123e4567-e89b-12d3-a456-426614174000",
    "EntityId": 1,
    "Completeness": 1,
    "MissingData": [
      {
        "Type": "text",
        "DataReference": "text"
      }
    ],
    "Ignored": true
  }
]

Enable or disable an enrichment insight for a batch of products

patch

#Available from v.3.5.0

Authorizations
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

Body
integer · int32[]Optional
Responses
200
OK
patch
PATCH /v1/products/batch/enrichmentinsights/{enrichmentInsightSetupUid}/{ignore} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 3

[
  1
]
200

OK

No content